|
27 | 27 | get_resource_class_from_resource_name, flatten_dict, is_csv_file, is_url_encoded_string, to_parent_uri_from_kwargs, |
28 | 28 | set_current_user, get_current_user, set_request_url, get_request_url, nested_dict_values, chunks, api_get, |
29 | 29 | split_list_by_condition, is_zip_file, get_date_range_label, get_prev_month, from_string_to_date, get_end_of_month, |
30 | | - get_start_of_month, es_id_in, web_url, get_queue_task_names, get_resource_class_from_resource_uri) |
| 30 | + get_start_of_month, es_id_in, web_url, get_queue_task_names, get_resource_class_from_resource_uri, encode_string) |
31 | 31 | from core.concepts.models import Concept |
32 | 32 | from core.orgs.models import Organization |
33 | 33 | from core.sources.models import Source |
|
39 | 39 | from .serializers import IdentifierSerializer |
40 | 40 | from .validators import URIValidator |
41 | 41 | from ..code_systems.serializers import CodeSystemDetailSerializer |
| 42 | +from ..concepts.serializers import ConceptDetailSerializer |
42 | 43 | from ..concepts.tests.factories import ConceptFactory, ConceptNameFactory |
| 44 | +from ..mappings.serializers import MappingDetailSerializer |
| 45 | +from ..mappings.tests.factories import MappingFactory |
43 | 46 | from ..sources.tests.factories import OrganizationSourceFactory |
44 | 47 |
|
45 | 48 |
|
@@ -1239,6 +1242,29 @@ def test_generate(self): |
1239 | 1242 | self.assertNotEqual( |
1240 | 1243 | Checksum.generate({'a': {'b': [1, 2, 3], 'c': 'd'}}), Checksum.generate({'a': {'c': [1, 2, 3], 'b': 'd'}})) |
1241 | 1244 |
|
| 1245 | + concept1 = ConceptFactory(mnemonic=encode_string('Foo/bar', safe=' ')) |
| 1246 | + |
| 1247 | + from ocldev.checksum import Checksum as ChecksumBase |
| 1248 | + self.assertEqual( |
| 1249 | + ChecksumBase('concept', ConceptDetailSerializer(concept1).data, 'standard').generate(), |
| 1250 | + concept1.checksums['standard'] |
| 1251 | + ) |
| 1252 | + concept2 = ConceptFactory(mnemonic=encode_string('bar/bar', safe=' ')) |
| 1253 | + mapping1 = MappingFactory( |
| 1254 | + from_concept=concept1, to_concept=concept2, |
| 1255 | + from_concept_code=concept1.mnemonic, to_concept_code=concept2.mnemonic |
| 1256 | + ) |
| 1257 | + |
| 1258 | + mapping_data = MappingDetailSerializer(mapping1).data |
| 1259 | + self.assertEqual( |
| 1260 | + ChecksumBase('mapping', mapping_data, 'standard').generate(), |
| 1261 | + mapping1.checksums['standard'] |
| 1262 | + ) |
| 1263 | + self.assertEqual( |
| 1264 | + ChecksumBase('mapping', mapping_data, 'special').generate(), |
| 1265 | + mapping1.checksums['special'] |
| 1266 | + ) |
| 1267 | + |
1242 | 1268 |
|
1243 | 1269 | class ChecksumViewTest(OCLAPITestCase): |
1244 | 1270 | def setUp(self): |
|
0 commit comments