Adjust initial values tests to no-smack 67/323967/6
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 9 May 2025 17:01:29 +0000 (19:01 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Wed, 21 May 2025 13:59:01 +0000 (13:59 +0000)
ckm-privileged-tests --group=T60_INITIAL_VALUES

Also, with this commit all privileged tests should pass

ckm-privileged-tests

Change-Id: I2f2efd2a14faddbf30ef24708bbca2693bfb8455

src/ckm/privileged/initial-values.cpp
src/ckm/resource/XML_1_okay.xml
src/ckm/resource/XML_2_okay.xml

index 7671c0362a8bb42fe2fa335e1b48bfe4a98adc45..ccb86b9ed7ebd776a2327039b3128bda821a4f7d 100644 (file)
 #include <ckm/ckm-control.h>
 #include <ckm/ckm-manager.h>
 #include <ckmc/ckmc-manager.h>
-#include <scoped-app-context.h>
+#include <scoped_app_launcher.h>
+#include <scoped_installer.h>
 #include <fstream>
 #include <ios>
 #include <unistd.h>
 
 namespace
 {
-const uid_t USER_ID            = 5070;
-const gid_t GROUP_ID           = 5070;
+uid_t USER_ID;
 const char* APP_PASS           = "user-pass";
 
+std::unique_ptr<AppInstallHelper> APP1;
+std::unique_ptr<AppInstallHelper> APP2;
+
+class AppInstallationFixture: public DPL::Test::TestGroup
+{
+public:
+    void Init() override
+    {
+        m_user = std::make_unique<TestUser>(
+                TestUser::createTemporary("ckm_test_user", GUM_USERTYPE_NORMAL, false));
+        USER_ID = m_user->getUid();
+
+        APP1 = std::make_unique<AppInstallHelper>("accessor_app1", m_user->getUid());
+        m_installer = std::make_unique<ScopedInstaller>(*APP1);
+
+        APP2 = std::make_unique<AppInstallHelper>("accessor_app2", m_user->getUid());
+        m_installer2 = std::make_unique<ScopedInstaller>(*APP2);
+    }
+
+    void Finish() override
+    {
+        m_installer2.reset();
+        m_installer.reset();
+        m_user.reset();
+    }
+
+private:
+    std::unique_ptr<ScopedInstaller> m_installer;
+    std::unique_ptr<ScopedInstaller> m_installer2;
+    std::unique_ptr<TestUser> m_user;
+};
+
 const char *XML_1_okay                  = "XML_1_okay.xml";
 std::string XML_1_EXPECTED_KEY_1_RSA    = aliasWithLabel(ckmc_owner_id_system, "test-key1");
 std::string XML_1_EXPECTED_KEY_1_PASSWD = "123";
@@ -95,7 +127,7 @@ void restart_key_manager(const std::initializer_list<const char *> files_to_copy
 
 } // namespace
 
-RUNNER_TEST_GROUP_INIT(T60_INITIAL_VALUES);
+RUNNER_TEST_GROUP_INIT_ENV(T60_INITIAL_VALUES, AppInstallationFixture);
 
 RUNNER_TEST(T6001_init)
 {
@@ -112,50 +144,44 @@ RUNNER_TEST(T6001_init)
         test_not_exists(f);
 }
 
-RUNNER_TEST(T6010_PARSE_XML_FILE_AT_STARTUP)
+RUNNER_CHILD_TEST(T6010_PARSE_XML_FILE_AT_STARTUP)
 {
     // [test1]
     // check items existence as system service
     // [test2]
-    // check items existence as TEST_LABEL
+    // check items existence as app1
     // [test3]
-    // check items existence as TEST_LABEL_2
+    // check items existence as app2
 
     // [test1]
-    {
-        check_key_allowed(XML_1_EXPECTED_KEY_1_RSA.c_str(),
-                          XML_1_EXPECTED_KEY_1_PASSWD.c_str(),
-                          CKMC_KEY_RSA_PUBLIC);
-        check_key(XML_1_EXPECTED_KEY_2_RSA.c_str(), CKMC_ERROR_NOT_EXPORTABLE);
-        check_key_allowed(XML_1_EXPECTED_KEY_3_AES.c_str(), CKMC_KEY_AES);
-        check_cert_allowed(XML_1_EXPECTED_CERT_1.c_str());
-        check_read_allowed(XML_1_EXPECTED_DATA_1, XML_1_EXPECTED_DATA_1_DATA);
-    }
+    check_key_allowed(XML_1_EXPECTED_KEY_1_RSA.c_str(),
+                      XML_1_EXPECTED_KEY_1_PASSWD.c_str(),
+                      CKMC_KEY_RSA_PUBLIC);
+    check_key(XML_1_EXPECTED_KEY_2_RSA.c_str(), CKMC_ERROR_NOT_EXPORTABLE);
+    check_key_allowed(XML_1_EXPECTED_KEY_3_AES.c_str(), CKMC_KEY_AES);
+    check_cert_allowed(XML_1_EXPECTED_CERT_1.c_str());
+    check_read_allowed(XML_1_EXPECTED_DATA_1, XML_1_EXPECTED_DATA_1_DATA);
 
-    // [test2]
-    {
-        ScopedDBUnlock unlock(USER_ID, APP_PASS);
-        ScopedAppContext ctx(TEST_LABEL, USER_ID, GROUP_ID);
+    ScopedDBUnlock unlock(USER_ID, APP_PASS);
 
+    // [test2]
+    ScopedAppLauncher(*APP1, [&]{
         check_key_allowed(XML_1_EXPECTED_KEY_1_RSA.c_str(), XML_1_EXPECTED_KEY_1_PASSWD.c_str());
         check_key_not_visible(XML_1_EXPECTED_KEY_2_RSA.c_str());
         check_key_allowed(XML_1_EXPECTED_KEY_3_AES.c_str(), CKMC_KEY_AES);
         check_cert_not_visible(XML_1_EXPECTED_CERT_1.c_str());
         check_read_allowed(XML_1_EXPECTED_DATA_1, XML_1_EXPECTED_DATA_1_DATA);
-    }
+    });
 
     // [test3]
-    {
-        ScopedDBUnlock unlock(USER_ID, APP_PASS);
-        ScopedAppContext ctx(TEST_LABEL_2, USER_ID, GROUP_ID);
-
+    ScopedAppLauncher(*APP2, [&]{
         check_key_not_visible(XML_1_EXPECTED_KEY_1_RSA.c_str(),
                               XML_1_EXPECTED_KEY_1_PASSWD.c_str());
         check_key(XML_1_EXPECTED_KEY_2_RSA.c_str(), CKMC_ERROR_NOT_EXPORTABLE);
         check_key_allowed(XML_1_EXPECTED_KEY_3_AES.c_str(), CKMC_KEY_AES);
         check_cert_allowed(XML_1_EXPECTED_CERT_1.c_str());
         check_read_allowed(XML_1_EXPECTED_DATA_1, XML_1_EXPECTED_DATA_1_DATA);
-    }
+    });
 }
 
 RUNNER_TEST(T6020_PARSE_TWO_XML_FILES_AT_STARTUP)
index 27523f8f7fa529fd3a26dbe9fa117d65f4241566..733d4d8483e752200532cc7b1a9abebefd4977bc 100644 (file)
@@ -17,7 +17,7 @@
       8lLQwmLiBLx0Yr/RXKf6gJUCAwEAAQ==
       -----END PUBLIC KEY-----
     </PEM>
-    <Permission accessor="test_label"/>
+    <Permission accessor="accessor_app1_pkg_id"/>
   </Key>
   <Key name="test-key2" type="RSA_PRV">
     <DER>
@@ -64,7 +64,7 @@
       4D6vkEFsGfjkcmSMK83PHhrSE1CmZ/rquPjo7MY8fylkeVfefQoKhTUkr6Nz/DVaGTbTostgRog+
       Vx676FQrM4EzjSSqgA==
     </DER>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Key>
   <Cert exportable="true" name="test-cert1">
     <DER>
       7+XYvhodLRsVqMn7nf7taidDKLO2T4bhujztnTYOhhaXKgPy7AtZ28N2wvX96VyAPB/vrchGmyBK
       kOg11TpPdNDkhb1J4ZCh2gupDg==
     </DER>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Cert>
   <Data name="test-data1" exportable="true">
     <ASCII>My secret data</ASCII>
-    <Permission accessor="test_label"/>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app1_pkg_id"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Data>
   <Key name="test-aes1" type="AES" exportable="true">
     <Base64>
       QUJDREVGR0hJSktMTU5PUFJTVFVWV1hZWjAxMjM0NTY=
     </Base64>
-    <Permission accessor="test_label"/>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app1_pkg_id"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Key>
 </InitialValues>
index 2479beb1fc24cc6d09501da5d01e3b5f99439062..91f64af769c2f02e3251a39031b757330a985022 100644 (file)
@@ -17,7 +17,7 @@
       8lLQwmLiBLx0Yr/RXKf6gJUCAwEAAQ==
       -----END PUBLIC KEY-----
     </PEM>
-    <Permission accessor="test_label"/>
+    <Permission accessor="accessor_app1_pkg_id"/>
   </Key>
   <Key name="test2-key2" type="RSA_PRV">
     <DER>
@@ -64,7 +64,7 @@
       4D6vkEFsGfjkcmSMK83PHhrSE1CmZ/rquPjo7MY8fylkeVfefQoKhTUkr6Nz/DVaGTbTostgRog+
       Vx676FQrM4EzjSSqgA==
     </DER>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Key>
   <Cert exportable="true" name="test2-cert1">
     <DER>
       7+XYvhodLRsVqMn7nf7taidDKLO2T4bhujztnTYOhhaXKgPy7AtZ28N2wvX96VyAPB/vrchGmyBK
       kOg11TpPdNDkhb1J4ZCh2gupDg==
     </DER>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Cert>
   <Data name="test2-data1" exportable="true">
     <ASCII>My secret data</ASCII>
-    <Permission accessor="test_label"/>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app1_pkg_id"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Data>
   <Key name="test2-aes1" type="AES" exportable="true">
     <Base64>
       QUJDREVGR0hJSktMTU5PUFJTVFVWV1hZWjAxMjM0NTY=
     </Base64>
-    <Permission accessor="test_label"/>
-    <Permission accessor="test_label_2"/>
+    <Permission accessor="accessor_app1_pkg_id"/>
+    <Permission accessor="accessor_app2_pkg_id"/>
   </Key>
 </InitialValues>