29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
# Copyright 2026 Cloudbase Solutions Srl
|
|
# All Rights Reserved.
|
|
|
|
"""Exercise NFC disk open and a one-sector write/read against the lab."""
|
|
|
|
import pytest
|
|
|
|
from openvixdisklib import nfc_open
|
|
from tests.integration.base import LabEnv, SECTOR_SIZE, pattern_bytes
|
|
|
|
|
|
class TestNfcOpen:
|
|
@pytest.mark.parametrize(
|
|
"nfc_ssl", [True, False], ids=["nbdssl", "nbd"])
|
|
def test_open_disk_and_read_first_sector(
|
|
self, lab: LabEnv, nfc_ssl: bool) -> None:
|
|
"""Open the temp VMDK, write sector 0, and read it back."""
|
|
expected = pattern_bytes(SECTOR_SIZE, b"NFC-OPEN-S0")
|
|
with lab.authenticate(read_only=False, nfc_ssl=nfc_ssl) as session:
|
|
with nfc_open.open_disk(
|
|
session, lab.disk_path, read_only=False) as disk:
|
|
assert disk.path == lab.disk_path
|
|
assert disk.handle > 0
|
|
assert disk.sector_size == SECTOR_SIZE
|
|
disk.write(0, 1, expected)
|
|
got = disk.read(0, 1)
|
|
assert got is not expected
|
|
assert got == expected
|