1 /*
2 * Copyright (c) 2022-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 "publisher_item_test.h"
17
18 using namespace testing::ext;
19 using namespace std;
20 namespace OHOS {
21 namespace DistributedHardware {
22 namespace {
23 constexpr uint32_t MESSAGE_LEN = 40 * 1024 * 1024 + 10;
24 }
25
SetUpTestCase(void)26 void PublisherItemTest::SetUpTestCase(void) {}
27
TearDownTestCase(void)28 void PublisherItemTest::TearDownTestCase(void) {}
29
SetUp()30 void PublisherItemTest::SetUp() {}
31
TearDown()32 void PublisherItemTest::TearDown() {}
33
34 /**
35 * @tc.name: AddListener_001
36 * @tc.desc: Verify the AddListener ToJson function.
37 * @tc.type: FUNC
38 * @tc.require: AR000GHSCV
39 */
40 HWTEST_F(PublisherItemTest, AddListener_001, TestSize.Level0)
41 {
42 PublisherItem item(DHTopic::TOPIC_MIN);
43 sptr<IPublisherListener> listener = nullptr;
44 item.AddListener(listener);
45 EXPECT_EQ(true, item.listeners_.empty());
46 }
47
48 /**
49 * @tc.name: AddListener_002
50 * @tc.desc: Verify the AddListener ToJson function.
51 * @tc.type: FUNC
52 * @tc.require: AR000GHSCV
53 */
54 HWTEST_F(PublisherItemTest, AddListener_002, TestSize.Level0)
55 {
56 PublisherItem item(DHTopic::TOPIC_MIN);
57 sptr<IPublisherListener> listener(new MockIPublisherListener());
58 item.AddListener(listener);
59 EXPECT_EQ(false, item.listeners_.empty());
60 }
61
62 /**
63 * @tc.name: RemoveListener_001
64 * @tc.desc: Verify the RemoveListener ToJson function.
65 * @tc.type: FUNC
66 * @tc.require: AR000GHSCV
67 */
68 HWTEST_F(PublisherItemTest, RemoveListener_001, TestSize.Level0)
69 {
70 PublisherItem item(DHTopic::TOPIC_MIN);
71 sptr<IPublisherListener> listener = nullptr;
72 item.RemoveListener(listener);
73 EXPECT_EQ(true, item.listeners_.empty());
74
75 sptr<IPublisherListener> listener1(new MockIPublisherListener());
76 item.AddListener(listener1);
77 item.RemoveListener(listener1);
78 EXPECT_EQ(true, item.listeners_.empty());
79 }
80
81 /**
82 * @tc.name: PublishMessage_001
83 * @tc.desc: Verify the PublishMessage ToJson function.
84 * @tc.type: FUNC
85 * @tc.require: AR000GHSCV
86 */
87 HWTEST_F(PublisherItemTest, PublishMessage_001, TestSize.Level0)
88 {
89 PublisherItem item(DHTopic::TOPIC_MIN);
90 std::string message = "";
91 item.PublishMessage(message);
92 EXPECT_EQ(true, item.listeners_.empty());
93
94 std::string msg(MESSAGE_LEN, 'a');
95 item.PublishMessage(msg);
96 EXPECT_EQ(true, item.listeners_.empty());
97 }
98
99 /**
100 * @tc.name: PublishMessage_002
101 * @tc.desc: Verify the PublishMessage ToJson function.
102 * @tc.type: FUNC
103 * @tc.require: AR000GHSCV
104 */
105 HWTEST_F(PublisherItemTest, PublishMessage_002, TestSize.Level0)
106 {
107 PublisherItem item(DHTopic::TOPIC_MIN);
108 std::string message = "message";
109 sptr<IPublisherListener> listener(new MockIPublisherListener());
110 item.AddListener(listener);
111 item.PublishMessage(message);
112 EXPECT_EQ(false, item.listeners_.empty());
113 }
114 } // namespace DistributedHardware
115 } // namespace OHOS
116