1 /*
2  * Copyright (c) 2024 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 "foundation/ability/ability_runtime/frameworks/cj/mock/cj_ability_ffi.cpp"
17 #include <gtest/gtest.h>
18 
19 using namespace testing;
20 using namespace testing::ext;
21 
22 class CjAbilityFfiMockTest : public testing::Test {
23 public:
CjAbilityFfiMockTest()24     CjAbilityFfiMockTest()
25     {}
~CjAbilityFfiMockTest()26     ~CjAbilityFfiMockTest()
27     {}
28     static void SetUpTestCase();
29     static void TearDownTestCase();
30     void SetUp() override;
31     void TearDown() override;
32 };
33 
SetUpTestCase()34 void CjAbilityFfiMockTest::SetUpTestCase()
35 {}
36 
TearDownTestCase()37 void CjAbilityFfiMockTest::TearDownTestCase()
38 {}
39 
SetUp()40 void CjAbilityFfiMockTest::SetUp()
41 {}
42 
TearDown()43 void CjAbilityFfiMockTest::TearDown()
44 {}
45 
46 /**
47  * @tc.name: CjAbilityFfiMockTestGlobalVariables_0100
48  * @tc.desc: CjAbilityFfiMockTest test for GlobalVariables.
49  * @tc.type: FUNC
50  */
51 HWTEST_F(CjAbilityFfiMockTest, CjAbilityFfiMockTestGlobalVariables_0100, TestSize.Level1)
52 {
53     EXPECT_NE(nullptr, FFICJWantDelete);
54     EXPECT_NE(nullptr, FFICJWantGetWantInfo);
55     EXPECT_NE(nullptr, FFICJWantParamsDelete);
56     EXPECT_NE(nullptr, FFICJWantCreateWithWantInfo);
57     EXPECT_NE(nullptr, FFICJWantParseUri);
58     EXPECT_NE(nullptr, FFICJWantAddEntity);
59     EXPECT_NE(nullptr, FFICJElementNameCreateWithContent);
60     EXPECT_NE(nullptr, FFICJElementNameDelete);
61     EXPECT_NE(nullptr, FFICJElementNameGetElementNameInfo);
62     EXPECT_NE(nullptr, FFICJElementNameParamsDelete);
63     EXPECT_NE(nullptr, FFIAbilityGetAbilityContext);
64     EXPECT_NE(nullptr, FFIAbilityContextGetFilesDir);
65     EXPECT_NE(nullptr, FFIGetContext);
66     EXPECT_NE(nullptr, FFICreateNapiValue);
67     EXPECT_NE(nullptr, FFIGetArea);
68     EXPECT_NE(nullptr, FFICJApplicationInfo);
69     EXPECT_NE(nullptr, FFIAbilityDelegatorRegistryGetAbilityDelegator);
70     EXPECT_NE(nullptr, FFIAbilityDelegatorStartAbility);
71     EXPECT_NE(nullptr, FFIAbilityDelegatorExecuteShellCommand);
72     EXPECT_NE(nullptr, FFIGetExitCode);
73     EXPECT_NE(nullptr, FFIGetStdResult);
74     EXPECT_NE(nullptr, FFIDump);
75     EXPECT_NE(nullptr, FFIAbilityDelegatorApplicationContext);
76 }
77 
78 
79 /**
80  * @tc.name: CjAbilityFfiMockTestGetBroker_0100
81  * @tc.desc: CjAbilityFfiMockTest test for GetBroker.
82  * @tc.type: FUNC
83  */
84 HWTEST_F(CjAbilityFfiMockTest, CjAbilityFfiMockTestGetBroker_0100, TestSize.Level1)
85 {
86     AbilityContextBroker* broker = FFIAbilityContextGetBroker();
87     EXPECT_NE(nullptr, broker);
88     EXPECT_EQ(1, broker->isAbilityContextExisted);
89     EXPECT_EQ(1, broker->getSizeOfStartOptions);
90     EXPECT_EQ(1, broker->getAbilityInfo);
91     EXPECT_EQ(1, broker->getHapModuleInfo);
92     EXPECT_EQ(1, broker->getConfiguration);
93     EXPECT_EQ(1, broker->startAbility);
94     EXPECT_EQ(1, broker->startAbilityWithOption);
95     EXPECT_EQ(1, broker->startAbilityWithAccount);
96     EXPECT_EQ(1, broker->startAbilityWithAccountAndOption);
97     EXPECT_EQ(1, broker->startServiceExtensionAbility);
98     EXPECT_EQ(1, broker->startServiceExtensionAbilityWithAccount);
99     EXPECT_EQ(1, broker->stopServiceExtensionAbility);
100     EXPECT_EQ(1, broker->stopServiceExtensionAbilityWithAccount);
101     EXPECT_EQ(1, broker->terminateSelf);
102     EXPECT_EQ(1, broker->terminateSelfWithResult);
103     EXPECT_EQ(1, broker->isTerminating);
104     EXPECT_EQ(1, broker->connectAbility);
105     EXPECT_EQ(1, broker->connectAbilityWithAccount);
106     EXPECT_EQ(1, broker->disconnectAbility);
107     EXPECT_EQ(1, broker->startAbilityForResult);
108     EXPECT_EQ(1, broker->startAbilityForResultWithOption);
109     EXPECT_EQ(1, broker->startAbilityForResultWithAccount);
110     EXPECT_EQ(1, broker->startAbilityForResultWithAccountAndOption);
111     EXPECT_EQ(1, broker->requestPermissionsFromUser);
112     EXPECT_EQ(1, broker->setMissionLabel);
113     EXPECT_EQ(1, broker->setMissionIcon);
114 }