1 /*
2 * Copyright (c) 2023 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 <gmock/gmock.h>
17 #include <gtest/gtest.h>
18 #include <memory>
19
20 #include "dfsu_access_token_helper.h"
21 #include "tokenInfo.h"
22
23 namespace OHOS::FileManagement::Test {
24 using namespace testing;
25 using namespace testing::ext;
26 using namespace std;
27 class DfsuAccessTokenHelperTest : public testing::Test {
28 public:
29 static void SetUpTestCase(void);
30 static void TearDownTestCase(void);
31 void SetUp();
32 void TearDown();
33 };
34
SetUpTestCase(void)35 void DfsuAccessTokenHelperTest::SetUpTestCase(void)
36 {
37 GTEST_LOG_(INFO) << "SetUpTestCase";
38 }
39
TearDownTestCase(void)40 void DfsuAccessTokenHelperTest::TearDownTestCase(void)
41 {
42 GTEST_LOG_(INFO) << "TearDownTestCase";
43 }
44
SetUp(void)45 void DfsuAccessTokenHelperTest::SetUp(void)
46 {
47 GTEST_LOG_(INFO) << "SetUp";
48 }
49
TearDown(void)50 void DfsuAccessTokenHelperTest::TearDown(void)
51 {
52 GTEST_LOG_(INFO) << "TearDown";
53 }
54
55 /**
56 * @tc.name: CheckCallerPermissionTest
57 * @tc.desc: Verify the CheckCallerPermission function
58 * @tc.type: FUNC
59 * @tc.require: I6JPKG
60 */
61 HWTEST_F(DfsuAccessTokenHelperTest, CheckCallerPermissionTest, TestSize.Level1)
62 {
63 GTEST_LOG_(INFO) << "CheckCallerPermissionTest Begin";
64 try {
65 DfsuAccessTokenHelper dfsuAccessTokenHelper;
66 string permissionName = "permissionName";
67 TokenInfo tokenInfo;
68 tokenInfo.SetTokenId(0);
69 auto res = dfsuAccessTokenHelper.CheckCallerPermission(permissionName);
70 EXPECT_FALSE(res == true);
71 tokenInfo.SetTokenId(2);
72 res = dfsuAccessTokenHelper.CheckCallerPermission(permissionName);
73 EXPECT_TRUE(res == true);
74 tokenInfo.SetTokenId(3);
75 res = dfsuAccessTokenHelper.CheckCallerPermission(permissionName);
76 EXPECT_TRUE(res == false);
77 } catch (...) {
78 EXPECT_TRUE(false);
79 GTEST_LOG_(INFO) << " CheckCallerPermissionTest ERROR";
80 }
81
82 GTEST_LOG_(INFO) << "CheckCallerPermissionTest End";
83 }
84
85 /**
86 * @tc.name: CheckPermissionTest
87 * @tc.desc: Verify the CheckPermission function
88 * @tc.type: FUNC
89 * @tc.require: I6JPKG
90 */
91 HWTEST_F(DfsuAccessTokenHelperTest, CheckPermissionTest, TestSize.Level1)
92 {
93 GTEST_LOG_(INFO) << "CheckPermissionTest Begin";
94 try {
95 DfsuAccessTokenHelper dfsuAccessTokenHelper;
96 uint32_t tokenId = 0;
97 string permissionName = "permissionName";
98 auto res = dfsuAccessTokenHelper.CheckPermission(tokenId, permissionName);
99 EXPECT_FALSE(res);
100 res = dfsuAccessTokenHelper.CheckPermission(tokenId, permissionName);
101 EXPECT_FALSE(res);
102 tokenId = 1;
103 } catch (...) {
104 EXPECT_TRUE(false);
105 GTEST_LOG_(INFO) << " CheckPermissionTest ERROR";
106 }
107
108 GTEST_LOG_(INFO) << "CheckPermissionTest End";
109 }
110
111 /**
112 * @tc.name: GetCallerBundleNameTest
113 * @tc.desc: Verify the GetCallerBundleName function
114 * @tc.type: FUNC
115 * @tc.require: I6JPKG
116 */
117 HWTEST_F(DfsuAccessTokenHelperTest, GetCallerBundleNameTest, TestSize.Level1)
118 {
119 GTEST_LOG_(INFO) << "GetCallerBundleNameTest Begin";
120 try {
121 DfsuAccessTokenHelper dfsuAccessTokenHelper;
122 string bundleName = "bundleName";
123 auto res = dfsuAccessTokenHelper.GetCallerBundleName(bundleName);
124 EXPECT_EQ(res, 9);
125 } catch (...) {
126 EXPECT_TRUE(false);
127 GTEST_LOG_(INFO) << " GetCallerBundleNameTest ERROR";
128 }
129
130 GTEST_LOG_(INFO) << "GetCallerBundleNameTest End";
131 }
132
133 /**
134 * @tc.name: GetBundleNameByTokenTest
135 * @tc.desc: Verify the GetBundleNameByToken function
136 * @tc.type: FUNC
137 * @tc.require: I6JPKG
138 */
139 HWTEST_F(DfsuAccessTokenHelperTest, GetBundleNameByTokenTest, TestSize.Level1)
140 {
141 GTEST_LOG_(INFO) << "GetBundleNameByTokenTest Begin";
142 try {
143 DfsuAccessTokenHelper dfsuAccessTokenHelper;
144 uint32_t tokenId = 0;
145 string bundleName = "bundleName";
146 auto res = dfsuAccessTokenHelper.GetBundleNameByToken(tokenId, bundleName);
147 EXPECT_EQ(res, 9);
148 tokenId = 1;
149 res = dfsuAccessTokenHelper.GetBundleNameByToken(tokenId, bundleName);
150 EXPECT_EQ(res, 0);
151 tokenId = 2;
152 res = dfsuAccessTokenHelper.GetBundleNameByToken(tokenId, bundleName);
153 EXPECT_EQ(res, 9);
154 tokenId = 3;
155 res = dfsuAccessTokenHelper.GetBundleNameByToken(tokenId, bundleName);
156 EXPECT_EQ(res, 9);
157 } catch (...) {
158 EXPECT_TRUE(false);
159 GTEST_LOG_(INFO) << " GetBundleNameByTokenTest ERROR";
160 }
161
162 GTEST_LOG_(INFO) << "GetBundleNameByTokenTest End";
163 }
164
165 /**
166 * @tc.name: IsSystemAppTest
167 * @tc.desc: Verify the IsSystemApp function
168 * @tc.type: FUNC
169 * @tc.require: I6JPKG
170 */
171 HWTEST_F(DfsuAccessTokenHelperTest, IsSystemAppTest, TestSize.Level1)
172 {
173 GTEST_LOG_(INFO) << "IsSystemAppTest Begin";
174 try {
175 DfsuAccessTokenHelper dfsuAccessTokenHelper;
176 TokenInfo tokenInfo;
177 tokenInfo.SetTokenId(1);
178 auto res = dfsuAccessTokenHelper.IsSystemApp();
179 EXPECT_TRUE(res);
180 tokenInfo.SetTokenId(0);
181 res = dfsuAccessTokenHelper.IsSystemApp();
182 EXPECT_TRUE(res == false);
183 } catch (...) {
184 EXPECT_TRUE(false);
185 GTEST_LOG_(INFO) << " IsSystemAppTest ERROR";
186 }
187
188 GTEST_LOG_(INFO) << "IsSystemAppTest End";
189 }
190
191 /**
192 * @tc.name: GetUserIdTest
193 * @tc.desc: Verify the GetUserId function
194 * @tc.type: FUNC
195 * @tc.require: I6JPKG
196 */
197 HWTEST_F(DfsuAccessTokenHelperTest, GetUserIdTest, TestSize.Level1)
198 {
199 GTEST_LOG_(INFO) << "GetUserIdTest Begin";
200 try {
201 DfsuAccessTokenHelper dfsuAccessTokenHelper;
202 auto res = dfsuAccessTokenHelper.GetUserId();
203 EXPECT_EQ(res, 0);
204 } catch (...) {
205 EXPECT_TRUE(false);
206 GTEST_LOG_(INFO) << " GetUserIdTest ERROR";
207 }
208
209 GTEST_LOG_(INFO) << "GetUserIdTest End";
210 }
211 } // namespace OHOS::FileManagement::Test
212