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