Mercurial > hg > orthanc-tests
comparison Tests/Tests.py @ 399:dd519677974d
integration tests for issue #195
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 06 May 2021 16:53:08 +0200 |
parents | eb87ec525b53 |
children | cc947ddc57c5 |
comparison
equal
deleted
inserted
replaced
398:9528e2a03d3c | 399:dd519677974d |
---|---|
6932 | 6932 |
6933 else: | 6933 else: |
6934 raise Exception('Internal error') | 6934 raise Exception('Internal error') |
6935 | 6935 |
6936 self.assertEqual('hello2', DoGet(_REMOTE, '/instances/%s/attachments/1024/data' % i)) | 6936 self.assertEqual('hello2', DoGet(_REMOTE, '/instances/%s/attachments/1024/data' % i)) |
6937 | |
6938 | |
6939 def test_issue_195(self): | |
6940 # This fails on Orthanc <= 1.9.2 | |
6941 # https://bugs.orthanc-server.com/show_bug.cgi?id=195 | |
6942 a = UploadInstance(_REMOTE, 'Issue195.dcm')['ID'] | |
6943 b = DoGet(_REMOTE, '/instances/%s/file' % a, | |
6944 headers = { 'Accept' : 'application/dicom+json' }) | |
6945 | |
6946 # The expected result can be found by typing "dcm2json Database/Issue195.dcm" | |
6947 self.assertEqual(5, len(b)) | |
6948 self.assertEqual(2, len(b["00080018"])) | |
6949 self.assertEqual("UI", b["00080018"]["vr"]) | |
6950 self.assertEqual("1.2.276.0.7230010.3.1.4.8323329.13188.1620309604.848735", | |
6951 b["00080018"]["Value"][0]) | |
6952 | |
6953 self.assertEqual(2, len(b["0020000D"])) | |
6954 self.assertEqual("UI", b["0020000D"]["vr"]) | |
6955 self.assertEqual("1.2.276.0.7230010.3.1.2.8323329.13188.1620309604.848733", | |
6956 b["0020000D"]["Value"][0]) | |
6957 | |
6958 self.assertEqual(2, len(b["0020000E"])) | |
6959 self.assertEqual("UI", b["0020000E"]["vr"]) | |
6960 self.assertEqual("1.2.276.0.7230010.3.1.3.8323329.13188.1620309604.848734", | |
6961 b["0020000E"]["Value"][0]) | |
6962 | |
6963 self.assertEqual(1, len(b["00081030"])) # Case of an empty value | |
6964 self.assertEqual("LO", b["00081030"]["vr"]) | |
6965 | |
6966 self.assertEqual(2, len(b["0008103E"])) | |
6967 self.assertEqual("LO", b["0008103E"]["vr"]) | |
6968 self.assertEqual("Hello1", b["0008103E"]["Value"][0]) | |
6969 | |
6970 a = UploadInstance(_REMOTE, 'Issue195-bis.dcm')['ID'] | |
6971 b = DoGet(_REMOTE, '/instances/%s/file' % a, | |
6972 headers = { 'Accept' : 'application/dicom+json' }) | |
6973 | |
6974 # The expected result can be found by typing "dcm2json Database/Issue195-bis.dcm" | |
6975 self.assertEqual(5, len(b)) | |
6976 self.assertEqual(2, len(b["00080018"])) | |
6977 self.assertEqual("UI", b["00080018"]["vr"]) | |
6978 self.assertEqual("1.2.276.0.7230010.3.1.4.8323329.23653.1620311964.865420", | |
6979 b["00080018"]["Value"][0]) | |
6980 | |
6981 self.assertEqual(2, len(b["0020000D"])) | |
6982 self.assertEqual("UI", b["0020000D"]["vr"]) | |
6983 self.assertEqual("1.2.276.0.7230010.3.1.2.8323329.23653.1620311964.865418", | |
6984 b["0020000D"]["Value"][0]) | |
6985 | |
6986 self.assertEqual(2, len(b["0020000E"])) | |
6987 self.assertEqual("UI", b["0020000E"]["vr"]) | |
6988 self.assertEqual("1.2.276.0.7230010.3.1.3.8323329.23653.1620311964.865419", | |
6989 b["0020000E"]["Value"][0]) | |
6990 | |
6991 self.assertEqual(2, len(b["0008103E"])) | |
6992 self.assertEqual("UN", b["0008103E"]["vr"]) | |
6993 | |
6994 # NB: "QgA=" corresponds to the base64 encoding of (uint16_t) 0x42 in little endian: | |
6995 # $ echo -n 'QgA=' | base64 -d | hexdump -C | |
6996 self.assertEqual("QgA=", b["0008103E"]["InlineBinary"]) | |
6997 | |
6998 # Case of an empty value, fails in Orthanc <= 1.9.2 because of issue #195 | |
6999 self.assertEqual(1, len(b["00081030"])) | |
7000 self.assertEqual("UN", b["00081030"]["vr"]) |