1 /*
2  * Copyright (c) 2021 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 <memory>
18 #define private public
19 #include "dcamera_sink_access_control.h"
20 #undef private
21 
22 #include "distributed_camera_constants.h"
23 #include "distributed_camera_errno.h"
24 
25 using namespace testing::ext;
26 
27 namespace OHOS {
28 namespace DistributedHardware {
29 class DCameraSinkAccessControlTest : public testing::Test {
30 public:
31     static void SetUpTestCase(void);
32     static void TearDownTestCase(void);
33     void SetUp();
34     void TearDown();
35 
36     std::shared_ptr<DCameraSinkAccessControl> accessControl_;
37 };
38 const std::string TEST_SRC_TYPE = "camera";
39 const std::string TEST_DEVICE_NAME = "";
40 const std::string TEST_ACCESS_TYPE = "";
41 
SetUpTestCase(void)42 void DCameraSinkAccessControlTest::SetUpTestCase(void)
43 {
44 }
45 
TearDownTestCase(void)46 void DCameraSinkAccessControlTest::TearDownTestCase(void)
47 {
48 }
49 
SetUp(void)50 void DCameraSinkAccessControlTest::SetUp(void)
51 {
52     accessControl_ = std::make_shared<DCameraSinkAccessControl>();
53 }
54 
TearDown(void)55 void DCameraSinkAccessControlTest::TearDown(void)
56 {
57     accessControl_ = nullptr;
58 }
59 
60 /**
61  * @tc.name: dcamera_sink_access_control_test_001
62  * @tc.desc: Verify the IsSensitiveSrcAccess function.
63  * @tc.type: FUNC
64  * @tc.require: AR000GK6MU
65  */
66 HWTEST_F(DCameraSinkAccessControlTest, dcamera_sink_access_control_test_001, TestSize.Level1)
67 {
68     bool ret = accessControl_->IsSensitiveSrcAccess(TEST_SRC_TYPE);
69     EXPECT_EQ(true, ret);
70 }
71 
72 /**
73  * @tc.name: dcamera_sink_access_control_test_002
74  * @tc.desc: Verify the NotifySensitiveSrc function.
75  * @tc.type: FUNC
76  * @tc.require: AR000GK6MU
77  */
78 HWTEST_F(DCameraSinkAccessControlTest, dcamera_sink_access_control_test_002, TestSize.Level1)
79 {
80     bool ret = accessControl_->NotifySensitiveSrc(TEST_SRC_TYPE);
81     EXPECT_EQ(true, ret);
82 }
83 
84 /**
85  * @tc.name: dcamera_sink_access_control_test_003
86  * @tc.desc: Verify the GetAccessControlType function.
87  * @tc.type: FUNC
88  * @tc.require: AR000GK6MU
89  */
90 HWTEST_F(DCameraSinkAccessControlTest, dcamera_sink_access_control_test_003, TestSize.Level1)
91 {
92     int32_t ret = accessControl_->GetAccessControlType(TEST_ACCESS_TYPE);
93     EXPECT_EQ(DCAMERA_SAME_ACCOUNT, ret);
94 }
95 
96 /**
97  * @tc.name: dcamera_sink_access_control_test_004
98  * @tc.desc: Verify the TriggerFrame function.
99  * @tc.type: FUNC
100  * @tc.require: AR000GK6MU
101  */
102 HWTEST_F(DCameraSinkAccessControlTest, dcamera_sink_access_control_test_004, TestSize.Level1)
103 {
104     int32_t ret = accessControl_->TriggerFrame(TEST_DEVICE_NAME);
105     EXPECT_EQ(DCAMERA_OK, ret);
106 }
107 } // namespace DistributedHardware
108 } // namespace OHOS