]> git.ipfire.org Git - thirdparty/python-fints.git/commitdiff
Fix test for changed Exception type.
authorHenryk Plötz <henryk@ploetzli.ch>
Tue, 28 Aug 2018 23:19:41 +0000 (01:19 +0200)
committerRaphael Michel <mail@raphaelmichel.de>
Mon, 3 Dec 2018 18:34:29 +0000 (19:34 +0100)
Add test for bug regression (allowed_transactions field definition)

tests/test_formals.py
tests/test_message_serializer.py

index 0b8808e2e082dfe2d06c40af732b6a71604d371a..1914ec258eb3094be2f0b63a83df9da691963939 100644 (file)
@@ -72,7 +72,7 @@ def test_container_count_exact():
     i1.a[0] = '3'
     i1.a[1] = 4
 
-    with pytest.raises(TypeError):
+    with pytest.raises(ValueError):
         i1.a[1] = '05'
 
     assert i1.a[0] == 3
index 4f585ed5c207818a192f367e9ccabe1654eac834..8283eba73be937c7c7f9030a91ad24a5e43cd5dc 100644 (file)
@@ -66,3 +66,16 @@ def test_serialize_2():
     s = SegmentSequence([fints.segments.message.HNHBK3(header=fints.formals.SegmentHeader('HNHBK', 1, 3), message_size='000000000428', hbci_version=300, dialogue_id='430711670077=043999659571CN9D=', message_number=2, reference_message=fints.formals.ReferenceMessage(dialogue_id='430711670077=043999659571CN9D=', message_number=2)), fints.segments.message.HNVSK3(header=fints.formals.SegmentHeader('HNVSK', 998, 3), security_profile=fints.formals.SecurityProfile(security_method='PIN', security_method_version=1), security_function='998', security_role='1', security_identification_details=fints.formals.SecurityIdentificationDetails(identified_role='2', cid=None, identifier='oIm3BlHv6mQBAADYgbPpp+kWrAQA'), security_datetime=fints.formals.SecurityDateTime(date_time_type='1'), encryption_algorithm=fints.formals.EncryptionAlgorithm(usage_encryption='2', operation_mode='2', encryption_algorithm='13', algorithm_parameter_value=b'00000000', algorithm_parameter_name='5', algorithm_parameter_iv_name='1'), key_name=fints.formals.KeyName(bank_identifier=fints.formals.BankIdentifier(country_identifier='280', bank_code='15050500'), user_id='hermes', key_type='S', key_number=0, key_version=0), compression_function='0'), fints.segments.message.HNVSD1(header=fints.formals.SegmentHeader('HNVSD', 999, 1), data=SegmentSequence([fints.segments.message.HNSHK4(header=fints.formals.SegmentHeader('HNSHK', 2, 4), security_profile=fints.formals.SecurityProfile(security_method='PIN', security_method_version=1), security_function='999', security_reference='9166926', security_application_area='1', security_role='1', security_identification_details=fints.formals.SecurityIdentificationDetails(identified_role='2', cid=None, identifier='oIm3BlHv6mQBAADYgbPpp+kWrAQA'), security_reference_number=1, security_datetime=fints.formals.SecurityDateTime(date_time_type='1'), hash_algorithm=fints.formals.HashAlgorithm(usage_hash='1', hash_algorithm='999', algorithm_parameter_name='1'), signature_algorithm=fints.formals.SignatureAlgorithm(usage_signature='6', signature_algorithm='10', operation_mode='16'), key_name=fints.formals.KeyName(bank_identifier=fints.formals.BankIdentifier(country_identifier='280', bank_code='15050500'), user_id='hermes', key_type='S', key_number=0, key_version=0)), fints.segments.HIRMG2(header=fints.formals.SegmentHeader('HIRMG', 3, 2), responses=[fints.formals.Response(code='0010', reference_element=None, text='Nachricht entgegengenommen.'), fints.formals.Response(code='0100', reference_element=None, text='Dialog beendet.')]), fints.segments.message.HNSHA2(header=fints.formals.SegmentHeader('HNSHA', 4, 2), security_reference='9166926')])), fints.segments.message.HNHBS1(header=fints.formals.SegmentHeader('HNHBS', 5, 1), message_number=2)])
     
     assert FinTS3Serializer().serialize_message(s) == TEST_MESSAGES['basic_simple']
+
+def test_serialize_roundtrips_complex_1():
+    from fints.formals import SegmentSequence
+    m1 = SegmentSequence(TEST_MESSAGES['basic_complicated'])
+    b1 = m1.render_bytes()
+
+    m2 = SegmentSequence(b1)
+    b2 = m2.render_bytes()
+
+    m3 = SegmentSequence(b2)
+    b3 = m3.render_bytes()
+
+    assert b2 == b3