summaryrefslogtreecommitdiff
path: root/unittest
diff options
context:
space:
mode:
authorSzczepan Zalega <szczepan@nitrokey.com>2018-07-07 21:24:14 +0200
committerSzczepan Zalega <szczepan@nitrokey.com>2018-07-07 21:24:14 +0200
commit430e4b4116ec00c4875170642f8ae04bc3497d88 (patch)
treed158fe787ecf1b20cd906dda712ecee8f7285a59 /unittest
parent4b3b21dfe6958376db3b1fbcadf6e03f53291e4f (diff)
parent601f43bfa71b479e32a289eaeec75069cbc7c26f (diff)
downloadlibnitrokey-3.4.tar.gz
libnitrokey-3.4.tar.bz2
Merge branch 'pr_116'v3.4
Allow to connect to device with model specified by enum. Fixes #116
Diffstat (limited to 'unittest')
-rw-r--r--unittest/conftest.py1
-rw-r--r--unittest/test_C_API.cpp16
-rw-r--r--unittest/test_pro.py5
3 files changed, 20 insertions, 2 deletions
diff --git a/unittest/conftest.py b/unittest/conftest.py
index 35cc714..253e1d8 100644
--- a/unittest/conftest.py
+++ b/unittest/conftest.py
@@ -44,7 +44,6 @@ def C(request=None):
cnt = 0
a = iter(declarations)
for declaration in a:
- if 'NK_device_model' in declaration: continue
if declaration.strip().startswith('NK_C_API'):
declaration = declaration.replace('NK_C_API', '').strip()
while ';' not in declaration:
diff --git a/unittest/test_C_API.cpp b/unittest/test_C_API.cpp
index acfadd2..1964738 100644
--- a/unittest/test_C_API.cpp
+++ b/unittest/test_C_API.cpp
@@ -84,4 +84,18 @@ TEST_CASE("multiple devices with ID", "[BASIC]") {
}
free (string);
-} \ No newline at end of file
+}
+
+TEST_CASE("Get device model", "[BASIC]") {
+ NK_logout();
+ NK_device_model model = NK_get_device_model();
+ REQUIRE(model == NK_device_model::NK_DISCONNECTED);
+
+ auto success = NK_login_auto() == 1;
+ REQUIRE(success);
+ model = NK_get_device_model();
+ REQUIRE(model != NK_device_model::NK_DISCONNECTED);
+
+ REQUIRE((model == NK_PRO || model == NK_STORAGE));
+ NK_logout();
+}
diff --git a/unittest/test_pro.py b/unittest/test_pro.py
index fb936f8..1c61399 100644
--- a/unittest/test_pro.py
+++ b/unittest/test_pro.py
@@ -921,3 +921,8 @@ def test_TOTP_codes_from_nitrokeyapp(secret, C):
lib_at = lambda : bb(oath.totp(secret, period=period))
print (lib_at())
assert lib_at() == code_device
+
+
+def test_get_device_model(C):
+ assert C.NK_get_device_model() != 0
+ # assert C.NK_get_device_model() != C.NK_DISCONNECTED \ No newline at end of file