From 4ab91aae6c101b72a94d3785dbdad117354b87d5 Mon Sep 17 00:00:00 2001
From: Szczepan Zalega <szczepan@nitrokey.com>
Date: Tue, 6 Dec 2016 20:22:37 +0100
Subject: Check maximum OTP secret size in new authorization style commands

Authenticate before testing invalid hex strings
Remove invalid test for empty string for writing otp slot (empty string allows editing)

Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
---
 unittest/test_library.py | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'unittest')

diff --git a/unittest/test_library.py b/unittest/test_library.py
index 7b05c58..bd44e89 100644
--- a/unittest/test_library.py
+++ b/unittest/test_library.py
@@ -36,12 +36,13 @@ def test_invalid_slot(C):
     assert C.NK_get_last_command_status() == LibraryErrors.INVALID_SLOT
 
 @pytest.mark.parametrize("invalid_hex_string",
-                         ['text', '00  ', '0xff', 'zzzzzzzzzzzz', 'fff', '', 'f' * 257, 'f' * 258])
+                         ['text', '00  ', '0xff', 'zzzzzzzzzzzz', 'fff', 'f' * 257, 'f' * 258])
 def test_invalid_secret_hex_string_for_OTP_write(C, invalid_hex_string):
     """
     Tests for invalid secret hex string during writing to OTP slot. Invalid strings are not hexadecimal number,
     empty or longer than 255 characters.
     """
+    assert C.NK_first_authenticate(DefaultPasswords.ADMIN, DefaultPasswords.ADMIN_TEMP) == DeviceErrorCode.STATUS_OK
     assert C.NK_write_hotp_slot(1, 'slot_name', invalid_hex_string, 0, True, False, False, '',
                                 DefaultPasswords.ADMIN_TEMP) == LibraryErrors.INVALID_HEX_STRING
     assert C.NK_write_totp_slot(1, 'python_test', invalid_hex_string, 30, True, False, False, "",
-- 
cgit v1.2.3