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
18 #include "coauth_funcs.h"
19
20 extern "C" {
21 extern LinkedList *g_poolList;
22 extern ResultCode InitResourcePool(void);
23 }
24
25 namespace OHOS {
26 namespace UserIam {
27 namespace UserAuth {
28 using namespace testing;
29 using namespace testing::ext;
30
31 class CoAuthFuncsTest : public testing::Test {
32 public:
SetUpTestCase()33 static void SetUpTestCase() {};
34
TearDownTestCase()35 static void TearDownTestCase() {};
36
SetUp()37 void SetUp() {};
38
TearDown()39 void TearDown() {};
40 };
41
HWTEST_F(CoAuthFuncsTest, TestRegisterExecutor, TestSize.Level0)42 HWTEST_F(CoAuthFuncsTest, TestRegisterExecutor, TestSize.Level0)
43 {
44 EXPECT_EQ(RegisterExecutor(nullptr, nullptr), RESULT_BAD_PARAM);
45 g_poolList = nullptr;
46 ExecutorInfoHal info = {};
47 uint64_t index = 0;
48 EXPECT_EQ(RegisterExecutor(&info, &index), RESULT_NEED_INIT);
49 }
50
HWTEST_F(CoAuthFuncsTest, TestUnregisterExecutorToPool, TestSize.Level0)51 HWTEST_F(CoAuthFuncsTest, TestUnregisterExecutorToPool, TestSize.Level0)
52 {
53 g_poolList = nullptr;
54 uint64_t index = 3226;
55 EXPECT_EQ(UnregisterExecutorToPool(index), RESULT_NEED_INIT);
56 InitResourcePool();
57 ExecutorInfoHal info = {};
58 info.authType = 1;
59 info.executorRole = VERIFIER;
60 EXPECT_EQ(RegisterExecutor(&info, &index), RESULT_SUCCESS);
61 EXPECT_EQ(UnregisterExecutorToPool(index), RESULT_SUCCESS);
62 }
63 } // namespace UserAuth
64 } // namespace UserIam
65 } // namespace OHOS
66