2929 NameTranslationParameters ,
3030 NameSimilarityParameters ,
3131 NameDeduplicationParameters ,
32+ RecordSimilarityParameters ,
3233 RosetteException )
3334
3435_ISPY3 = sys .version_info [0 ] == 3
@@ -484,6 +485,10 @@ def test_the_name_requests_with_text(api, json_response):
484485 result = api .address_similarity ("should fail" )
485486 assert e_rosette .value .status == 'incompatible'
486487
488+ with pytest .raises (RosetteException ) as e_rosette :
489+ result = api .record_similarity ("should fail" )
490+ assert e_rosette .value .status == 'incompatible'
491+
487492 httpretty .disable ()
488493 httpretty .reset ()
489494
@@ -958,4 +963,61 @@ def test_the_events_endpoint(api, json_response, doc_params):
958963 result = api .events (doc_params )
959964 assert result ["name" ] == "Rosette"
960965 httpretty .disable ()
966+ httpretty .reset ()
967+
968+ # Test the record similarity endpoint
969+
970+
971+ def test_the_record_similarity_endpoint (api , json_response ):
972+ """Test the record similarity endpoint"""
973+ httpretty .enable ()
974+ httpretty .register_uri (httpretty .POST , "https://api.rosette.com/rest/v1/record-similarity" ,
975+ body = json_response , status = 200 , content_type = "application/json" )
976+
977+ params = RecordSimilarityParameters ()
978+ params ["fields" ] = {}
979+ params ["properties" ] = {}
980+ params ["records" ] = []
981+ result = api .record_similarity (params )
982+ assert result ["name" ] == "Rosette"
983+ httpretty .disable ()
984+ httpretty .reset ()
985+
986+
987+ # Tests for required record-similarities parameters
988+ def test_for_record_similarity_required_parameters (api , json_response ):
989+ """Test record similarity parameters"""
990+ httpretty .enable ()
991+ httpretty .register_uri (httpretty .POST , "https://api.rosette.com/rest/v1/record-similarity" ,
992+ body = json_response , status = 200 , content_type = "application/json" )
993+
994+ params = RecordSimilarityParameters ()
995+
996+ with pytest .raises (RosetteException ) as e_rosette :
997+ api .record_similarity (params )
998+
999+ assert e_rosette .value .status == 'missingParameter'
1000+ assert e_rosette .value .message == 'Required Record Similarity parameter is missing: fields'
1001+
1002+ params ["fields" ] = {}
1003+
1004+ with pytest .raises (RosetteException ) as e_rosette :
1005+ api .record_similarity (params )
1006+
1007+ assert e_rosette .value .status == 'missingParameter'
1008+ assert e_rosette .value .message == 'Required Record Similarity parameter is missing: properties'
1009+
1010+ params ["properties" ] = {}
1011+
1012+ with pytest .raises (RosetteException ) as e_rosette :
1013+ api .record_similarity (params )
1014+
1015+ assert e_rosette .value .status == 'missingParameter'
1016+ assert e_rosette .value .message == 'Required Record Similarity parameter is missing: records'
1017+
1018+ params ["records" ] = []
1019+
1020+ result = api .record_similarity (params )
1021+ assert result ["name" ] == "Rosette"
1022+ httpretty .disable ()
9611023 httpretty .reset ()
0 commit comments