mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-05-14 03:59:30 +00:00
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
import pytest
|
|
from keycard.commands.get_data import get_data
|
|
from keycard import constants
|
|
|
|
|
|
def test_get_data_secure_channel(card):
|
|
card.is_secure_channel_open = True
|
|
card.send_secure_apdu.return_value = b"secure_data"
|
|
result = get_data(card, slot=constants.StorageSlot.PUBLIC)
|
|
card.send_secure_apdu.assert_called_once_with(
|
|
ins=constants.INS_GET_DATA,
|
|
p1=constants.StorageSlot.PUBLIC,
|
|
)
|
|
assert result == card.send_secure_apdu.return_value
|
|
|
|
|
|
def test_get_data_proprietary_channel(card):
|
|
card.is_secure_channel_open = False
|
|
card.send_apdu.return_value = b"proprietary_data"
|
|
result = get_data(card, slot=constants.StorageSlot.NDEF)
|
|
card.send_apdu.assert_called_once_with(
|
|
ins=constants.INS_GET_DATA,
|
|
p1=constants.StorageSlot.NDEF.value,
|
|
cla=constants.CLA_PROPRIETARY
|
|
)
|
|
assert result == card.send_apdu.return_value
|
|
|
|
|
|
def test_get_data_invalid_slot(card):
|
|
with pytest.raises(AttributeError):
|
|
get_data(card, slot="INVALID_SLOT")
|