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 #include <gtest/gtest.h>
16 #include <thread>
17
18 #include "reader_mode_callback_stub.h"
19
20 namespace OHOS {
21 namespace NFC {
22 namespace TEST {
23 using namespace testing::ext;
24 using namespace OHOS::NFC::TAG;
25 class ReaderModeCallbackStubTest : public testing::Test {
26 public:
27 static void SetUpTestCase();
28 static void TearDownTestCase();
29 void SetUp();
30 void TearDown();
31 };
32
SetUpTestCase()33 void ReaderModeCallbackStubTest::SetUpTestCase()
34 {
35 std::cout << " SetUpTestCase ReaderModeCallbackStubTest." << std::endl;
36 }
37
TearDownTestCase()38 void ReaderModeCallbackStubTest::TearDownTestCase()
39 {
40 std::cout << " TearDownTestCase ReaderModeCallbackStubTest." << std::endl;
41 }
42
SetUp()43 void ReaderModeCallbackStubTest::SetUp()
44 {
45 std::cout << " SetUp ReaderModeCallbackStubTest." << std::endl;
46 }
47
TearDown()48 void ReaderModeCallbackStubTest::TearDown()
49 {
50 std::cout << " TearDown ReaderModeCallbackStubTest." << std::endl;
51 }
52
53 /**
54 * @tc.name: OnRemoteRequest001
55 * @tc.desc: Test ReaderModeCallbackStubTest OnRemoteRequest.
56 * @tc.type: FUNC
57 */
58 HWTEST_F(ReaderModeCallbackStubTest, OnRemoteRequest001, TestSize.Level1)
59 {
60 uint32_t code = 0;
61 MessageParcel data;
62 MessageParcel reply;
63 MessageOption option;
64 std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
65 int onRemoteRequest = readerModeCallbackStub->OnRemoteRequest(code, data, reply, option);
66 ASSERT_TRUE(onRemoteRequest == KITS::ERR_NFC_PARAMETERS);
67 }
68
69 /**
70 * @tc.name: OnRemoteRequest002
71 * @tc.desc: Test ReaderModeCallbackStubTest OnRemoteRequest.
72 * @tc.type: FUNC
73 */
74 HWTEST_F(ReaderModeCallbackStubTest, OnRemoteRequest002, TestSize.Level1)
75 {
76 uint32_t code = 0;
77 MessageParcel data;
78 MessageParcel reply;
79 MessageOption option;
80 std::u16string descriptor = u"ohos.nfc.kits.IReaderModeCallback";
81 data.WriteInterfaceToken(descriptor);
82 data.WriteInt32(0);
83 std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
84 int onRemoteRequest = readerModeCallbackStub->OnRemoteRequest(code, data, reply, option);
85 ASSERT_TRUE(onRemoteRequest);
86 }
87
88 /**
89 * @tc.name: OnRemoteRequest003
90 * @tc.desc: Test ReaderModeCallbackStubTest OnRemoteRequest.
91 * @tc.type: FUNC
92 */
93 HWTEST_F(ReaderModeCallbackStubTest, OnRemoteRequest003, TestSize.Level1)
94 {
95 uint32_t code = 120;
96 MessageParcel data;
97 MessageParcel reply;
98 MessageOption option;
99 std::u16string descriptor = u"ohos.nfc.kits.IReaderModeCallback";
100 data.WriteInterfaceToken(descriptor);
101 data.WriteInt32(0);
102 std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
103 int onRemoteRequest = readerModeCallbackStub->OnRemoteRequest(code, data, reply, option);
104 ASSERT_TRUE(!onRemoteRequest);
105 }
106
107 /**
108 * @tc.name: OnRemoteRequest004
109 * @tc.desc: Test ReaderModeCallbackStubTest OnRemoteRequest.
110 * @tc.type: FUNC
111 */
112 HWTEST_F(ReaderModeCallbackStubTest, OnRemoteRequest004, TestSize.Level1)
113 {
114 uint32_t code = 120;
115 MessageParcel data;
116 MessageParcel reply;
117 MessageOption option;
118 std::u16string descriptor = u"ohos.nfc.kits.IReaderModeCallback";
119 data.WriteInterfaceToken(descriptor);
120 data.WriteInt32(0);
121 std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
122 sptr<KITS::IReaderModeCallback> callback = new TAG::ReaderModeCallbackStub();
123 readerModeCallbackStub->RegReaderMode(callback);
124 int onRemoteRequest = readerModeCallbackStub->OnRemoteRequest(code, data, reply, option);
125 ASSERT_TRUE(!onRemoteRequest);
126 }
127
128 /**
129 * @tc.name: RegReaderMode001
130 * @tc.desc: Test ReaderModeCallbackStubTest RegReaderMode.
131 * @tc.type: FUNC
132 */
133 HWTEST_F(ReaderModeCallbackStubTest, RegReaderMode001, TestSize.Level1)
134 {
135 sptr<KITS::IReaderModeCallback> callback = nullptr;
136 std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
137 KITS::ErrorCode errorCode = readerModeCallbackStub->RegReaderMode(callback);
138 ASSERT_TRUE(errorCode == KITS::ERR_NFC_PARAMETERS);
139 }
140
141 /**
142 * @tc.name: RegReaderMode002
143 * @tc.desc: Test ReaderModeCallbackStubTest RegReaderMode.
144 * @tc.type: FUNC
145 */
146 HWTEST_F(ReaderModeCallbackStubTest, RegReaderMode002, TestSize.Level1)
147 {
148 sptr<KITS::IReaderModeCallback> callback = nullptr;
149 ReaderModeCallbackStub* readerModeCallbackStub = ReaderModeCallbackStub::GetInstance();
150 KITS::ErrorCode errorCode = readerModeCallbackStub->RegReaderMode(callback);
151 ASSERT_TRUE(errorCode == KITS::ERR_NFC_PARAMETERS);
152 }
153
154 /**
155 * @tc.name: RegReaderMode003
156 * @tc.desc: Test ReaderModeCallbackStubTest RegReaderMode.
157 * @tc.type: FUNC
158 */
159 HWTEST_F(ReaderModeCallbackStubTest, RegReaderMode003, TestSize.Level1)
160 {
161 sptr<KITS::IReaderModeCallback> callback = new TAG::ReaderModeCallbackStub();
162 std::shared_ptr<ReaderModeCallbackStub> readerModeCallbackStub = std::make_shared<ReaderModeCallbackStub>();
163 KITS::ErrorCode errorCode = readerModeCallbackStub->RegReaderMode(callback);
164 ASSERT_TRUE(errorCode == KITS::ERR_NONE);
165 }
166 }
167 }
168 }