summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--unittest/test.cc9
-rw-r--r--unittest/test2.cc27
-rw-r--r--unittest/test3.cc21
-rw-r--r--unittest/test_HOTP.cc6
4 files changed, 34 insertions, 29 deletions
diff --git a/unittest/test.cc b/unittest/test.cc
index 6744b45..99f96ac 100644
--- a/unittest/test.cc
+++ b/unittest/test.cc
@@ -13,8 +13,9 @@ using namespace nitrokey::proto::stick10;
using namespace nitrokey::log;
using namespace nitrokey::misc;
+using Dev10 = std::shared_ptr<Stick10>;
-std::string getSlotName(Stick10 &stick, int slotNo) {
+std::string getSlotName(Dev10 stick, int slotNo) {
auto slot_req = get_payload<ReadSlot>();
slot_req.slot_number = slotNo;
auto slot = ReadSlot::CommandTransaction::run(stick, slot_req);
@@ -23,8 +24,8 @@ std::string getSlotName(Stick10 &stick, int slotNo) {
}
TEST_CASE("Slot names are correct", "[slotNames]") {
- Stick10 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick10>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
@@ -79,5 +80,5 @@ TEST_CASE("Slot names are correct", "[slotNames]") {
REQUIRE(sName == std::string("login1"));
}
- stick.disconnect();
+ stick->disconnect();
}
diff --git a/unittest/test2.cc b/unittest/test2.cc
index 00e70e3..4b61a3c 100644
--- a/unittest/test2.cc
+++ b/unittest/test2.cc
@@ -20,9 +20,10 @@ using namespace nitrokey::proto::stick20;
using namespace nitrokey::log;
using namespace nitrokey::misc;
+#include <memory>
template<typename CMDTYPE>
-void execute_password_command(Device &stick, const char *password, const char kind = 'P') {
+void execute_password_command(std::shared_ptr<Device> stick, const char *password, const char kind = 'P') {
auto p = get_payload<CMDTYPE>();
if (kind == 'P'){
p.set_kind_user();
@@ -47,8 +48,8 @@ void SKIP_TEST() {
TEST_CASE("long operation test", "[test_long]") {
SKIP_TEST();
- Stick20 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick20>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
try{
@@ -123,8 +124,8 @@ TEST_CASE("test device commands ids", "[fast]") {
}
TEST_CASE("test device internal status with various commands", "[fast]") {
- Stick20 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick20>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
@@ -147,8 +148,8 @@ TEST_CASE("test device internal status with various commands", "[fast]") {
}
TEST_CASE("setup hidden volume test", "[hidden]") {
- Stick20 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick20>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
stick10::LockDevice::CommandTransaction::run(stick);
@@ -170,8 +171,8 @@ TEST_CASE("setup hidden volume test", "[hidden]") {
}
TEST_CASE("setup multiple hidden volumes", "[hidden]") {
- Stick20 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick20>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
@@ -207,8 +208,8 @@ TEST_CASE("setup multiple hidden volumes", "[hidden]") {
TEST_CASE("update password change", "[dangerous]") {
SKIP_TEST();
- Stick20 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick20>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
@@ -228,8 +229,8 @@ TEST_CASE("update password change", "[dangerous]") {
}
TEST_CASE("general test", "[test]") {
- Stick20 stick;
- bool connected = stick.connect();
+ auto stick = make_shared<Stick20>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
diff --git a/unittest/test3.cc b/unittest/test3.cc
index 9049365..215df78 100644
--- a/unittest/test3.cc
+++ b/unittest/test3.cc
@@ -26,13 +26,15 @@ using namespace nitrokey::proto::stick10_08;
using namespace nitrokey::log;
using namespace nitrokey::misc;
-void connect_and_setup(Stick10 &stick) {
- bool connected = stick.connect();
+using Dev10 = std::shared_ptr<Stick10>;
+
+void connect_and_setup(Dev10 stick) {
+ bool connected = stick->connect();
REQUIRE(connected == true);
Log::instance().set_loglevel(Loglevel::DEBUG);
}
-void authorize(Stick10 &stick) {
+void authorize(Dev10 stick) {
auto authreq = get_payload<FirstAuthenticate>();
strcpy((char *) (authreq.card_password), default_admin_pin);
strcpy((char *) (authreq.temporary_password), temporary_password);
@@ -45,7 +47,8 @@ void authorize(Stick10 &stick) {
}
TEST_CASE("write slot", "[pronew]"){
- Stick10 stick;
+ auto stick = make_shared<Stick10>();
+
connect_and_setup(stick);
authorize(stick);
@@ -81,7 +84,7 @@ TEST_CASE("write slot", "[pronew]"){
TEST_CASE("erase slot", "[pronew]"){
- Stick10 stick;
+ auto stick = make_shared<Stick10>();
connect_and_setup(stick);
authorize(stick);
@@ -107,7 +110,7 @@ TEST_CASE("erase slot", "[pronew]"){
}
TEST_CASE("write general config", "[pronew]") {
- Stick10 stick;
+ auto stick = make_shared<Stick10>();
connect_and_setup(stick);
authorize(stick);
@@ -121,7 +124,7 @@ TEST_CASE("write general config", "[pronew]") {
}
TEST_CASE("authorize user HOTP", "[pronew]") {
- Stick10 stick;
+ auto stick = make_shared<Stick10>();
connect_and_setup(stick);
authorize(stick);
@@ -164,7 +167,7 @@ TEST_CASE("authorize user HOTP", "[pronew]") {
}
TEST_CASE("check firmware version", "[pronew]") {
- Stick10 stick;
+ auto stick = make_shared<Stick10>();
connect_and_setup(stick);
auto p = GetStatus::CommandTransaction::run(stick);
@@ -172,7 +175,7 @@ TEST_CASE("check firmware version", "[pronew]") {
}
TEST_CASE("authorize user TOTP", "[pronew]") {
- Stick10 stick;
+ auto stick = make_shared<Stick10>();
connect_and_setup(stick);
authorize(stick);
diff --git a/unittest/test_HOTP.cc b/unittest/test_HOTP.cc
index d31df55..c6b62a3 100644
--- a/unittest/test_HOTP.cc
+++ b/unittest/test_HOTP.cc
@@ -34,8 +34,8 @@ TEST_CASE("test secret", "[functions]") {
}
TEST_CASE("Test HOTP codes according to RFC", "[HOTP]") {
- Stick10 stick;
- bool connected = stick.connect();
+ std::shared_ptr<Stick10> stick = make_shared<Stick10>();
+ bool connected = stick->connect();
REQUIRE(connected == true);
@@ -98,5 +98,5 @@ TEST_CASE("Test HOTP codes according to RFC", "[HOTP]") {
}
- stick.disconnect();
+ stick->disconnect();
}