Redo unit tests for ListRequest in ProtocolAdmin 33/238833/7
authorZofia Abramowska <z.abramowska@samsung.com>
Fri, 17 Jul 2020 15:25:34 +0000 (17:25 +0200)
committerTomasz Swierczek <t.swierczek@samsung.com>
Wed, 12 Aug 2020 09:03:26 +0000 (11:03 +0200)
* squash positive test cases
* add invalid protocol test cases

Change-Id: Iff443af42933c5ca8b942844b06c259a533b7627

test/common/protocols/admin/listrequest.cpp

index c5b90fba3852dcbd5855fa4d0d884d412b05b3cf..20e80e9e3d4186f37f83ed2251380b121e1f2a38 100644 (file)
 
 #include <gtest/gtest.h>
 
+#include <cynara-limits.h>
 #include <protocol/ProtocolAdmin.h>
 #include <request/ListRequest.h>
 
+#include <NegativeTestHelper.h>
 #include <RequestTestHelper.h>
 #include <TestDataCollection.h>
 
@@ -44,93 +46,80 @@ void compare(const Cynara::ListRequest &req1, const Cynara::ListRequest &req2) {
 } /* namespace anonymous */
 
 using namespace Cynara;
+using namespace NegativeTestHelper;
 using namespace RequestTestHelper;
 using namespace TestDataCollection;
 
 /* *** compare by objects test cases *** */
 
-TEST(ProtocolAdmin, ListRequest01) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_nun, SN::min);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequest02) {
-    auto request = std::make_shared<ListRequest>(Buckets::not_empty, Keys::k_cup, SN::min_1);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequest03) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_www, SN::min_2);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequest04) {
-    auto request = std::make_shared<ListRequest>(Buckets::not_empty, Keys::k_wuw, SN::max);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequest05) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_aaa, SN::max_1);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequest06) {
-    auto request = std::make_shared<ListRequest>(Buckets::not_empty, Keys::k_wua, SN::max_2);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequest07) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_nua, SN::mid);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    testRequest(request, protocol);
+TEST(ProtocolAdmin, ListRequestPositive) {
+    for (auto &bucket : Buckets::all) {
+        for (auto &key : Keys::all) {
+            for (auto &sequenceNumber : SN::all) {
+                auto request = std::make_shared<ListRequest>(bucket, key, sequenceNumber);
+                auto protocol = std::make_shared<ProtocolAdmin>();
+                testRequest(request, protocol);
+            }
+        }
+    }
 }
 
 /* *** compare by serialized data test cases *** */
 
-TEST(ProtocolAdmin, ListRequestBinary01) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_nun, SN::min);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
+TEST(ProtocolAdmin, ListRequestBinaryPositive) {
+    for (auto &bucket : Buckets::all) {
+        for (auto &key : Keys::all) {
+            for (auto &sequenceNumber : SN::all) {
+                auto request = std::make_shared<ListRequest>(bucket, key, sequenceNumber);
+                auto protocol = std::make_shared<ProtocolAdmin>();
+                binaryTestRequest(request, protocol);
+            }
+        }
+    }
 }
 
-TEST(ProtocolAdmin, ListRequestBinary02) {
-    auto request = std::make_shared<ListRequest>(Buckets::not_empty, Keys::k_cup, SN::min_1);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
+/* *** invalid protocol tests for too long strings *** */
+
+TEST(ProtocolAdmin, ListRequestTooLongClientNegative) {
+    PKF tooLongClient = PKF::create(std::string(CYNARA_MAX_ID_LENGTH + 1, 'c'));
+    PolicyKey key(tooLongClient, Keys::k_nun.user(), Keys::k_aaa.privilege());
+    for (auto &bucket : Buckets::all) {
+        for (auto &sequenceNumber : SN::all) {
+            testInvalidProtocol<ProtocolAdmin, ListRequest>
+                (bucket, key, sequenceNumber);
+        }
+    }
 }
 
-TEST(ProtocolAdmin, ListRequestBinary03) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_www, SN::min_2);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
+TEST(ProtocolAdmin, ListRequestTooLongUserNegative) {
+    PKF tooLongUser = PKF::create(std::string(CYNARA_MAX_ID_LENGTH + 1, 'u'));
+    PolicyKey key(Keys::k_wwp.client(), tooLongUser, Keys::k_cup2.privilege());
+    for (auto &bucket : Buckets::all) {
+        for (auto &sequenceNumber : SN::all) {
+            testInvalidProtocol<ProtocolAdmin, ListRequest>
+                (bucket, key, sequenceNumber);
+        }
+    }
 }
 
-TEST(ProtocolAdmin, ListRequestBinary04) {
-    auto request = std::make_shared<ListRequest>(Buckets::not_empty, Keys::k_wuw, SN::max);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
+TEST(ProtocolAdmin, ListRequestTooLongPrivilegeNegative) {
+    PKF tooLongPrivilege = PKF::create(std::string(CYNARA_MAX_ID_LENGTH + 1, 'p'));
+    PolicyKey key(Keys::k_wua.client(), Keys::k_aup.user(), tooLongPrivilege);
+    for (auto &bucket : Buckets::all) {
+        for (auto &sequenceNumber : SN::all) {
+            testInvalidProtocol<ProtocolAdmin, ListRequest>
+                (bucket, key, sequenceNumber);
+        }
+    }
 }
 
-TEST(ProtocolAdmin, ListRequestBinary05) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_aaa, SN::max_1);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
+TEST(ProtocolAdmin, ListRequestTooLongBucketNegative) {
+    PolicyBucketId bucket(CYNARA_MAX_ID_LENGTH + 1, 'b');
+    for (auto &key : Keys::all) {
+        for (auto &sequenceNumber : SN::all) {
+            testInvalidProtocol<ProtocolAdmin, ListRequest>
+                (bucket, key, sequenceNumber);
+        }
+    }
 }
 
-TEST(ProtocolAdmin, ListRequestBinary06) {
-    auto request = std::make_shared<ListRequest>(Buckets::not_empty, Keys::k_wua, SN::max_2);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
-}
-
-TEST(ProtocolAdmin, ListRequestBinary07) {
-    auto request = std::make_shared<ListRequest>(Buckets::empty, Keys::k_nua, SN::mid);
-    auto protocol = std::make_shared<ProtocolAdmin>();
-    binaryTestRequest(request, protocol);
-}