Skip to content

Commit 21e5e73

Browse files
authored
Merge pull request #304 from geonnave/python-test-parameterize-cred-transfer
Python: parameterize test for cred transfer
2 parents fd4c797 + d5d0ab9 commit 21e5e73

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

lakers-python/test/test_lakers.py

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import lakers
22
import cbor2
33
import pytest
4+
from lakers import CredentialTransfer, EdhocInitiator, EdhocResponder
45

56
# values from RFC9529, but CRED_I shortened so that passing by value is possible in a 256 byte message
67
CRED_I = bytes.fromhex("A202617808A101A5010202412B2001215820AC75E9ECE3E50BFC8ED60399889522405C47BF16DF96660A41298CB4307F7EB62258206E5DE611388A4B8A8211334AC7D37ECB52A387D257E6DB3C2A93DF21FF3AFFC8")
@@ -15,12 +16,12 @@ def test_gen_keys():
1516
assert len(pub) == 32
1617

1718
def test_initiator():
18-
initiator = lakers.EdhocInitiator()
19+
initiator = EdhocInitiator()
1920
message_1 = initiator.prepare_message_1(c_i=None, ead_1=None)
2021
assert type(message_1) == bytes
2122

2223
def test_responder():
23-
responder = lakers.EdhocResponder(R, CRED_R)
24+
responder = EdhocResponder(R, CRED_R)
2425

2526
def test_ccs_consruction():
2627
# The main crednetials we use can be parsed as they are:
@@ -36,12 +37,12 @@ def test_ccs_consruction():
3637
assert repr(cred_r_manual) == repr(cred_r)
3738

3839
# Both forms are accepted for constructing equivalent responders
39-
_ = lakers.EdhocResponder(R, CRED_R)
40-
_ = lakers.EdhocResponder(R, cred_r_manual)
40+
_ = EdhocResponder(R, CRED_R)
41+
_ = EdhocResponder(R, cred_r_manual)
4142

4243
def _test_handshake(cred_r_transfer, cred_i_transfer):
43-
initiator = lakers.EdhocInitiator()
44-
responder = lakers.EdhocResponder(R, CRED_R)
44+
initiator = EdhocInitiator()
45+
responder = EdhocResponder(R, CRED_R)
4546

4647
# initiator
4748
message_1 = initiator.prepare_message_1(c_i=None, ead_1=None)
@@ -81,19 +82,18 @@ def _test_handshake(cred_r_transfer, cred_i_transfer):
8182
assert i_prk_out_new == r_prk_out_new
8283

8384
def test_edhoc_error():
84-
responder = lakers.EdhocResponder(R, CRED_R)
85+
responder = EdhocResponder(R, CRED_R)
8586
with pytest.raises(ValueError) as err:
8687
_ = responder.process_message_1([1, 2, 3])
8788
assert str(err.value) == "EDHOCError::ParsingError"
8889

8990
def test_buffer_error():
90-
initiator = lakers.EdhocInitiator()
91+
initiator = EdhocInitiator()
9192
with pytest.raises(ValueError) as err:
9293
_ = initiator.parse_message_2([1] * 1000)
9394
assert str(err.value) == "MessageBufferError::SliceTooLong"
9495

95-
def test_handshake_byvalue_byreference():
96-
_test_handshake(lakers.CredentialTransfer.ByValue, lakers.CredentialTransfer.ByReference)
97-
98-
def test_handshake_byreference_byvalue():
99-
_test_handshake(lakers.CredentialTransfer.ByReference, lakers.CredentialTransfer.ByValue)
96+
@pytest.mark.parametrize("cred_r_transfer", [CredentialTransfer.ByReference, CredentialTransfer.ByValue])
97+
@pytest.mark.parametrize("cred_i_transfer", [CredentialTransfer.ByReference, CredentialTransfer.ByValue])
98+
def test_handshake_credential_transfer_by(cred_r_transfer, cred_i_transfer):
99+
_test_handshake(cred_r_transfer, cred_i_transfer)

0 commit comments

Comments
 (0)