# HG changeset patch # User Sebastien Jodogne # Date 1531398423 -7200 # Node ID 5de178abe4d8cc1ebbc7b6670215f330c50a25e6 # Parent f52fe6eecb47de7231991ddb5b268bccba881954 test_bitbucket_issue_94 diff -r f52fe6eecb47 -r 5de178abe4d8 Database/Issue94.dcm Binary file Database/Issue94.dcm has changed diff -r f52fe6eecb47 -r 5de178abe4d8 Tests/Tests.py --- a/Tests/Tests.py Fri Jun 29 18:04:43 2018 +0200 +++ b/Tests/Tests.py Thu Jul 12 14:27:03 2018 +0200 @@ -3688,3 +3688,28 @@ content1 = DoGet(_REMOTE, '/instances/%s/tags?simplify' % sr1) ['ContentSequence'] content2 = DoGet(_REMOTE, '/instances/%s/tags?simplify' % sr2) ['ContentSequence'] self.assertEqual(str(content1), str(content2)) + + + def test_bitbucket_issue_94(self): + # "a simple instance modification should not modify FrameOfReferenceUID + ..." + # https://bitbucket.org/sjodogne/orthanc/issues/94 + i = UploadInstance(_REMOTE, 'Issue94.dcm')['ID'] + + source = DoGet(_REMOTE, '/instances/%s/attachments/dicom/data' % i) + + modified = DoPost(_REMOTE, '/instances/%s/modify' % i, + { "Replace" : {"PatientID" : "toto"}, "Force": True}) + + anonymized = DoPost(_REMOTE, '/instances/%s/anonymize' % i) + + a = ExtractDicomTags(source, [ 'FrameOfReferenceUID' ]) + self.assertEqual(1, len(a)) + + b = ExtractDicomTags(modified, [ 'FrameOfReferenceUID' ]) + self.assertEqual(1, len(b)) + + c = ExtractDicomTags(anonymized, [ 'FrameOfReferenceUID' ]) + self.assertEqual(1, len(c)) + + self.assertEqual(a, b) # Modified DICOM + self.assertNotEqual(a, c) # Anonymized DICOM