Set pkg type while unregistering security context
[platform/core/appfw/app-installers.git] / test / smoke_tests / signature_smoketest.cc
1 // Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by an apache 2.0 license that can be
3 // found in the LICENSE file.
4
5 #include <boost/filesystem/path.hpp>
6 #include <gtest/gtest.h>
7
8 #include <memory>
9
10 #include "common/certificate_validation.h"
11
12 namespace bf = boost::filesystem;
13
14 namespace common_installer {
15 namespace security {
16
17 class SignatureValidatorTest : public testing::Test {
18  protected:
19   std::unique_ptr<bf::path> signature_file;
20 };
21
22 // Tests signature verifier with proper signatures
23 TEST_F(SignatureValidatorTest, HandlesInitializedSignatureDir) {
24   signature_file.reset(new bf::path(
25       "/usr/share/app-installers-ut/test_samples/good_signatures"));
26   PrivilegeLevel level = PrivilegeLevel::UNTRUSTED;
27   common_installer::CertificateInfo cert_info;
28   std::string error;
29   EXPECT_TRUE(ValidateSignatures(*signature_file, &level, &cert_info, true,
30                                  &error));
31 }
32
33 // Tests signature verifier with signature directory containing bad signatures
34 TEST_F(SignatureValidatorTest, HandlesBadSignatureDir) {
35   signature_file.reset(new bf::path(
36       "/usr/share/app-installers-ut/test_samples/bad_signatures"));
37   PrivilegeLevel level = PrivilegeLevel::UNTRUSTED;
38   common_installer::CertificateInfo cert_info;
39   std::string error;
40   EXPECT_FALSE(ValidateSignatures(*signature_file, &level, &cert_info, true,
41                                   &error));
42 }
43
44 }  // namespace security
45 }  // namespace common_installer