def test_RequireThat_WorklistRequest_ReturnsLongStrings_WhenSet(self): self._server._worklist_config_provider.reset() self._server._worklist_values["rateOfCleanExams"] = 0 self._server._worklist_values["delayEnabled"] = False self._server._worklist_values["oversizedStringsEnabled"] = True self._server._worklist_values["emptyStringsEnabled"] = False self._server._worklist_values["noneStringsEnabled"] = False self._server._worklist_values["likelihoodOfLongString"] = 100.0 client = worklist_client.WorklistClient(self._server_config.network_address) query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) worklist_item = worklist[0] self.assertTrue(len(worklist_item.CurrentPatientLocation) > 64) self._server._worklist_values["oversizedStringsEnabled"] = False worklist = client.get_worklist(query_dataset) worklist_item = worklist[0] self.assertTrue(len(worklist_item.CurrentPatientLocation) <= 64) self._server._worklist_config_provider.reset()
def test_RequireThat_WorklistRequest_ReturnsCleanWorklist_WhenSet(self): self._server._worklist_config_provider.reset() self._server._worklist_values["delayEnabled"] = False self._server._worklist_values["rateOfCleanExams"] = 1 client = worklist_client.WorklistClient(self._server_config.network_address) query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) worklist_item = worklist[0] self.assertEqual((worklist_item.PatientName), 'Clean^Exam') self._server._worklist_config_provider.reset() self._server._worklist_values["delayEnabled"] = False self._server._worklist_values["rateOfCleanExams"] = 0 worklist = client.get_worklist(query_dataset) worklist_item = worklist[0] self.assertNotEqual((worklist_item.PatientName), 'Clean^Exam') self._server._worklist_config_provider.reset()
def test_RequireThat_MultipleWorklistRequests_ReturnsIdenticalWorklists_ByUseOfSeed(self): client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["delayEnabled"] = False query_dataset = Dataset() query_dataset.PatientName = '*' seed = random.randrange(1000) random.seed(seed) worklist_one = client.get_worklist(query_dataset) random.seed(seed) worklist_two = client.get_worklist(query_dataset) exam = random.randrange(len(worklist_one)) worklist_item_one = worklist_one[exam] worklist_item_two = worklist_two[exam] tags = [ "StudyInstanceUID", "Modality", "SpecificCharacterSet", "AccessionNumber", "PatientBirthDate", "PatientName", "PatientID", "IssuerOfPatientID", "PatientWeight", "PatientSize", "AdmissionID", "RequestedProcedureID", "RequestedProcedureDescription" ] for tag in tags: self.assertEqual(worklist_item_one[tag], worklist_item_two[tag]) for i in range(len(worklist_item_one.OtherPatientIDsSequence)): self.assertEqual(worklist_item_one.OtherPatientIDsSequence[i].PatientID, worklist_item_two.OtherPatientIDsSequence[i].PatientID) self.assertEqual(worklist_item_one.OtherPatientIDsSequence[i].IssuerOfPatientID, worklist_item_two.OtherPatientIDsSequence[i].IssuerOfPatientID) self.assertEqual(worklist_item_one.OtherPatientIDsSequence[i].TypeOfPatientID, worklist_item_two.OtherPatientIDsSequence[i].TypeOfPatientID) for i in range(len(worklist_item_one.ScheduledProcedureStepSequence)): self.assertEqual(worklist_item_one.ScheduledProcedureStepSequence[i].ScheduledPerformingPhysicianName, worklist_item_two.ScheduledProcedureStepSequence[i].ScheduledPerformingPhysicianName) self.assertEqual(worklist_item_one.ScheduledProcedureStepSequence[i].ScheduledProcedureStepStartDate, worklist_item_two.ScheduledProcedureStepSequence[i].ScheduledProcedureStepStartDate) self.assertEqual(worklist_item_one.ScheduledProcedureStepSequence[i].ScheduledProcedureStepStartTime, worklist_item_two.ScheduledProcedureStepSequence[i].ScheduledProcedureStepStartTime) self.assertEqual(worklist_item_one.ScheduledProcedureStepSequence[i].ScheduledProcedureStepDescription, worklist_item_two.ScheduledProcedureStepSequence[i].ScheduledProcedureStepDescription) self.assertEqual(worklist_item_one.ScheduledProcedureStepSequence[i].CommentsOnTheScheduledProcedureStep, worklist_item_two.ScheduledProcedureStepSequence[i].CommentsOnTheScheduledProcedureStep) self._server._worklist_config_provider.reset()
def test_RequireThat_WorklistRequest_ReturnsWorklistSize_BetweenMinMax(self): client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["delayEnabled"] = False query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) self.assertTrue(len(worklist) >= default_config.default_config["minAmountOfWorklistExams"] and len(worklist) <= default_config.default_config["maxAmountOfWorklistExams"]) self._server._worklist_config_provider.reset()
def test_RequireThat_WorklistRequest_ReturnsNonEmptyWorklist_WhenQueryingAllPatients(self): client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["emptyStringsEnabled"] = False self._server._worklist_values["noneStringsEnabled"] = False self._server._worklist_values["delayEnabled"] = False self._server._worklist_values["likelihoodOfLanguage"] = 0 query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) self.assertTrue(len(worklist) > 0) self._server._worklist_config_provider.reset()
def test_RequireThat_MulipleWorklistRequests_ReturnsWorklistWithSameLength_ByUseOfSeed(self): client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["delayEnabled"] = False query_dataset = Dataset() query_dataset.PatientName = '*' seed = random.randrange(1000) random.seed(seed) worklist_one = client.get_worklist(query_dataset) random.seed(seed) worklist_two = client.get_worklist(query_dataset) self.assertEqual(len(worklist_one), len(worklist_two))
def test_RequireThat_WorklistRequest_ReturnsWorklistWithAllExpectedFieldsPopulated(self): client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["emptyStringsEnabled"] = False self._server._worklist_values["noneStringsEnabled"] = False self._server._worklist_values["delayEnabled"] = False self._server._worklist_values["likelihoodOfLanguage"] = 0 query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) worklist_item = worklist[0] self.assertTrue(len(worklist_item.StudyInstanceUID) > 0) self.assertTrue(len(worklist_item.StudyInstanceUID) > 0) self.assertTrue(len(worklist_item.Modality) > 0) self.assertTrue(len(worklist_item.SpecificCharacterSet) > 0) self.assertTrue(len(worklist_item.AccessionNumber) > 0) self.assertTrue(len(worklist_item.PatientBirthDate) > 0) self.assertTrue(len(worklist_item.PatientName) > 0) self.assertTrue(len(worklist_item.PatientID) > 0) self.assertTrue(len(worklist_item.IssuerOfPatientID) > 0) self.assertTrue(len(worklist_item.RequestedProcedureID) > 0) self.assertTrue(len(worklist_item.RequestedProcedureDescription) > 0) self.assertTrue(len(worklist_item.AdmissionID) > 0) self.assertTrue(len(str(worklist_item.PatientSize)) > 0) self.assertTrue(len(str(worklist_item.PatientWeight)) > 0) scheduled_step = worklist_item.ScheduledProcedureStepSequence[0] self.assertTrue(len(scheduled_step.ScheduledPerformingPhysicianName) > 0) self.assertTrue(len(scheduled_step.ScheduledProcedureStepStartDate) > 0) self.assertTrue(len(scheduled_step.ScheduledProcedureStepStartTime) > 0) self.assertTrue(len(scheduled_step.ScheduledProcedureStepDescription) > 0) self.assertTrue(len(scheduled_step.CommentsOnTheScheduledProcedureStep) > 0) otherPatientIdsSq = worklist_item.OtherPatientIDsSequence for otherPatientId in otherPatientIdsSq: self.assertTrue(len(otherPatientId.PatientID) > 0) self.assertTrue(len(otherPatientId.IssuerOfPatientID) > 0) self.assertEqual(otherPatientId.TypeOfPatientID, 'TEXT') self._server._worklist_config_provider.reset()
def test_RequireThat_Seedfile_IsSameWhen_ReproduceTrue(self): client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["delayEnabled"] = False query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) with open("seed.txt", "r") as f: seed1 = f.read() self._server._reproduce = True worklist_two = client.get_worklist(query_dataset) with open("seed.txt", "r") as f: seed2 = f.read() self.assertTrue(seed1 == seed2) self._server._worklist_config_provider.reset()
def test_RequireThat_Foreign_Characters_inString_WhenSet(self): ifTrue = False foreignChars = "ДРЛИПЦЗГБЖ也池馳弛水马弓土人女ДРЛИПЦЗГБЖΑαΒβΓγΔδΕεΖζΗηΘθΙιψΩω日一大二目五後.女かたまやたばㄱㄴㄷㄹㅇㅈㅑㅓㅕㅗㅛㅔㅖㅚㅿㆆㆍ" client = worklist_client.WorklistClient(self._server_config.network_address) self._server._worklist_config_provider.reset() self._server._worklist_values["likelihoodOfLanguage"] = 100 self._server._worklist_values["emptyStringsEnabled"] = False self._server._worklist_values["noneStringsEnabled"] = False self._server._worklist_values["delayEnabled"] = False query_dataset = Dataset() query_dataset.PatientName = '*' worklist = client.get_worklist(query_dataset) for worklist_item in worklist: if any(x in foreignChars for x in worklist_item.ScheduledProcedureStepSequence[0].CommentsOnTheScheduledProcedureStep): ifTrue = True break self.assertEqual(True, ifTrue)