def test_site_submission(setup_orthanc0): reset_mock_seed() O = Orthanc() assert (O.check()) n_instances_init = O.gateway.statistics()["CountInstances"] logging.debug(O.gateway.statistics()) site_desc = yaml.load(sample_site_desc) H = MockSite.Factory.create(desc=site_desc)[0] try: with timeout(15): print("Starting mock site") H.run(pacs=O) except: print("Stopping mock site") n_instances = O.gateway.statistics()["CountInstances"] # At least 500 new instances arrived in the last 15 seconds assert (n_instances > n_instances_init + 500)
def mock_runner(): """Generates a single CR study and sends to the mock pacs""" reset_mock_seed() print("Starting mock site") O = Orthanc() desc = yaml.load(site_desc) H = MockSite.Factory.create(desc=desc)[0] H.run(pacs=O) print("Stopping mock site")
def test_mock_site(): reset_mock_seed() site_desc = yaml.load(sample_site_desc) logging.debug(pformat(site_desc)) H = MockSite.Factory.create(desc=site_desc)[0] logging.debug(H) logging.debug(list(H.devices())) assert (len(list(H.devices())) == 5) for device in H.devices(): s = device.gen_study(study_datetime=ref_dt) # print("{!s}".format( next(s.instances()) )) assert ("{!s}".format(next(s.instances())) in ref_studies)
def test_mock_dixel(): reset_mock_seed() d = MockStudy(study_datetime=ref_dt) inst = list(d.instances())[-1] # Check reproducibility reset_mock_seed() e = MockStudy(study_datetime=ref_dt) assert (inst.tags == list(e.instances())[-1].tags) # Check correctness logging.debug(inst.tags) assert (inst.tags == ref_inst_tags) logging.debug(len(list(d.instances()))) assert (len(list(d.instances())) == ref_n_instances) for item in d.instances(): logging.debug("{!s}".format(item)) # Check file creation inst.gen_file() inst_dcm = find_resource("resources/mock/inst.dcm") # Reset mock/inst.dcm with fresh data with open(inst_dcm, "wb") as f: f.write(inst.file) with open(inst_dcm, "rb") as f: data = f.read() assert (inst.file == data) # Test file legibility ds = pydicom.dcmread(BytesIO(inst.file)) logging.debug(ds) assert (ds.AccessionNumber == d.tags["AccessionNumber"]) # Test new item is unique f = MockStudy(study_datetime=ref_dt) for item in f.instances(): logging.debug("{!s}".format(item)) assert (d.tags["AccessionNumber"] != f.tags["AccessionNumber"])