annotate PerfsDb/Tests/UploadFile.py @ 161:27b3b0df5f90

2 upload tests
author am@osimis.io
date Fri, 17 Aug 2018 17:24:11 +0200
parents df1f9946571c
children dbc42a03ee75
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
156
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
1 from Test import Test
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
2
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
3 class TestUploadFirstPatientFile(Test):
156
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
4
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
5 def __init__(self, name:str = "UploadFirstPatientFile", filePath:str = "../Database/DummyCT.dcm"):
156
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
6 super().__init__(name)
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
7 self._instanceId = None
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
8 self._filePath = filePath
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
9 self._dicomFileContent = None
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
10
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents: 156
diff changeset
11 def beforeAll(self):
156
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
12 # get the instance Id and dicom file content
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
13 if self._instanceId is None:
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
14 self._instanceId = self._orthanc.uploadDicomFile(self._filePath)
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
15 self._dicomFileContent = self._orthanc.instances.getDicom(self._instanceId)
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
16
158
df1f9946571c perfs db continued: tests working with tiny DBs on all setup but the sqliteplugin
am@osimis.io
parents: 156
diff changeset
17 def beforeEach(self):
156
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
18 # make sure the file is not in Orthanc before the upload
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
19 self._orthanc.instances.delete(self._instanceId)
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
20
f1a75985caa8 first Db test framework - work in progress
am@osimis.io
parents:
diff changeset
21 def test(self):
161
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
22 self._orthanc.uploadDicom(self._dicomFileContent)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
23
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
24
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
25 class TestUploadNextPatientFile(Test):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
26
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
27 def __init__(self, name:str = "UploadNextPatientFile", filePath:str = "../Database/DummyCT.dcm"):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
28 super().__init__(name)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
29 self._instanceId = None
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
30 self._filePath = filePath
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
31 self._dicomFileContent = None
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
32 self._instanceIndex = 0
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
33
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
34 def beforeAll(self):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
35 self._clear()
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
36
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
37 # upload a source file that we will modify
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
38 self._sourceInstanceId = self._orthanc.uploadDicomFile(self._filePath)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
39
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
40 # upload the first instance of this patient
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
41 self._dicomFileContent = self._modifyFile()
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
42 self._orthanc.uploadDicom(self._dicomFileContent)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
43
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
44
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
45
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
46 def beforeEach(self):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
47 self._dicomFileContent = self._modifyFile()
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
48
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
49 def test(self):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
50 self._orthanc.uploadDicom(self._dicomFileContent)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
51
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
52 def afterAll(self):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
53 self._clear()
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
54
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
55 def _clear(self):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
56 patient = self._orthanc.patients.find("UploadNextPatientFile")
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
57 if patient is not None:
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
58 self._orthanc.patients.delete(patient.id)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
59
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
60 def _modifyFile(self):
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
61 self._instanceIndex += 1
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
62 return self._orthanc.instances.modify(
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
63 instanceId=self._sourceInstanceId,
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
64 replaceTags={
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
65 "PatientName": "UploadNextPatientFile",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
66 "PatientID": "UploadNextPatientFile",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
67 "StudyDescription": "UploadNextPatientFile",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
68 "SeriesDescription": "UploadNextPatientFile",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
69 "SOPInstanceUID": "999999.888888.777777.666666.555555.44444",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
70 "StudyInstanceUID": "999999.888888.777777.666666",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
71 "SeriesInstanceUID": "999999.888888.777777.666666.555555",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
72 "SeriesNumber": "1",
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
73 "InstanceNumber": str(self._instanceIndex)
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
74 },
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
75 deleteOriginal=False
27b3b0df5f90 2 upload tests
am@osimis.io
parents: 158
diff changeset
76 )