Skip to content

Commit b1f50fb

Browse files
author
Adam Soos
committed
WS-3151: unit tests
1 parent c9c0133 commit b1f50fb

3 files changed

Lines changed: 66 additions & 3 deletions

File tree

examples/record_similarity.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ def run(key, alt_url='https://api.rosette.com/rest/v1/'):
3434
}
3535
}
3636
properties = {
37-
"threshold": 0.1,
38-
"includeExplainInfo": False
37+
"threshold": 0.7,
38+
"includeExplainInfo": True
3939
}
4040
records = {
4141
"left": [

rosette/api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@ def validate(self):
344344
"Required Name De-Duplication parameter is missing: names",
345345
repr("names"))
346346

347+
347348
class RecordSimilarityParameters(_RequestParametersBase):
348349
"""Parameter object for C{record-similarity} endpoint.
349350
Required:
@@ -362,7 +363,7 @@ def validate(self):
362363
if self[option] is None:
363364
raise RosetteException(
364365
"missingParameter",
365-
"Required Name Similarity parameter is missing: " + option,
366+
"Required Record Similarity parameter is missing: " + option,
366367
repr(option))
367368

368369

tests/test_rosette_api.py

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
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

Comments
 (0)