aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Krahl <me@robin-krahl.de>2019-01-13 12:29:58 +0100
committerRobin Krahl <me@robin-krahl.de>2019-01-13 13:27:59 +0100
commitcd1cfdbfc4113186f80dbadf5eb76543b22e34bd (patch)
treec611d3e019624406949f8875af24eeec63502330
parente9cfa720d39e0c540fe530f907a84e9a4b5d1240 (diff)
downloadlibnitrokey-cd1cfdbfc4113186f80dbadf5eb76543b22e34bd.tar.gz
libnitrokey-cd1cfdbfc4113186f80dbadf5eb76543b22e34bd.tar.bz2
Add test for NK_list_devices to test_multiple_deviceswip/multiple-devices
As we cannot test this function properly in Python (due to missing struct definitions), we test it in the C++ test suite.
-rw-r--r--unittest/test_multiple_devices.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/unittest/test_multiple_devices.cc b/unittest/test_multiple_devices.cc
index bc1b60b..4b1e2c1 100644
--- a/unittest/test_multiple_devices.cc
+++ b/unittest/test_multiple_devices.cc
@@ -29,6 +29,7 @@ const char * RFC_SECRET = "12345678901234567890";
#include <iostream>
#include <NitrokeyManager.h>
#include <stick20_commands.h>
+#include "../NK_C_API.h"
using namespace nitrokey;
@@ -108,6 +109,24 @@ TEST_CASE("Regenerate AES keys", "[BASIC]") {
}
+TEST_CASE("Use C API", "[BASIC]") {
+ auto ptr = NK_list_devices();
+ auto first_ptr = ptr;
+ REQUIRE(ptr != nullptr);
+
+ while (ptr) {
+ std::cout << "Connect with: " << ptr->model << " " << ptr->path << " "
+ << ptr->serial_number << " | " << NK_connect_with_path(ptr->path) << " | ";
+ auto status = NK_status();
+ std::cout << status << std::endl;
+ free(status);
+ ptr = ptr->next;
+ }
+
+ NK_free_device_info(first_ptr);
+}
+
+
TEST_CASE("Use API", "[BASIC]") {
auto nm = NitrokeyManager::instance();
nm->set_loglevel(2);