• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "dms_free_install_callback_test.h"
17 #include "mock_remote_stub.h"
18 #include "test_log.h"
19 
20 using namespace testing;
21 using namespace testing::ext;
22 
23 namespace OHOS {
24 namespace DistributedSchedule {
25 namespace {
26 const std::u16string MOCK_INVALID_DESCRIPTOR = u"invalid descriptor";
27 }
28 
SetUpTestCase()29 void DmsFreeInstallCallbackTest::SetUpTestCase()
30 {
31     DTEST_LOG << "DmsFreeInstallCallbackTest::SetUpTestCase" << std::endl;
32 }
33 
TearDownTestCase()34 void DmsFreeInstallCallbackTest::TearDownTestCase()
35 {
36     DTEST_LOG << "DmsFreeInstallCallbackTest::TearDownTestCase" << std::endl;
37 }
38 
TearDown()39 void DmsFreeInstallCallbackTest::TearDown()
40 {
41     DTEST_LOG << "DmsFreeInstallCallbackTest::TearDown" << std::endl;
42 }
43 
SetUp()44 void DmsFreeInstallCallbackTest::SetUp()
45 {
46     DTEST_LOG << "DmsFreeInstallCallbackTest::SetUp" << std::endl;
47     int64_t taskId = 0;
48     IDistributedSched::FreeInstallInfo info;
49     dmsFreeInstallCallbackStub_ = new DmsFreeInstallCallback(taskId, info);
50     dmsFreeInstallCallbackProxy_ = new DmsFreeInstallCallbackProxy((new MockRemoteStub())->AsObject());
51 }
52 
53 /**
54  * @tc.name: DmsFreeInstallCallbackTest_001
55  * @tc.desc: invalid descriptor
56  * @tc.type: FUNC
57  */
58 HWTEST_F(DmsFreeInstallCallbackTest, DmsFreeInstallCallbackTest_001, TestSize.Level3)
59 {
60     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_001 begin" << std::endl;
61     int32_t code = 0;
62     MessageParcel data;
63     MessageParcel reply;
64     MessageOption option;
65 
66     data.WriteInterfaceToken(MOCK_INVALID_DESCRIPTOR);
67     int32_t result = dmsFreeInstallCallbackStub_->OnRemoteRequest(code, data, reply, option);
68     EXPECT_EQ(result, ERR_INVALID_STATE);
69     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_001 end" << std::endl;
70 }
71 
72 /**
73  * @tc.name: DmsFreeInstallCallbackTest_002
74  * @tc.desc: invalid code
75  * @tc.type: FUNC
76  */
77 HWTEST_F(DmsFreeInstallCallbackTest, DmsFreeInstallCallbackTest_002, TestSize.Level4)
78 {
79     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_002 begin" << std::endl;
80     int32_t code = -1;
81     MessageParcel data;
82     MessageParcel reply;
83     MessageOption option;
84 
85     data.WriteInterfaceToken(DmsFreeInstallCallbackStub::GetDescriptor());
86     int32_t result = dmsFreeInstallCallbackStub_->OnRemoteRequest(code, data, reply, option);
87     EXPECT_EQ(result, ERR_INVALID_STATE);
88     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_002 end" << std::endl;
89 }
90 
91 /**
92  * @tc.name: DmsFreeInstallCallbackTest_003
93  * @tc.desc: invalid param
94  * @tc.type: FUNC
95  */
96 HWTEST_F(DmsFreeInstallCallbackTest, DmsFreeInstallCallbackTest_003, TestSize.Level3)
97 {
98     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_003 begin" << std::endl;
99     int32_t code = 0;
100     MessageParcel data;
101     MessageParcel reply;
102     MessageOption option;
103 
104     data.WriteInterfaceToken(DmsFreeInstallCallbackStub::GetDescriptor());
105     int32_t result = dmsFreeInstallCallbackStub_->OnRemoteRequest(code, data, reply, option);
106     EXPECT_EQ(result, ERR_INVALID_VALUE);
107     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_003 end" << std::endl;
108 }
109 
110 /**
111  * @tc.name: DmsFreeInstallCallbackTest_004
112  * @tc.desc: test finish install
113  * @tc.type: FUNC
114  */
115 HWTEST_F(DmsFreeInstallCallbackTest, DmsFreeInstallCallbackTest_004, TestSize.Level3)
116 {
117     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_004 begin" << std::endl;
118     int32_t code = 0;
119     MessageParcel data;
120     MessageParcel reply;
121     MessageOption option;
122 
123     data.WriteInterfaceToken(DmsFreeInstallCallbackStub::GetDescriptor());
124     data.WriteInt32(0);
125     AAFwk::Want want;
126     data.WriteParcelable(&want);
127     int32_t result = dmsFreeInstallCallbackStub_->OnRemoteRequest(code, data, reply, option);
128     EXPECT_EQ(result, NO_ERROR);
129     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_004 end" << std::endl;
130 }
131 
132 /**
133  * @tc.name: DmsFreeInstallCallbackTest_005
134  * @tc.desc: test on install finished
135  * @tc.type: FUNC
136  */
137 HWTEST_F(DmsFreeInstallCallbackTest, DmsFreeInstallCallbackTest_005, TestSize.Level3)
138 {
139     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_005 begin" << std::endl;
140     AAFwk::Want want;
141     int32_t requestCode = -1;
142     int32_t resultCode = -1;
143 
144     dmsFreeInstallCallbackProxy_->OnInstallFinished(want, requestCode, resultCode);
145     EXPECT_NE(dmsFreeInstallCallbackProxy_, nullptr);
146     DTEST_LOG << "DmsFreeInstallCallbackTest DmsFreeInstallCallbackTest_005 end" << std::endl;
147 }
148 }
149 }