def test__primitive_to_event(self): """Test that parameter returns expected results""" dul = DummyDUL() p2e = dul._primitive_to_event primitive = A_ASSOCIATE() primitive.result = None self.assertEqual(p2e(primitive), 'Evt1') primitive.result = 0 self.assertEqual(p2e(primitive), 'Evt7') primitive.result = 1 self.assertEqual(p2e(primitive), 'Evt8') primitive = A_RELEASE() primitive.result = None self.assertEqual(p2e(primitive), 'Evt11') primitive.result = 'affirmative' self.assertEqual(p2e(primitive), 'Evt14') primitive = A_ABORT() self.assertEqual(p2e(primitive), 'Evt15') primitive = P_DATA() self.assertEqual(p2e(primitive), 'Evt9') with self.assertRaises(ValueError): p2e('TEST')
def test_exceptions(self): """ Check incorrect types/values for properties raise exceptions """ assoc = A_ASSOCIATE() # application_context_name with pytest.raises(TypeError): assoc.application_context_name = 10 with pytest.raises(TypeError): assoc.application_context_name = 45.2 with pytest.raises(ValueError): assoc.application_context_name = 'abc' # calling_ae_title with pytest.raises(TypeError): assoc.calling_ae_title = 45.2 with pytest.raises(TypeError): assoc.calling_ae_title = 100 with pytest.raises(ValueError): assoc.calling_ae_title = '' with pytest.raises(ValueError): assoc.calling_ae_title = ' ' # called_ae_title with pytest.raises(TypeError): assoc.called_ae_title = 45.2 with pytest.raises(TypeError): assoc.called_ae_title = 100 with pytest.raises(ValueError): assoc.called_ae_title = '' with pytest.raises(ValueError): assoc.called_ae_title = ' ' # user_information with pytest.raises(TypeError): assoc.user_information = 45.2 # result with pytest.raises(ValueError): assoc.result = -1 with pytest.raises(ValueError): assoc.result = 3 # result_source with pytest.raises(ValueError): assoc.result_source = 0 # result_source with pytest.raises(ValueError): assoc.result_source = 4 # diagnostic with pytest.raises(ValueError): assoc.diagnostic = 0 with pytest.raises(ValueError): assoc.diagnostic = 4 with pytest.raises(ValueError): assoc.diagnostic = 5 with pytest.raises(ValueError): assoc.diagnostic = 6 with pytest.raises(ValueError): assoc.diagnostic = 8 # calling_presentation_addresss with pytest.raises(TypeError): assoc.calling_presentation_address = ['10.40.94.43', 105] with pytest.raises(TypeError): assoc.calling_presentation_address = (105, '10.40.94.43') # called_presentation_addresss with pytest.raises(TypeError): assoc.called_presentation_address = ['10.40.94.43', 105] with pytest.raises(TypeError): assoc.called_presentation_address = (105, '10.40.94.43') # presentation_context_definition_list with pytest.raises(TypeError): assoc.presentation_context_definition_list = 45.2 # presentation_context_definition_results_list with pytest.raises(TypeError): assoc.presentation_context_definition_results_list = 45.2 # implementation_class_uid with pytest.raises(ValueError): x = assoc.implementation_class_uid imp_uid = ImplementationClassUIDNotification() assoc.user_information.append(imp_uid) with pytest.raises(ValueError): x = assoc.implementation_class_uid
def test_assignment(self): """ Check assignment works correctly """ assoc = A_ASSOCIATE() def test_mode(): assoc.mode = "test value" self.assertRaises(AttributeError, test_mode) def test_preq(): assoc.presentation_requirements = "test value2" self.assertRaises(AttributeError, test_preq) def test_sreq(): assoc.session_requirements = "test value3" self.assertRaises(AttributeError, test_sreq) assoc.application_context_name = "1.2.840.10008.3.1.1.1" self.assertTrue( assoc.application_context_name == UID('1.2.840.10008.3.1.1.1')) assoc.application_context_name = b"1.2.840.10008.3.1.1.1" self.assertTrue( assoc.application_context_name == UID('1.2.840.10008.3.1.1.1')) assoc.application_context_name = UID("1.2.840.10008.3.1.1.1") self.assertTrue( assoc.application_context_name == UID('1.2.840.10008.3.1.1.1')) assoc.calling_ae_title = 'ABCD1234ABCD12345' self.assertTrue(assoc.calling_ae_title == b'ABCD1234ABCD1234') assoc.called_ae_title = 'ABCD1234ABCD12345' self.assertTrue(assoc.called_ae_title == b'ABCD1234ABCD1234') self.assertTrue(assoc.responding_ae_title == b'ABCD1234ABCD1234') max_length = MaximumLengthNegotiation() max_length.maximum_length_received = 31222 assoc.user_information.append(max_length) self.assertTrue( assoc.user_information[0].maximum_length_received == 31222) assoc.user_information = ['a', max_length] self.assertEqual(assoc.user_information, [max_length]) assoc.result = 0 self.assertTrue(assoc.result == 0) assoc.result = 1 self.assertTrue(assoc.result == 1) assoc.result = 2 self.assertTrue(assoc.result == 2) assoc.result_source = 1 self.assertTrue(assoc.result_source == 1) assoc.result_source = 2 self.assertTrue(assoc.result_source == 2) assoc.result_source = 3 self.assertTrue(assoc.result_source == 3) assoc.diagnostic = 1 self.assertTrue(assoc.diagnostic == 1) assoc.diagnostic = 2 self.assertTrue(assoc.diagnostic == 2) assoc.diagnostic = 3 self.assertTrue(assoc.diagnostic == 3) assoc.diagnostic = 7 self.assertTrue(assoc.diagnostic == 7) assoc.calling_presentation_address = ('10.40.94.43', 105) self.assertTrue(assoc.calling_presentation_address == ('10.40.94.43', 105)) assoc.called_presentation_address = ('10.40.94.44', 106) self.assertTrue(assoc.called_presentation_address == ('10.40.94.44', 106)) pc = PresentationContext() pc.context_id = 1 assoc.presentation_context_definition_list = [pc] self.assertTrue(assoc.presentation_context_definition_list == [pc]) assoc.presentation_context_definition_list = ['a', pc] self.assertTrue(assoc.presentation_context_definition_list == [pc]) assoc.presentation_context_definition_results_list = [pc] self.assertTrue( assoc.presentation_context_definition_results_list == [pc]) assoc.presentation_context_definition_results_list = ['a', pc] self.assertTrue( assoc.presentation_context_definition_results_list == [pc]) assoc = A_ASSOCIATE() # No maximum_length_received set self.assertEqual(assoc.maximum_length_received, None) # No MaximumLengthNegotiation present assoc.maximum_length_received = 31223 self.assertTrue( assoc.user_information[0].maximum_length_received == 31223) self.assertTrue(assoc.maximum_length_received == 31223) # MaximumLengthNegotiation already present assoc.maximum_length_received = 31224 self.assertTrue(assoc.maximum_length_received == 31224) # No ImplementationClassUIDNegotiation present assoc.implementation_class_uid = '1.1.2.3.4' self.assertTrue(assoc.user_information[1].implementation_class_uid == UID('1.1.2.3.4')) self.assertTrue(assoc.implementation_class_uid == UID('1.1.2.3.4')) # ImplementationClassUIDNegotiation already present assoc.implementation_class_uid = '1.1.2.3.4' self.assertTrue(assoc.implementation_class_uid == UID('1.1.2.3.4'))