diff options
Diffstat (limited to 'unittest')
| -rw-r--r-- | unittest/test_bindings.py | 21 | 
1 files changed, 17 insertions, 4 deletions
| diff --git a/unittest/test_bindings.py b/unittest/test_bindings.py index 6e87c65..ac77140 100644 --- a/unittest/test_bindings.py +++ b/unittest/test_bindings.py @@ -4,10 +4,12 @@ from enum import Enum  RFC_SECRET = '12345678901234567890' +  class DefaultPasswords(Enum):      ADMIN = '12345678'      USER = '123456' +  class DeviceErrorCode(Enum):      STATUS_OK = 0      NOT_PROGRAMMED = 3 @@ -16,6 +18,7 @@ class DeviceErrorCode(Enum):  ffi = cffi.FFI() +  @pytest.fixture(scope="module")  def C(request):      fp = '../NK_C_API.h' @@ -32,31 +35,41 @@ def C(request):              ffi.cdef(declaration)      C = ffi.dlopen("../build/libnitrokey.so") +    C.NK_set_debug(False)      C.NK_login('12345678', '123123123')      # C.NK_set_debug(True)      def fin(): +        print ('\nFinishing connection to device')          C.NK_logout() +        print ('Finished')      request.addfinalizer(fin)      return C -def test_admin_PIN_change(C): +def test_enable_password_safe(C): +    assert C.NK_enable_password_safe('wrong_password') == DeviceErrorCode.WRONG_PASSWORD +    assert C.NK_enable_password_safe(DefaultPasswords.USER) == DeviceErrorCode.STATUS_OK + + +def test_password_safe_slot_status(C):      C.NK_set_debug(True) +    assert C.NK_get_password_safe_slot_status() == DeviceErrorCode.STATUS_OK +    C.NK_set_debug(False) + + +def test_admin_PIN_change(C):      assert C.NK_change_admin_PIN('wrong_password', '123123123') == DeviceErrorCode.WRONG_PASSWORD      assert C.NK_change_admin_PIN(DefaultPasswords.ADMIN, '123123123') == DeviceErrorCode.STATUS_OK      assert C.NK_change_admin_PIN('123123123', DefaultPasswords.ADMIN) == DeviceErrorCode.STATUS_OK -    C.NK_set_debug(False)  def test_user_PIN_change(C): -    C.NK_set_debug(True)      assert C.NK_change_user_PIN('wrong_password', '123123123') == DeviceErrorCode.WRONG_PASSWORD      assert C.NK_change_user_PIN(DefaultPasswords.USER, '123123123') == DeviceErrorCode.STATUS_OK      assert C.NK_change_user_PIN('123123123', DefaultPasswords.USER) == DeviceErrorCode.STATUS_OK -    C.NK_set_debug(False)  def test_HOTP_RFC(C): | 
