From 27355f0dd8eb11fe1a0d41bd05d3c7dcb74341d8 Mon Sep 17 00:00:00 2001
From: Szczepan Zalega <szczepan@nitrokey.com>
Date: Sat, 22 Oct 2016 19:02:16 +0200
Subject: C++ tests for Storage commands

Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
---
 unittest/test2.cc | 75 ++++++++++++-------------------------------------------
 1 file changed, 16 insertions(+), 59 deletions(-)

(limited to 'unittest')

diff --git a/unittest/test2.cc b/unittest/test2.cc
index 6744b45..dfc4182 100644
--- a/unittest/test2.cc
+++ b/unittest/test2.cc
@@ -3,80 +3,37 @@
 
 #include <iostream>
 #include <string.h>
+#include <NitrokeyManager.h>
 #include "device_proto.h"
 #include "log.h"
-#include "stick10_commands.h"
+//#include "stick10_commands.h"
+#include "stick20_commands.h"
 
 using namespace std;
 using namespace nitrokey::device;
-using namespace nitrokey::proto::stick10;
+using namespace nitrokey::proto::stick20;
 using namespace nitrokey::log;
 using namespace nitrokey::misc;
 
 
-std::string getSlotName(Stick10 &stick, int slotNo) {
-  auto slot_req = get_payload<ReadSlot>();
-  slot_req.slot_number = slotNo;
-  auto slot = ReadSlot::CommandTransaction::run(stick, slot_req);
-  std::string sName(reinterpret_cast<char *>(slot.data().slot_name));
-  return sName;
-}
-
-TEST_CASE("Slot names are correct", "[slotNames]") {
-  Stick10 stick;
+TEST_CASE("test", "[test]") {
+  Stick20 stick;
   bool connected = stick.connect();
   REQUIRE(connected == true);
 
-  Log::instance().set_loglevel(Loglevel::DEBUG);
-
-  auto resp = GetStatus::CommandTransaction::run(stick);
-
-  auto authreq = get_payload<FirstAuthenticate>();
-  strcpy((char *)(authreq.card_password), "12345678");
-  FirstAuthenticate::CommandTransaction::run(stick, authreq);
-
-  {
-    auto authreq = get_payload<EnablePasswordSafe>();
-    strcpy((char *)(authreq.user_password), "123456");
-    EnablePasswordSafe::CommandTransaction::run(stick, authreq);
-  }
-
-  //assuming these values were set earlier, thus failing on normal use
-  REQUIRE(getSlotName(stick, 0x20) == std::string("1"));
-  REQUIRE(getSlotName(stick, 0x21) == std::string("slot2"));
-
-  {
-    auto resp = GetPasswordRetryCount::CommandTransaction::run(stick);
-    REQUIRE(resp.data().password_retry_count == 3);
-  }
-  {
-    auto resp = GetUserPasswordRetryCount::CommandTransaction::run(stick);
-    REQUIRE(resp.data().password_retry_count == 3);
-  }
+  Log::instance().set_loglevel(Loglevel::DEBUG_L2);
 
   {
-    auto slot = get_payload<GetPasswordSafeSlotName>();
-    slot.slot_number = 0;
-    auto resp2 = GetPasswordSafeSlotName::CommandTransaction::run(stick, slot);
-    std::string sName(reinterpret_cast<char *>(resp2.data().slot_name));
-    REQUIRE(sName == std::string("web1"));
+    auto p = get_payload<EnableEncryptedPartition>();
+    p.set_kind_user();
+    strcpyT(p.password, "123456");
+    EnableEncryptedPartition::CommandTransaction::run(stick, p);
   }
-
-  {
-    auto slot = get_payload<GetPasswordSafeSlotPassword>();
-    slot.slot_number = 0;
-    auto resp2 =
-        GetPasswordSafeSlotPassword::CommandTransaction::run(stick, slot);
-    std::string sName(reinterpret_cast<char *>(resp2.data().slot_password));
-    REQUIRE(sName == std::string("pass1"));
-  }
-
-  {
-    auto slot = get_payload<GetPasswordSafeSlotLogin>();
-    slot.slot_number = 0;
-    auto resp2 = GetPasswordSafeSlotLogin::CommandTransaction::run(stick, slot);
-    std::string sName(reinterpret_cast<char *>(resp2.data().slot_login));
-    REQUIRE(sName == std::string("login1"));
+ {
+    auto p = get_payload<DisableEncryptedPartition>();
+    p.set_kind_user();
+    strcpyT(p.password, "123456");
+    DisableEncryptedPartition::CommandTransaction::run(stick, p);
   }
 
   stick.disconnect();
-- 
cgit v1.2.3