Skip to content

Commit 58966d7

Browse files
committed
OpenConceptLab/ocl_issues#1867 | using ocldev 0.2.1 | added tests for encoded concept/mapping code checksum
1 parent b2e4c61 commit 58966d7

2 files changed

Lines changed: 28 additions & 2 deletions

File tree

core/common/tests.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
get_resource_class_from_resource_name, flatten_dict, is_csv_file, is_url_encoded_string, to_parent_uri_from_kwargs,
2828
set_current_user, get_current_user, set_request_url, get_request_url, nested_dict_values, chunks, api_get,
2929
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)
3131
from core.concepts.models import Concept
3232
from core.orgs.models import Organization
3333
from core.sources.models import Source
@@ -39,7 +39,10 @@
3939
from .serializers import IdentifierSerializer
4040
from .validators import URIValidator
4141
from ..code_systems.serializers import CodeSystemDetailSerializer
42+
from ..concepts.serializers import ConceptDetailSerializer
4243
from ..concepts.tests.factories import ConceptFactory, ConceptNameFactory
44+
from ..mappings.serializers import MappingDetailSerializer
45+
from ..mappings.tests.factories import MappingFactory
4346
from ..sources.tests.factories import OrganizationSourceFactory
4447

4548

@@ -1239,6 +1242,29 @@ def test_generate(self):
12391242
self.assertNotEqual(
12401243
Checksum.generate({'a': {'b': [1, 2, 3], 'c': 'd'}}), Checksum.generate({'a': {'c': [1, 2, 3], 'b': 'd'}}))
12411244

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+
12421268

12431269
class ChecksumViewTest(OCLAPITestCase):
12441270
def setUp(self):

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ kombu==5.3.1
2323
django-elasticsearch-dsl==7.3
2424
drf-yasg==1.21.5
2525
git+https://github.com/snyaggarwal/django-queryset-csv
26-
ocldev==0.2.0
26+
ocldev==0.2.1
2727
coverage==7.3.0
2828
tblib==2.0.0
2929
django-ordered-model==3.7.4

0 commit comments

Comments
 (0)