• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include <string>
18 #include <vector>
19 #include "cmd_utils.h"
20 #include "func_code.h"
21 #include "managed_event.h"
22 #include "policy_info.h"
23 #define private public
24 #include "enterprise_conn_manager.h"
25 #undef private
26 
27 using namespace testing::ext;
28 using namespace testing;
29 
30 namespace OHOS {
31 namespace EDM {
32 namespace TEST {
33 constexpr int32_t DEFAULT_USERID = 100;
34 class EnterpriseConnManagerTest : public testing::Test {
35 protected:
36     void SetUp() override;
37 
38     void TearDown() override;
39 
40     std::shared_ptr<EnterpriseConnManager> enterpriseConnManagerTest {nullptr};
41 };
42 
SetUp()43 void EnterpriseConnManagerTest::SetUp()
44 {
45     enterpriseConnManagerTest = std::make_shared<EnterpriseConnManager>();
46 }
47 
TearDown()48 void EnterpriseConnManagerTest::TearDown()
49 {
50     if (enterpriseConnManagerTest) {
51         enterpriseConnManagerTest.reset();
52     }
53 }
54 
55 /**
56  * @tc.name: TestAdminConnectAbility
57  * @tc.desc: Test EnterpriseConnManager::CreateAdminConnection func.
58  * @tc.type: FUNC
59  */
60 HWTEST_F(EnterpriseConnManagerTest, TestAdminConnectAbility, TestSize.Level1)
61 {
62     std::string bundleName{"com.edm.test.demo"};
63     std::string abilityName{"com.edm.test.demo.Ability"};
64     AAFwk::Want connectWant;
65     connectWant.SetElementName(bundleName, abilityName);
66     std::shared_ptr<EnterpriseConnManager> manager = DelayedSingleton<EnterpriseConnManager>::GetInstance();
67     sptr<IEnterpriseConnection> connection = manager->CreateAdminConnection(connectWant,
68         IEnterpriseAdmin::COMMAND_ON_ADMIN_ENABLED, DEFAULT_USERID);
69     bool ret = manager->ConnectAbility(connection);
70     EXPECT_TRUE(!ret);
71 
72     enterpriseConnManagerTest->Clear();
73     EXPECT_TRUE(enterpriseConnManagerTest->abilityMgr_ == nullptr);
74 }
75 
76 /**
77  * @tc.name: TestBundleConnectAbility
78  * @tc.desc: Test EnterpriseConnManager::CreateBundleConnection func.
79  * @tc.type: FUNC
80  */
81 HWTEST_F(EnterpriseConnManagerTest, TestBundleConnectAbility, TestSize.Level1)
82 {
83     std::string bundleName{"com.edm.test.demo"};
84     std::string abilityName{"com.edm.test.demo.Ability"};
85     AAFwk::Want connectWant;
86     connectWant.SetElementName(bundleName, abilityName);
87     std::shared_ptr<EnterpriseConnManager> manager = DelayedSingleton<EnterpriseConnManager>::GetInstance();
88     sptr<IEnterpriseConnection> connection = manager->CreateBundleConnection(connectWant,
89         static_cast<uint32_t>(ManagedEvent::BUNDLE_ADDED), DEFAULT_USERID, "com.edm.test.bundle");
90     bool ret = manager->ConnectAbility(connection);
91     EXPECT_TRUE(!ret);
92 
93     ret = manager->ConnectAbility(nullptr);
94     EXPECT_TRUE(!ret);
95 
96     enterpriseConnManagerTest->Clear();
97     EXPECT_TRUE(enterpriseConnManagerTest->abilityMgr_ == nullptr);
98 }
99 } // namespace TEST
100 } // namespace EDM
101 } // namespace OHOS