1e5d0e473Sopenharmony_ci/*
2e5d0e473Sopenharmony_ci * Copyright (C) 2023 Huawei Device Co., Ltd.
3e5d0e473Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4e5d0e473Sopenharmony_ci * you may not use this file except in compliance with the License.
5e5d0e473Sopenharmony_ci * You may obtain a copy of the License at
6e5d0e473Sopenharmony_ci *
7e5d0e473Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
8e5d0e473Sopenharmony_ci *
9e5d0e473Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10e5d0e473Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11e5d0e473Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12e5d0e473Sopenharmony_ci * See the License for the specific language governing permissions and
13e5d0e473Sopenharmony_ci * limitations under the License.
14e5d0e473Sopenharmony_ci */
15e5d0e473Sopenharmony_ci
16e5d0e473Sopenharmony_ci#define private public
17e5d0e473Sopenharmony_ci#define protected public
18e5d0e473Sopenharmony_ci
19e5d0e473Sopenharmony_ci#include "gtest/gtest.h"
20e5d0e473Sopenharmony_ci#include "mms_body.h"
21e5d0e473Sopenharmony_ci#include "mms_body_part.h"
22e5d0e473Sopenharmony_ci#include "mms_content_type.h"
23e5d0e473Sopenharmony_ci#include "mms_encode_buffer.h"
24e5d0e473Sopenharmony_ci#include "mms_header.h"
25e5d0e473Sopenharmony_ci#include "mms_msg.h"
26e5d0e473Sopenharmony_ci#include "mms_network_manager.h"
27e5d0e473Sopenharmony_ci#include "mms_persist_helper.h"
28e5d0e473Sopenharmony_ci#include "sms_mms_gtest.h"
29e5d0e473Sopenharmony_ci#include "sms_service.h"
30e5d0e473Sopenharmony_ci#include "sms_wap_push_buffer.h"
31e5d0e473Sopenharmony_ci#include "sms_wap_push_content_type.h"
32e5d0e473Sopenharmony_ci
33e5d0e473Sopenharmony_cinamespace OHOS {
34e5d0e473Sopenharmony_cinamespace Telephony {
35e5d0e473Sopenharmony_ciusing namespace testing::ext;
36e5d0e473Sopenharmony_ci
37e5d0e473Sopenharmony_cinamespace {
38e5d0e473Sopenharmony_ciconst uint32_t TRANSACTION_ID_LENGTH = 3;
39e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH = 126;
40e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_ONE = 128;
41e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_TWO = 127;
42e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_THREE = 31;
43e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_FOUR = 129;
44e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_FIVE = 139;
45e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_SIX = 134;
46e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_SEVEN = 152;
47e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_EIGHT = 153;
48e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_NINE = 138;
49e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_TEN = 133;
50e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_ELEVEN = 151;
51e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_TWELVE = 154;
52e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_THIRTEEN = 131;
53e5d0e473Sopenharmony_ciconst uint32_t PDU_BUFFE_LENGTH_FOURTEEN = 137;
54e5d0e473Sopenharmony_ciconst uint8_t MIN_TOKEN = 30;
55e5d0e473Sopenharmony_ciconst uint8_t MAX_TOKEN = 127;
56e5d0e473Sopenharmony_ciconst uint8_t FIELD_ID = 2;
57e5d0e473Sopenharmony_ciconst int32_t INVALID_SLOTID = 2;
58e5d0e473Sopenharmony_ciconst int32_t VALUE_LENGTH = 2;
59e5d0e473Sopenharmony_cistatic constexpr uint32_t MAX_MMS_MSG_PART_LEN = 10 * 1024 * 1024;
60e5d0e473Sopenharmony_ciconst uint32_t CODE_BUFFER_MAX_SIZE = 10 * 1024 * 1024;
61e5d0e473Sopenharmony_ciconst std::string METHOD_POST = "POST";
62e5d0e473Sopenharmony_ciconst std::string METHOD_GET = "GET";
63e5d0e473Sopenharmony_ciconst std::string TEST_DATA = "test data test data";
64e5d0e473Sopenharmony_ciconst std::string TEST_PATH = "testPath";
65e5d0e473Sopenharmony_ciconst std::string TEST_URLS = "url1, url2, url3,";
66e5d0e473Sopenharmony_ciconst size_t URL_COUNT = 3;
67e5d0e473Sopenharmony_ciconstexpr uint32_t SPLIT_PDU_LENGTH = 195 * 1024;
68e5d0e473Sopenharmony_ciconst size_t SPLIT_PDU_COUNT = 3;
69e5d0e473Sopenharmony_ciconst size_t BUF_LEN = 10;
70e5d0e473Sopenharmony_ciconst int VALUE_4 = 4;
71e5d0e473Sopenharmony_ciconst int VALUE_9 = 9;
72e5d0e473Sopenharmony_ciconst int VALUE_16 = 0x10;
73e5d0e473Sopenharmony_ciconst int VALUE_31 = 31;
74e5d0e473Sopenharmony_ciconst int VALUE_32 = 32;
75e5d0e473Sopenharmony_ciconst int VALUE_AF = 0xAF;
76e5d0e473Sopenharmony_ciconstexpr const char *TEST_STR = "str";
77e5d0e473Sopenharmony_ciconstexpr const char *INPUT_STR = "00";
78e5d0e473Sopenharmony_ciconstexpr const char *SRC_STR = "123";
79e5d0e473Sopenharmony_ciconstexpr const char *BEGIN_STR = "01";
80e5d0e473Sopenharmony_ciconstexpr const char *END_STR = "FF";
81e5d0e473Sopenharmony_ciconst char PDU_COUNT = 10;
82e5d0e473Sopenharmony_ciconst char INPUT_INTEGER = 128;
83e5d0e473Sopenharmony_ciconst std::string VNET_MMSC = "http://mmsc.vnet.mobi";
84e5d0e473Sopenharmony_ci} // namespace
85e5d0e473Sopenharmony_ci
86e5d0e473Sopenharmony_ciclass BranchMmsTest : public testing::Test {
87e5d0e473Sopenharmony_cipublic:
88e5d0e473Sopenharmony_ci    static void SetUpTestCase();
89e5d0e473Sopenharmony_ci    static void TearDownTestCase();
90e5d0e473Sopenharmony_ci    void SetUp();
91e5d0e473Sopenharmony_ci    void TearDown();
92e5d0e473Sopenharmony_ci};
93e5d0e473Sopenharmony_civoid BranchMmsTest::SetUpTestCase() {}
94e5d0e473Sopenharmony_ci
95e5d0e473Sopenharmony_civoid BranchMmsTest::TearDownTestCase() {}
96e5d0e473Sopenharmony_ci
97e5d0e473Sopenharmony_civoid BranchMmsTest::SetUp() {}
98e5d0e473Sopenharmony_ci
99e5d0e473Sopenharmony_civoid BranchMmsTest::TearDown() {}
100e5d0e473Sopenharmony_ci
101e5d0e473Sopenharmony_ci/**
102e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsHeader_0001
103e5d0e473Sopenharmony_ci * @tc.name     Test MmsHeader
104e5d0e473Sopenharmony_ci * @tc.desc     Function test
105e5d0e473Sopenharmony_ci */
106e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsHeader_0001, Function | MediumTest | Level1)
107e5d0e473Sopenharmony_ci{
108e5d0e473Sopenharmony_ci    auto mmsHeader = std::make_shared<MmsHeader>();
109e5d0e473Sopenharmony_ci    MmsEncodeString encodeString;
110e5d0e473Sopenharmony_ci    MmsDecodeBuffer decodeBuffer;
111e5d0e473Sopenharmony_ci    MmsEncodeBuffer encodeBuffer;
112e5d0e473Sopenharmony_ci    std::string encodeAddress = SRC_STR;
113e5d0e473Sopenharmony_ci    uint8_t value = 0;
114e5d0e473Sopenharmony_ci    MmsAddress address(encodeAddress);
115e5d0e473Sopenharmony_ci    std::vector<MmsAddress> addressValue;
116e5d0e473Sopenharmony_ci    addressValue.push_back(address);
117e5d0e473Sopenharmony_ci    mmsHeader->octetValueMap_.insert(pair<uint8_t, uint8_t>(1, 1));
118e5d0e473Sopenharmony_ci    mmsHeader->longValueMap_.insert(pair<uint8_t, int64_t>(1, 1));
119e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(1, "1"));
120e5d0e473Sopenharmony_ci    mmsHeader->encodeStringsMap_.insert(pair<uint8_t, MmsEncodeString>(1, encodeString));
121e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(1, addressValue));
122e5d0e473Sopenharmony_ci    mmsHeader->DumpMmsHeader();
123e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->DecodeMmsHeader(decodeBuffer));
124e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsHeader(encodeBuffer));
125e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetOctetValue(1, value));
126e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(1, 0));
127e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
128e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_MESSAGE_TYPE, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
129e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
130e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_PRIORITY, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
131e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
132e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_RESPONSE_STATUS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
133e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
134e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_SENDER_VISIBILITY, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
135e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
136e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_STATUS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
137e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
138e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_RETRIEVE_STATUS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
139e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
140e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_READ_STATUS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
141e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
142e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_REPLY_CHARGING, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
143e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_MESSAGE_TYPE, MMS_MESSAGE_TYPE));
144e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_PRIORITY, MMS_PRIORITY));
145e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_RESPONSE_STATUS, MMS_RESPONSE_STATUS));
146e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_SENDER_VISIBILITY, MMS_SENDER_VISIBILITY));
147e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_STATUS, MMS_STATUS));
148e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_RETRIEVE_STATUS, MMS_RETRIEVE_STATUS));
149e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_READ_STATUS, MMS_READ_STATUS));
150e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_REPLY_CHARGING, MMS_REPLY_CHARGING));
151e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_MM_STATE, MMS_MM_STATE));
152e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetHeaderAllAddressValue(1, addressValue));
153e5d0e473Sopenharmony_ci}
154e5d0e473Sopenharmony_ci
155e5d0e473Sopenharmony_ci/**
156e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsHeader_0002
157e5d0e473Sopenharmony_ci * @tc.name     Test MmsHeader
158e5d0e473Sopenharmony_ci * @tc.desc     Function test
159e5d0e473Sopenharmony_ci */
160e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsHeader_0002, Function | MediumTest | Level1)
161e5d0e473Sopenharmony_ci{
162e5d0e473Sopenharmony_ci    auto mmsHeader = std::make_shared<MmsHeader>();
163e5d0e473Sopenharmony_ci    int64_t value = 0;
164e5d0e473Sopenharmony_ci    std::string valueStr = "";
165e5d0e473Sopenharmony_ci    std::string encodeAddress = SRC_STR;
166e5d0e473Sopenharmony_ci    MmsAddress address(encodeAddress);
167e5d0e473Sopenharmony_ci    std::vector<MmsAddress> addressValue;
168e5d0e473Sopenharmony_ci    addressValue.push_back(address);
169e5d0e473Sopenharmony_ci    MmsEncodeString encodeString;
170e5d0e473Sopenharmony_ci    mmsHeader->longValueMap_.insert(pair<uint8_t, int64_t>(1, 1));
171e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(1, "1"));
172e5d0e473Sopenharmony_ci    mmsHeader->encodeStringsMap_.insert(pair<uint8_t, MmsEncodeString>(1, encodeString));
173e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
174e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_STORE_STATUS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
175e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
176e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_CONTENT_CLASS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
177e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
178e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_MESSAGE_CLASS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
179e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
180e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_CANCEL_STATUS, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
181e5d0e473Sopenharmony_ci    mmsHeader->mmsHaderCateg_.mmsFieldDesMap_.insert(
182e5d0e473Sopenharmony_ci        pair<uint8_t, MmsFieldValueType>(MMS_ADAPTATION_ALLOWED, MmsFieldValueType::MMS_FIELD_OCTET_TYPE));
183e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->SetOctetValue(MMS_ADAPTATION_ALLOWED, MMS_BCC));
184e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetLongValue(1, value));
185e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetTextValue(1, valueStr));
186e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetEncodeStringValue(1, encodeString));
187e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetTextValue(MMS_CANCEL_STATUS, ""));
188e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetTextValue(MMS_CANCEL_STATUS, SRC_STR));
189e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_MM_FLAGS, MMS_MM_FLAGS));
190e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_CONTENT_CLASS, MMS_CONTENT_CLASS));
191e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_MESSAGE_CLASS, MMS_MESSAGE_CLASS));
192e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetOctetValue(MMS_CANCEL_STATUS, MMS_CANCEL_STATUS));
193e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetLongValue(MMS_MESSAGE_CLASS, 0));
194e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetEncodeStringValue(1, 1, valueStr));
195e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->SetEncodeStringValue(MMS_STORE_STATUS, 1, encodeAddress));
196e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->AddHeaderAddressValue(1, address));
197e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetStringValue(1, encodeAddress));
198e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->GetStringValue(FIELD_ID, encodeAddress));
199e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->GetSmilFileName(valueStr));
200e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->IsHaveBody());
201e5d0e473Sopenharmony_ci}
202e5d0e473Sopenharmony_ci
203e5d0e473Sopenharmony_ci/**
204e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsHeader_0003
205e5d0e473Sopenharmony_ci * @tc.name     Test MmsHeader
206e5d0e473Sopenharmony_ci * @tc.desc     Function test
207e5d0e473Sopenharmony_ci */
208e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsHeader_0003, Function | MediumTest | Level1)
209e5d0e473Sopenharmony_ci{
210e5d0e473Sopenharmony_ci    auto mmsHeader = std::make_shared<MmsHeader>();
211e5d0e473Sopenharmony_ci    MmsDecodeBuffer decodeBuffer;
212e5d0e473Sopenharmony_ci    MmsEncodeBuffer buff;
213e5d0e473Sopenharmony_ci    std::string encodeAddress = SRC_STR;
214e5d0e473Sopenharmony_ci    MmsAddress address(encodeAddress);
215e5d0e473Sopenharmony_ci    std::vector<MmsAddress> addressValue;
216e5d0e473Sopenharmony_ci    addressValue.push_back(address);
217e5d0e473Sopenharmony_ci    int32_t data = 0;
218e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(MMS_BCC, addressValue));
219e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(MMS_FROM, addressValue));
220e5d0e473Sopenharmony_ci    EXPECT_NE(mmsHeader->MakeTransactionId(TRANSACTION_ID_LENGTH), "");
221e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeMmsMsgType(1, decodeBuffer, data));
222e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeMmsMsgType(MMS_BCC, decodeBuffer, data));
223e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldAddressModelValue(1, decodeBuffer, data));
224e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->DecodeFieldAddressModelValue(MMS_BCC, decodeBuffer, data));
225e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldOctetValue(1, decodeBuffer, data));
226e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldLongValue(1, decodeBuffer, data));
227e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldIntegerValue(1, decodeBuffer, data));
228e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldTextStringValue(1, decodeBuffer, data));
229e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldTextStringValue(MMS_BCC, decodeBuffer, data));
230e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldEncodedStringValue(1, decodeBuffer, data));
231e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldEncodedStringValue(MMS_BCC, decodeBuffer, data));
232e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFromValue(1, decodeBuffer, data));
233e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeMmsMsgUnKnownField(decodeBuffer));
234e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeMmsContentType(1, decodeBuffer, data));
235e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldDate(1, decodeBuffer, data));
236e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldDate(MMS_BCC, decodeBuffer, data));
237e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldPreviouslySentDate(1, decodeBuffer, data));
238e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldPreviouslySentDate(MMS_BCC, decodeBuffer, data));
239e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldMBox(1, decodeBuffer, data));
240e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldMBox(MMS_BCC, decodeBuffer, data));
241e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldMMFlag(1, decodeBuffer, data));
242e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->DecodeFieldMMFlag(MMS_BCC, decodeBuffer, data));
243e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EncodeFieldFromValue(buff, addressValue));
244e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_MESSAGE_CLASS, "personal"));
245e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EcondeFieldMessageClassValue(buff));
246e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_MESSAGE_CLASS, "advertisement"));
247e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EcondeFieldMessageClassValue(buff));
248e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_MESSAGE_CLASS, "informational"));
249e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EcondeFieldMessageClassValue(buff));
250e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_MESSAGE_CLASS, "auto"));
251e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EcondeFieldMessageClassValue(buff));
252e5d0e473Sopenharmony_ci    mmsHeader->octetValueMap_.insert(pair<uint8_t, uint8_t>(MMS_MESSAGE_CLASS, 1));
253e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EcondeFieldMessageClassValue(buff));
254e5d0e473Sopenharmony_ci}
255e5d0e473Sopenharmony_ci
256e5d0e473Sopenharmony_ci/**
257e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsHeader_0004
258e5d0e473Sopenharmony_ci * @tc.name     Test MmsHeader
259e5d0e473Sopenharmony_ci * @tc.desc     Function test
260e5d0e473Sopenharmony_ci */
261e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsHeader_0004, Function | MediumTest | Level1)
262e5d0e473Sopenharmony_ci{
263e5d0e473Sopenharmony_ci    auto mmsHeader = std::make_shared<MmsHeader>();
264e5d0e473Sopenharmony_ci    MmsEncodeBuffer buff;
265e5d0e473Sopenharmony_ci    std::string encodeAddress = SRC_STR;
266e5d0e473Sopenharmony_ci    MmsAddress address(encodeAddress);
267e5d0e473Sopenharmony_ci    std::vector<MmsAddress> addrs;
268e5d0e473Sopenharmony_ci    mmsHeader->longValueMap_.insert(pair<uint8_t, int64_t>(MMS_EXPIRY, 1));
269e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_TRANSACTION_ID, "auto"));
270e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EncodeCommontFieldValue(buff));
271e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMultipleAddressValue(buff, 1, addrs));
272e5d0e473Sopenharmony_ci    addrs.push_back(address);
273e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EncodeMultipleAddressValue(buff, 1, addrs));
274e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EncodeMmsSendReq(buff));
275e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsSendConf(buff));
276e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsNotificationInd(buff));
277e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_CONTENT_LOCATION, "auto"));
278e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsNotificationInd(buff));
279e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EnocdeMmsNotifyRespInd(buff));
280e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EnocdeMmsRetrieveConf(buff));
281e5d0e473Sopenharmony_ci    mmsHeader->longValueMap_.insert(pair<uint8_t, int64_t>(MMS_DATE, 1));
282e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(MMS_CC, addrs));
283e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EnocdeMmsRetrieveConf(buff));
284e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EnocdeMmsDeliveryInd(buff));
285e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(MMS_TO, addrs));
286e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EnocdeMmsRetrieveConf(buff));
287e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(MMS_FROM, addrs));
288e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->EnocdeMmsRetrieveConf(buff));
289e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EnocdeMmsDeliveryInd(buff));
290e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsReadRecInd(buff));
291e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_MESSAGE_ID, "auto"));
292e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EnocdeMmsDeliveryInd(buff));
293e5d0e473Sopenharmony_ci    mmsHeader->longValueMap_.clear();
294e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EnocdeMmsDeliveryInd(buff));
295e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.clear();
296e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.clear();
297e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsReadRecInd(buff));
298e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsReadOrigInd(buff));
299e5d0e473Sopenharmony_ci    mmsHeader->textValueMap_.insert(pair<uint8_t, std::string>(MMS_MESSAGE_ID, "auto"));
300e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsReadOrigInd(buff));
301e5d0e473Sopenharmony_ci    mmsHeader->addressMap_.insert(pair<uint8_t, std::vector<MmsAddress>>(MMS_TO, addrs));
302e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsReadOrigInd(buff));
303e5d0e473Sopenharmony_ci    mmsHeader->octetValueMap_.insert(pair<uint8_t, uint8_t>(MMS_READ_STATUS, 1));
304e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeMmsReadOrigInd(buff));
305e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_DRM_CONTENT, 0));
306e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_BCC, 1));
307e5d0e473Sopenharmony_ci}
308e5d0e473Sopenharmony_ci
309e5d0e473Sopenharmony_ci/**
310e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsHeader_0005
311e5d0e473Sopenharmony_ci * @tc.name     Test MmsHeader
312e5d0e473Sopenharmony_ci * @tc.desc     Function test
313e5d0e473Sopenharmony_ci */
314e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsHeader_0005, Function | MediumTest | Level1)
315e5d0e473Sopenharmony_ci{
316e5d0e473Sopenharmony_ci    auto mmsHeader = std::make_shared<MmsHeader>();
317e5d0e473Sopenharmony_ci    MmsEncodeBuffer buff;
318e5d0e473Sopenharmony_ci    MmsEncodeString value;
319e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeTextStringValue(buff, 1, ""));
320e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->EncodeEncodeStringValue(buff, 1, value));
321e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->IsHaveTransactionId(MMS_MSGTYPE_SEND_REQ));
322e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->IsHaveTransactionId(MMS_MSGTYPE_SEND_CONF));
323e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->IsHaveTransactionId(MMS_MSGTYPE_NOTIFICATION_IND));
324e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->IsHaveTransactionId(MMS_MSGTYPE_NOTIFYRESP_IND));
325e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->IsHaveTransactionId(MMS_MSGTYPE_RETRIEVE_CONF));
326e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->IsHaveTransactionId(MMS_MSGTYPE_ACKNOWLEDGE_IND));
327e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckResponseStatus(static_cast<uint8_t>(MmsResponseStatus::MMS_OK)));
328e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckResponseStatus(static_cast<uint8_t>(MmsResponseStatus::MMS_ERROR_UNSUPPORTED_MESSAGE)));
329e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckResponseStatus(static_cast<uint8_t>(MmsResponseStatus::MMS_ERROR_PERMANENT_FAILURE)));
330e5d0e473Sopenharmony_ci    EXPECT_TRUE(
331e5d0e473Sopenharmony_ci        mmsHeader->CheckResponseStatus(static_cast<uint8_t>(MmsResponseStatus::MMS_ERROR_PERMANENT_LACK_OF_PREPAID)));
332e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckRetrieveStatus(static_cast<uint8_t>(MmsRetrieveStatus::MMS_RETRIEVE_STATUS_OK)));
333e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckRetrieveStatus(
334e5d0e473Sopenharmony_ci        static_cast<uint8_t>(MmsRetrieveStatus::MMS_RETRIEVE_STATUS_ERROR_PERMANENT_FAILURE)));
335e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckRetrieveStatus(
336e5d0e473Sopenharmony_ci        static_cast<uint8_t>(MmsRetrieveStatus::MMS_RETRIEVE_STATUS_ERROR_PERMANENT_CONTENT_UNSUPPORTED)));
337e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckRetrieveStatus(
338e5d0e473Sopenharmony_ci        static_cast<uint8_t>(MmsRetrieveStatus::MMS_RETRIEVE_STATUS_ERROR_TRANSIENT_FAILURE)));
339e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckRetrieveStatus(
340e5d0e473Sopenharmony_ci        static_cast<uint8_t>(MmsRetrieveStatus::MMS_RETRIEVE_STATUS_ERROR_TRANSIENT_NETWORK_PROBLEM)));
341e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckStoreStatus(static_cast<uint8_t>(MmsStoreStatus::MMS_STORE_STATUS_SUCCESS)));
342e5d0e473Sopenharmony_ci    EXPECT_TRUE(
343e5d0e473Sopenharmony_ci        mmsHeader->CheckStoreStatus(static_cast<uint8_t>(MmsStoreStatus::MMS_STORE_STATUS_ERROR_TRANSIENT_FAILURE)));
344e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckStoreStatus(
345e5d0e473Sopenharmony_ci        static_cast<uint8_t>(MmsStoreStatus::MMS_STORE_STATUS_ERROR_TRANSIENT_NETWORK_PROBLEM)));
346e5d0e473Sopenharmony_ci    EXPECT_TRUE(
347e5d0e473Sopenharmony_ci        mmsHeader->CheckStoreStatus(static_cast<uint8_t>(MmsStoreStatus::MMS_STORE_STATUS_ERROR_PERMANENT_FAILURE)));
348e5d0e473Sopenharmony_ci    EXPECT_TRUE(
349e5d0e473Sopenharmony_ci        mmsHeader->CheckStoreStatus(static_cast<uint8_t>(MmsStoreStatus::MMS_STORE_STATUS_ERROR_PERMANENT_MMBOX_FULL)));
350e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsHeader->CheckBooleanValue(MMS_DELIVERY_REPORT, static_cast<uint8_t>(MmsBoolType::MMS_YES)));
351e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_READ_REPORT, 0));
352e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_REPORT_ALLOWED, 0));
353e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_STORE, 0));
354e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_STORED, 0));
355e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_TOTALS, 0));
356e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_QUOTAS, 0));
357e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsHeader->CheckBooleanValue(MMS_DISTRIBUTION_INDICATOR, 0));
358e5d0e473Sopenharmony_ci}
359e5d0e473Sopenharmony_ci
360e5d0e473Sopenharmony_ci/**
361e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushBuffer_0001
362e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushBuffer
363e5d0e473Sopenharmony_ci * @tc.desc     Function test
364e5d0e473Sopenharmony_ci */
365e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushBuffer_0001, Function | MediumTest | Level1)
366e5d0e473Sopenharmony_ci{
367e5d0e473Sopenharmony_ci    auto smsWapPushBuffer = std::make_shared<SmsWapPushBuffer>();
368e5d0e473Sopenharmony_ci    uint8_t oneByte = 0;
369e5d0e473Sopenharmony_ci    uint8_t sValueLength = 0;
370e5d0e473Sopenharmony_ci    uint32_t valueLength = 0;
371e5d0e473Sopenharmony_ci    uint32_t length = 1;
372e5d0e473Sopenharmony_ci    std::string str = "qwe";
373e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->GetOneByte(oneByte));
374e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->IncreasePointer(1));
375e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecreasePointer(1));
376e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeShortLength(sValueLength));
377e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeValueLengthReturnLen(valueLength, length));
378e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeUintvar(valueLength, length));
379e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeValueLength(valueLength));
380e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeText(str, length));
381e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeShortInteger(oneByte));
382e5d0e473Sopenharmony_ci    smsWapPushBuffer->totolLength_ = 1;
383e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 1;
384e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->IncreasePointer(1));
385e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
386e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_ = std::make_unique<char[]>(1);
387e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = 0;
388e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeShortLength(sValueLength));
389e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
390e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = 0;
391e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeValueLengthReturnLen(valueLength, length));
392e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
393e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
394e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeIsString());
395e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_ONE;
396e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeUintvar(valueLength, length));
397e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
398e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeShortInteger(oneByte));
399e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
400e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeValueLength(valueLength));
401e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
402e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_THREE;
403e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeIsValueLength());
404e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeValueLength(valueLength));
405e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
406e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeTokenText(str, length));
407e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
408e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeText(str, length));
409e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->CharIsToken(MIN_TOKEN));
410e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->CharIsToken(MAX_TOKEN));
411e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
412e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH;
413e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeTokenText(str, length));
414e5d0e473Sopenharmony_ci}
415e5d0e473Sopenharmony_ci
416e5d0e473Sopenharmony_ci/**
417e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushBuffer_0002
418e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushBuffer
419e5d0e473Sopenharmony_ci * @tc.desc     Function test
420e5d0e473Sopenharmony_ci */
421e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushBuffer_0002, Function | MediumTest | Level1)
422e5d0e473Sopenharmony_ci{
423e5d0e473Sopenharmony_ci    auto smsWapPushBuffer = std::make_shared<SmsWapPushBuffer>();
424e5d0e473Sopenharmony_ci    uint64_t iInteger = 0;
425e5d0e473Sopenharmony_ci    std::string str = "qwe";
426e5d0e473Sopenharmony_ci    bool isNoValue = true;
427e5d0e473Sopenharmony_ci    uint32_t len = 1;
428e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_ = std::make_unique<char[]>(1);
429e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeLongInteger(iInteger));
430e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeTextValue(str, isNoValue));
431e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeNoValue(isNoValue));
432e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->ReadDataBuffer(1, 1) == nullptr);
433e5d0e473Sopenharmony_ci    smsWapPushBuffer->totolLength_ = 1;
434e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = 1;
435e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeLongInteger(iInteger));
436e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
437e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_THREE;
438e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeLongInteger(iInteger));
439e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
440e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = 1;
441e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeTextValue(str, isNoValue));
442e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->ReadDataBuffer(1, 1) == nullptr);
443e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->WriteRawStringBuffer(str));
444e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->WriteDataBuffer(nullptr, 1));
445e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
446e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = 0;
447e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeQuotedText(str, len));
448e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
449e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
450e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeQuotedText(str, len));
451e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
452e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_ONE;
453e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushBuffer->DecodeInteger(iInteger));
454e5d0e473Sopenharmony_ci    smsWapPushBuffer->curPosition_ = 0;
455e5d0e473Sopenharmony_ci    smsWapPushBuffer->pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
456e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushBuffer->DecodeInteger(iInteger));
457e5d0e473Sopenharmony_ci}
458e5d0e473Sopenharmony_ci
459e5d0e473Sopenharmony_ci/**
460e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushHandler_0001
461e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushHandler
462e5d0e473Sopenharmony_ci * @tc.desc     Function test
463e5d0e473Sopenharmony_ci */
464e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushHandler_0001, Function | MediumTest | Level1)
465e5d0e473Sopenharmony_ci{
466e5d0e473Sopenharmony_ci    auto smsWapPushHandler = std::make_shared<SmsWapPushHandler>(INVALID_SLOTID);
467e5d0e473Sopenharmony_ci    SmsWapPushBuffer decodeBuffer;
468e5d0e473Sopenharmony_ci    std::string wapPdu = "";
469e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeWapPushPduData(decodeBuffer, 1, 1));
470e5d0e473Sopenharmony_ci    auto indexer = std::make_shared<SmsReceiveIndexer>();
471e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeWapPushPdu(indexer, wapPdu));
472e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DeocdeCheckIsBlock(wapPdu));
473e5d0e473Sopenharmony_ci    wapPdu = "qwer";
474e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeWapPushPdu(indexer, wapPdu));
475e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodePushType(decodeBuffer));
476e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DeocdeCheckIsBlock(wapPdu));
477e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapApplication(decodeBuffer, 1));
478e5d0e473Sopenharmony_ci    smsWapPushHandler->DeleteWapPush(indexer);
479e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapAbandonHeaderValue(decodeBuffer));
480e5d0e473Sopenharmony_ci    auto dataBuf = std::make_unique<char[]>(BUF_LEN);
481e5d0e473Sopenharmony_ci    decodeBuffer.WriteDataBuffer(std::move(dataBuf), BUF_LEN);
482e5d0e473Sopenharmony_ci    decodeBuffer.totolLength_ = 1;
483e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapApplication(decodeBuffer, 1));
484e5d0e473Sopenharmony_ci    decodeBuffer.totolLength_ = 0;
485e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapApplication(decodeBuffer, 0));
486e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushHandler->SendWapPushMessageBroadcast(indexer));
487e5d0e473Sopenharmony_ci}
488e5d0e473Sopenharmony_ci
489e5d0e473Sopenharmony_ci/**
490e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushHandler_0002
491e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushHandler
492e5d0e473Sopenharmony_ci * @tc.desc     Function test
493e5d0e473Sopenharmony_ci */
494e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushHandler_0002, Function | MediumTest | Level1)
495e5d0e473Sopenharmony_ci{
496e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::SmsWapPushHandler_0002 -->");
497e5d0e473Sopenharmony_ci    auto smsWapPushHandler = std::make_shared<SmsWapPushHandler>(INVALID_SLOTID);
498e5d0e473Sopenharmony_ci    SmsWapPushBuffer decodeBuffer;
499e5d0e473Sopenharmony_ci    auto dataBuf = std::make_unique<char[]>(BUF_LEN);
500e5d0e473Sopenharmony_ci    decodeBuffer.WriteDataBuffer(std::move(dataBuf), BUF_LEN);
501e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapApplication(decodeBuffer, 1));
502e5d0e473Sopenharmony_ci
503e5d0e473Sopenharmony_ci    std::string appId = TEST_PATH;
504e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
505e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_9;
506e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapApplicationField(decodeBuffer, appId));
507e5d0e473Sopenharmony_ci    appId = TEST_PATH;
508e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
509e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_AF;
510e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushHandler->DecodeXWapApplicationField(decodeBuffer, appId));
511e5d0e473Sopenharmony_ci
512e5d0e473Sopenharmony_ci    appId = TEST_PATH;
513e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
514e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_AF;
515e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushHandler->DecodeXWapApplicationValue(decodeBuffer, appId));
516e5d0e473Sopenharmony_ci    appId = TEST_PATH;
517e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
518e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_9;
519e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapApplicationValue(decodeBuffer, appId));
520e5d0e473Sopenharmony_ci
521e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
522e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_4;
523e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushHandler->DecodeXWapAbandonHeaderValue(decodeBuffer));
524e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
525e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_16;
526e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapAbandonHeaderValue(decodeBuffer));
527e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
528e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_31;
529e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushHandler->DecodeXWapAbandonHeaderValue(decodeBuffer));
530e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = VALUE_9;
531e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[VALUE_9] = VALUE_31;
532e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapAbandonHeaderValue(decodeBuffer));
533e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
534e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = VALUE_32;
535e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushHandler->DecodeXWapAbandonHeaderValue(decodeBuffer));
536e5d0e473Sopenharmony_ci}
537e5d0e473Sopenharmony_ci
538e5d0e473Sopenharmony_ci/**
539e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushContentType_0001
540e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushContentType
541e5d0e473Sopenharmony_ci * @tc.desc     Function test
542e5d0e473Sopenharmony_ci */
543e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushContentType_0001, Function | MediumTest | Level1)
544e5d0e473Sopenharmony_ci{
545e5d0e473Sopenharmony_ci    auto smsWapPushContentType = std::make_shared<SmsWapPushContentType>();
546e5d0e473Sopenharmony_ci    SmsWapPushBuffer decodeBuffer;
547e5d0e473Sopenharmony_ci    int32_t contentLength = 1;
548e5d0e473Sopenharmony_ci    decodeBuffer.totolLength_ = 1;
549e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_ = std::make_unique<char[]>(1);
550e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_ONE;
551e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCTGeneralForm(decodeBuffer, contentLength));
552e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushContentType->DecodeContentType(decodeBuffer, contentLength));
553e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
554e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
555e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushContentType->DecodeContentType(decodeBuffer, contentLength));
556e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
557e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = 0;
558e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeContentType(decodeBuffer, contentLength));
559e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCTGeneralForm(decodeBuffer, contentLength));
560e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_THREE;
561e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 1;
562e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
563e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCTGeneralForm(decodeBuffer, contentLength));
564e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
565e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_THREE;
566e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCTGeneralForm(decodeBuffer, contentLength));
567e5d0e473Sopenharmony_ci}
568e5d0e473Sopenharmony_ci
569e5d0e473Sopenharmony_ci/**
570e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushContentType_0002
571e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushContentType
572e5d0e473Sopenharmony_ci * @tc.desc     Function test
573e5d0e473Sopenharmony_ci */
574e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushContentType_0002, Function | MediumTest | Level1)
575e5d0e473Sopenharmony_ci{
576e5d0e473Sopenharmony_ci    auto smsWapPushContentType = std::make_shared<SmsWapPushContentType>();
577e5d0e473Sopenharmony_ci    SmsWapPushBuffer decodeBuffer;
578e5d0e473Sopenharmony_ci    decodeBuffer.totolLength_ = 1;
579e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_ = std::make_unique<char[]>(1);
580e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
581e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_FOUR;
582e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
583e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
584e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_FIVE;
585e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
586e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
587e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_SIX;
588e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
589e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
590e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_SEVEN;
591e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
592e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
593e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_EIGHT;
594e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
595e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
596e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_NINE;
597e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
598e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
599e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_TEN;
600e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
601e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
602e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_ELEVEN;
603e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
604e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
605e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_TWELVE;
606e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
607e5d0e473Sopenharmony_ci}
608e5d0e473Sopenharmony_ci
609e5d0e473Sopenharmony_ci/**
610e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SmsWapPushContentType_0003
611e5d0e473Sopenharmony_ci * @tc.name     Test SmsWapPushContentType
612e5d0e473Sopenharmony_ci * @tc.desc     Function test
613e5d0e473Sopenharmony_ci */
614e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsWapPushContentType_0003, Function | MediumTest | Level1)
615e5d0e473Sopenharmony_ci{
616e5d0e473Sopenharmony_ci    auto smsWapPushContentType = std::make_shared<SmsWapPushContentType>();
617e5d0e473Sopenharmony_ci    SmsWapPushBuffer decodeBuffer;
618e5d0e473Sopenharmony_ci    int32_t valueLength = 1;
619e5d0e473Sopenharmony_ci    string strCharSet = "US-ASCII";
620e5d0e473Sopenharmony_ci    string result = "*/*";
621e5d0e473Sopenharmony_ci    uint32_t charSet = 1;
622e5d0e473Sopenharmony_ci    decodeBuffer.totolLength_ = 1;
623e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_ = std::make_unique<char[]>(1);
624e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_THIRTEEN;
625e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
626e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
627e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_FOURTEEN;
628e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, 1));
629e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
630e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = 1;
631e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeParameter(decodeBuffer, VALUE_LENGTH));
632e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
633e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH;
634e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCharsetField(decodeBuffer, valueLength));
635e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
636e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = 0;
637e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCharsetField(decodeBuffer, valueLength));
638e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
639e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
640e5d0e473Sopenharmony_ci    EXPECT_FALSE(smsWapPushContentType->DecodeCharsetField(decodeBuffer, valueLength));
641e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
642e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_TWO;
643e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushContentType->DecodeTypeField(decodeBuffer, valueLength));
644e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
645e5d0e473Sopenharmony_ci    decodeBuffer.pduBuffer_[0] = PDU_BUFFE_LENGTH_ONE;
646e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushContentType->DecodeTypeField(decodeBuffer, valueLength));
647e5d0e473Sopenharmony_ci    EXPECT_TRUE(smsWapPushContentType->GetCharSetIntFromString(charSet, strCharSet));
648e5d0e473Sopenharmony_ci    EXPECT_EQ(smsWapPushContentType->GetContentTypeFromInt(0), result);
649e5d0e473Sopenharmony_ci}
650e5d0e473Sopenharmony_ci
651e5d0e473Sopenharmony_ci/**
652e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsBodyPart_0001
653e5d0e473Sopenharmony_ci * @tc.name     Test MmsBodyPart
654e5d0e473Sopenharmony_ci * @tc.desc     Function test
655e5d0e473Sopenharmony_ci */
656e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsBodyPart_0001, Function | MediumTest | Level3)
657e5d0e473Sopenharmony_ci{
658e5d0e473Sopenharmony_ci    MmsBodyPart mmsBodyPart;
659e5d0e473Sopenharmony_ci    MmsBodyPart testBodyPart;
660e5d0e473Sopenharmony_ci    mmsBodyPart = testBodyPart;
661e5d0e473Sopenharmony_ci    mmsBodyPart.AssignBodyPart(testBodyPart);
662e5d0e473Sopenharmony_ci    MmsDecodeBuffer decoderBuffer;
663e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
664e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
665e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePart(decoderBuffer));
666e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0;
667e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
668e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
669e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePart(decoderBuffer));
670e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0;
671e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[1] = 0;
672e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
673e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 2;
674e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePart(decoderBuffer));
675e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0;
676e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[1] = 0;
677e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[2] = 0x70;
678e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
679e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 3;
680e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePart(decoderBuffer));
681e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0x7F;
682e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[1] = 0;
683e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[2] = 0x70;
684e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
685e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 10;
686e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePart(decoderBuffer));
687e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsBodyPart.DecodePartHeader(decoderBuffer, 0));
688e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
689e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
690e5d0e473Sopenharmony_ci    int32_t testLen = 3;
691e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePartHeader(decoderBuffer, testLen));
692e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
693e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
694e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0x80;
695e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePartHeader(decoderBuffer, testLen));
696e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
697e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
698e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0x20;
699e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePartHeader(decoderBuffer, testLen));
700e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
701e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
702e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0x5;
703e5d0e473Sopenharmony_ci    mmsBodyPart.DumpMmsBodyPart();
704e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePartHeader(decoderBuffer, testLen));
705e5d0e473Sopenharmony_ci}
706e5d0e473Sopenharmony_ci
707e5d0e473Sopenharmony_ci/**
708e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsBodyPart_0002
709e5d0e473Sopenharmony_ci * @tc.name     Test MmsBodyPart
710e5d0e473Sopenharmony_ci * @tc.desc     Function test
711e5d0e473Sopenharmony_ci */
712e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsBodyPart_0002, Function | MediumTest | Level3)
713e5d0e473Sopenharmony_ci{
714e5d0e473Sopenharmony_ci    MmsBodyPart mmsBodyPart;
715e5d0e473Sopenharmony_ci
716e5d0e473Sopenharmony_ci    MmsDecodeBuffer decoderBuffer;
717e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
718e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
719e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePartBody(decoderBuffer, 3));
720e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
721e5d0e473Sopenharmony_ci    int32_t offset = 2;
722e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = MAX_MMS_MSG_PART_LEN + offset;
723e5d0e473Sopenharmony_ci    offset = 1;
724e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.DecodePartBody(decoderBuffer, MAX_MMS_MSG_PART_LEN + offset));
725e5d0e473Sopenharmony_ci    MmsAttachment mmsAttachment;
726e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.SetAttachment(mmsAttachment));
727e5d0e473Sopenharmony_ci    MmsEncodeBuffer encodeBuffer;
728e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.EncodeMmsBodyPart(encodeBuffer));
729e5d0e473Sopenharmony_ci    mmsBodyPart.DecodeSetFileName();
730e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.WriteBodyFromFile(""));
731e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.WriteBodyFromAttachmentBuffer(mmsAttachment));
732e5d0e473Sopenharmony_ci    mmsAttachment.strFileName_ = "test";
733e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsBodyPart.WriteBodyFromAttachmentBuffer(mmsAttachment));
734e5d0e473Sopenharmony_ci    MmsBodyPart bodyPart;
735e5d0e473Sopenharmony_ci    mmsBodyPart.bodyLen_ = 1;
736e5d0e473Sopenharmony_ci    bodyPart = mmsBodyPart;
737e5d0e473Sopenharmony_ci    uint32_t len = 0;
738e5d0e473Sopenharmony_ci    ASSERT_TRUE(bodyPart.ReadBodyPartBuffer(len) == nullptr);
739e5d0e473Sopenharmony_ci    mmsBodyPart.bodyLen_ = MAX_MMS_MSG_PART_LEN + 1;
740e5d0e473Sopenharmony_ci    bodyPart = mmsBodyPart;
741e5d0e473Sopenharmony_ci    len = 0;
742e5d0e473Sopenharmony_ci    ASSERT_TRUE(bodyPart.ReadBodyPartBuffer(len) == nullptr);
743e5d0e473Sopenharmony_ci}
744e5d0e473Sopenharmony_ci
745e5d0e473Sopenharmony_ci/**
746e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsContentType_0001
747e5d0e473Sopenharmony_ci * @tc.name     Test MmsContentType
748e5d0e473Sopenharmony_ci * @tc.desc     Function test
749e5d0e473Sopenharmony_ci */
750e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsContentType_0001, Function | MediumTest | Level3)
751e5d0e473Sopenharmony_ci{
752e5d0e473Sopenharmony_ci    MmsContentType mmsContentType;
753e5d0e473Sopenharmony_ci    MmsContentType mmsTContentType;
754e5d0e473Sopenharmony_ci    mmsTContentType.contentType_ = "lll";
755e5d0e473Sopenharmony_ci    mmsContentType = mmsTContentType;
756e5d0e473Sopenharmony_ci    MmsDecodeBuffer decoderBuffer;
757e5d0e473Sopenharmony_ci    int32_t testPduBuffer = 0x8f;
758e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
759e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
760e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
761e5d0e473Sopenharmony_ci    int32_t length;
762e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.DecodeMmsContentType(decoderBuffer, length));
763e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
764e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
765e5d0e473Sopenharmony_ci    testPduBuffer = 0x2f;
766e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
767e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeMmsCTGeneralForm(decoderBuffer, length));
768e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
769e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
770e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeMmsCTGeneralForm(decoderBuffer, length));
771e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
772e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
773e5d0e473Sopenharmony_ci    testPduBuffer = 0x8f;
774e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
775e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeMmsCTGeneralForm(decoderBuffer, length));
776e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
777e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
778e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0;
779e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeMmsCTGeneralForm(decoderBuffer, length));
780e5d0e473Sopenharmony_ci}
781e5d0e473Sopenharmony_ci
782e5d0e473Sopenharmony_ci/**
783e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsContentType_0002
784e5d0e473Sopenharmony_ci * @tc.name     Test MmsContentType
785e5d0e473Sopenharmony_ci * @tc.desc     Function test
786e5d0e473Sopenharmony_ci */
787e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsContentType_0002, Function | MediumTest | Level3)
788e5d0e473Sopenharmony_ci{
789e5d0e473Sopenharmony_ci    MmsContentType mmsContentType;
790e5d0e473Sopenharmony_ci    MmsDecodeBuffer decoderBuffer;
791e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.DecodeParameter(decoderBuffer, 0));
792e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
793e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
794e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeParameter(decoderBuffer, 1));
795e5d0e473Sopenharmony_ci    int32_t testPduBuffer = 129;
796e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
797e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
798e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
799e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeParameter(decoderBuffer, 1));
800e5d0e473Sopenharmony_ci    testPduBuffer = 154;
801e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
802e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
803e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
804e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeParameter(decoderBuffer, 1));
805e5d0e473Sopenharmony_ci    testPduBuffer = 137;
806e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
807e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
808e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
809e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeParameter(decoderBuffer, 1));
810e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0;
811e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
812e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
813e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeParameter(decoderBuffer, 4));
814e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
815e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
816e5d0e473Sopenharmony_ci    int32_t len;
817e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeTextField(decoderBuffer, 0, len));
818e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeCharsetField(decoderBuffer, len));
819e5d0e473Sopenharmony_ci    testPduBuffer = 100;
820e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
821e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
822e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
823e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeCharsetField(decoderBuffer, len));
824e5d0e473Sopenharmony_ci    testPduBuffer = 30;
825e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = testPduBuffer;
826e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
827e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
828e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeCharsetField(decoderBuffer, len));
829e5d0e473Sopenharmony_ci}
830e5d0e473Sopenharmony_ci
831e5d0e473Sopenharmony_ci/**
832e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsContentType_0003
833e5d0e473Sopenharmony_ci * @tc.name     Test MmsContentType
834e5d0e473Sopenharmony_ci * @tc.desc     Function test
835e5d0e473Sopenharmony_ci */
836e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsContentType_0003, Function | MediumTest | Level3)
837e5d0e473Sopenharmony_ci{
838e5d0e473Sopenharmony_ci    MmsEncodeBuffer mmsEncodeBuffer;
839e5d0e473Sopenharmony_ci    MmsContentType mmsContentType;
840e5d0e473Sopenharmony_ci    MmsDecodeBuffer decoderBuffer;
841e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
842e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 0;
843e5d0e473Sopenharmony_ci    int32_t valueLen = 0;
844e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeTypeField(decoderBuffer, valueLen));
845e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0x8f;
846e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
847e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
848e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.DecodeTypeField(decoderBuffer, valueLen));
849e5d0e473Sopenharmony_ci    decoderBuffer.pduBuffer_[0] = 0;
850e5d0e473Sopenharmony_ci    decoderBuffer.curPosition_ = 0;
851e5d0e473Sopenharmony_ci    decoderBuffer.totolLength_ = 1;
852e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.DecodeTypeField(decoderBuffer, valueLen));
853e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.textMap_[152] = "";
854e5d0e473Sopenharmony_ci    int32_t offset = 1;
855e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE + offset;
856e5d0e473Sopenharmony_ci    mmsContentType.EncodeTextField(mmsEncodeBuffer);
857e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.textMap_[152] = "";
858e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
859e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.EncodeTextField(mmsEncodeBuffer));
860e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.EncodeCharsetField(mmsEncodeBuffer));
861e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.charset_ = offset;
862e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.EncodeCharsetField(mmsEncodeBuffer));
863e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.charset_ = offset;
864e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE + offset;
865e5d0e473Sopenharmony_ci    mmsContentType.EncodeCharsetField(mmsEncodeBuffer);
866e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.charset_ = offset;
867e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE - offset;
868e5d0e473Sopenharmony_ci    mmsContentType.EncodeCharsetField(mmsEncodeBuffer);
869e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.charset_ = offset;
870e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
871e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.EncodeCharsetField(mmsEncodeBuffer));
872e5d0e473Sopenharmony_ci}
873e5d0e473Sopenharmony_ci
874e5d0e473Sopenharmony_ci/**
875e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsContentType_0004
876e5d0e473Sopenharmony_ci * @tc.name     Test MmsContentType
877e5d0e473Sopenharmony_ci * @tc.desc     Function test
878e5d0e473Sopenharmony_ci */
879e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsContentType_0004, Function | MediumTest | Level3)
880e5d0e473Sopenharmony_ci{
881e5d0e473Sopenharmony_ci    MmsContentType mmsContentType;
882e5d0e473Sopenharmony_ci    MmsEncodeBuffer mmsEncodeBuffer;
883e5d0e473Sopenharmony_ci    ASSERT_TRUE(mmsContentType.EncodeTypeField(mmsEncodeBuffer));
884e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.type_ = "1";
885e5d0e473Sopenharmony_ci    int32_t offset = 1;
886e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE + offset;
887e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeTypeField(mmsEncodeBuffer));
888e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.type_ = "1";
889e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE - offset;
890e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeTypeField(mmsEncodeBuffer));
891e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.type_ = "1";
892e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE - offset;
893e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeTypeField(mmsEncodeBuffer));
894e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.textMap_[152] = "";
895e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE + offset;
896e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeMmsBodyPartContentParam(mmsEncodeBuffer));
897e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.textMap_[152] = "";
898e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE - offset;
899e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeMmsBodyPartContentParam(mmsEncodeBuffer));
900e5d0e473Sopenharmony_ci    mmsContentType.msgContentParm_.textMap_[152] = "";
901e5d0e473Sopenharmony_ci    offset = 2;
902e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE - offset;
903e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeMmsBodyPartContentParam(mmsEncodeBuffer));
904e5d0e473Sopenharmony_ci    mmsContentType.contentType_ = "";
905e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeMmsBodyPartContentType(mmsEncodeBuffer));
906e5d0e473Sopenharmony_ci    mmsContentType.contentType_ = "*/*";
907e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeMmsBodyPartContentType(mmsEncodeBuffer));
908e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE + offset;
909e5d0e473Sopenharmony_ci    ASSERT_FALSE(mmsContentType.EncodeMmsBodyPartContentType(mmsEncodeBuffer));
910e5d0e473Sopenharmony_ci}
911e5d0e473Sopenharmony_ci
912e5d0e473Sopenharmony_ci/**
913e5d0e473Sopenharmony_ci
914e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsBody_0001
915e5d0e473Sopenharmony_ci * @tc.name     Test MmsBody
916e5d0e473Sopenharmony_ci * @tc.desc     Function test
917e5d0e473Sopenharmony_ci */
918e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsMmsGtest_MmsBody_0001, Function | MediumTest | Level1)
919e5d0e473Sopenharmony_ci{
920e5d0e473Sopenharmony_ci    MmsBody mmsBody;
921e5d0e473Sopenharmony_ci    MmsDecodeBuffer mmsDecodeBuffer;
922e5d0e473Sopenharmony_ci    MmsHeader mmsHeader;
923e5d0e473Sopenharmony_ci    MmsEncodeBuffer mmsEncodeBuffer;
924e5d0e473Sopenharmony_ci    MmsBodyPart mmsBodyPart;
925e5d0e473Sopenharmony_ci    mmsDecodeBuffer.curPosition_ = 0;
926e5d0e473Sopenharmony_ci    mmsDecodeBuffer.totolLength_ = PDU_COUNT;
927e5d0e473Sopenharmony_ci    MmsBodyPart part;
928e5d0e473Sopenharmony_ci    mmsBody.mmsBodyParts_.push_back(part);
929e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.DecodeMultipart(mmsDecodeBuffer));
930e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.DecodeMmsBody(mmsDecodeBuffer, mmsHeader));
931e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.EncodeMmsBody(mmsEncodeBuffer));
932e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.EncodeMmsHeaderContentType(mmsHeader, mmsEncodeBuffer));
933e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.IsContentLocationPartExist(""));
934e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.IsContentIdPartExist(""));
935e5d0e473Sopenharmony_ci    mmsBody.DumpMmsBody();
936e5d0e473Sopenharmony_ci    mmsBody.GetBodyPartCount();
937e5d0e473Sopenharmony_ci    std::vector<MmsBodyPart> parts;
938e5d0e473Sopenharmony_ci    mmsBody.GetMmsBodyPart(parts);
939e5d0e473Sopenharmony_ci
940e5d0e473Sopenharmony_ci    mmsDecodeBuffer.curPosition_ = PDU_COUNT;
941e5d0e473Sopenharmony_ci    mmsDecodeBuffer.totolLength_ = 0;
942e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.DecodeMultipart(mmsDecodeBuffer));
943e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.DecodeMmsBody(mmsDecodeBuffer, mmsHeader));
944e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.EncodeMmsBody(mmsEncodeBuffer));
945e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBody.EncodeMmsHeaderContentType(mmsHeader, mmsEncodeBuffer));
946e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.IsContentLocationPartExist(""));
947e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.IsContentIdPartExist(""));
948e5d0e473Sopenharmony_ci
949e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.IsBodyPartExist(mmsBodyPart));
950e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.AddMmsBodyPart(mmsBodyPart));
951e5d0e473Sopenharmony_ci    mmsBodyPart.isSmilFile_ = true;
952e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.AddMmsBodyPart(mmsBodyPart));
953e5d0e473Sopenharmony_ci    mmsBodyPart.isSmilFile_ = false;
954e5d0e473Sopenharmony_ci    mmsBody.bHaveSmilPart_ = true;
955e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.AddMmsBodyPart(mmsBodyPart));
956e5d0e473Sopenharmony_ci    mmsBodyPart.isSmilFile_ = true;
957e5d0e473Sopenharmony_ci    mmsBodyPart.SetSmilFile(false);
958e5d0e473Sopenharmony_ci    mmsBodyPart.IsSmilFile();
959e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.AddMmsBodyPart(mmsBodyPart));
960e5d0e473Sopenharmony_ci}
961e5d0e473Sopenharmony_ci
962e5d0e473Sopenharmony_ci/**
963e5d0e473Sopenharmony_ci
964e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsBody_0002
965e5d0e473Sopenharmony_ci * @tc.name     Test MmsBody
966e5d0e473Sopenharmony_ci * @tc.desc     Function test
967e5d0e473Sopenharmony_ci */
968e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsMmsGtest_MmsBody_0002, Function | MediumTest | Level1)
969e5d0e473Sopenharmony_ci{
970e5d0e473Sopenharmony_ci    MmsBody mmsBody;
971e5d0e473Sopenharmony_ci    MmsDecodeBuffer mmsDecodeBuffer;
972e5d0e473Sopenharmony_ci    MmsHeader mmsHeader;
973e5d0e473Sopenharmony_ci    MmsEncodeBuffer mmsEncodeBuffer;
974e5d0e473Sopenharmony_ci    MmsBodyPart mmsBodyPart;
975e5d0e473Sopenharmony_ci    mmsDecodeBuffer.curPosition_ = 0;
976e5d0e473Sopenharmony_ci    mmsDecodeBuffer.totolLength_ = PDU_COUNT;
977e5d0e473Sopenharmony_ci    MmsBodyPart part;
978e5d0e473Sopenharmony_ci    std::string strCt = INPUT_STR;
979e5d0e473Sopenharmony_ci    std::string getCt;
980e5d0e473Sopenharmony_ci    part.SetContentType(strCt);
981e5d0e473Sopenharmony_ci    part.GetContentType(getCt);
982e5d0e473Sopenharmony_ci    EXPECT_STREQ(strCt.c_str(), getCt.c_str());
983e5d0e473Sopenharmony_ci    part.SetContentId(strCt);
984e5d0e473Sopenharmony_ci    part.GetContentId(getCt);
985e5d0e473Sopenharmony_ci    EXPECT_STREQ(strCt.c_str(), getCt.c_str());
986e5d0e473Sopenharmony_ci    part.SetContentLocation(strCt);
987e5d0e473Sopenharmony_ci    part.GetContentLocation(getCt);
988e5d0e473Sopenharmony_ci    EXPECT_STREQ(strCt.c_str(), getCt.c_str());
989e5d0e473Sopenharmony_ci    part.SetContentDisposition(strCt);
990e5d0e473Sopenharmony_ci    part.GetContentDisposition(getCt);
991e5d0e473Sopenharmony_ci    EXPECT_STREQ(strCt.c_str(), getCt.c_str());
992e5d0e473Sopenharmony_ci    part.SetFileName(strCt);
993e5d0e473Sopenharmony_ci    EXPECT_STREQ(strCt.c_str(), part.GetPartFileName().c_str());
994e5d0e473Sopenharmony_ci    part.GetContentType();
995e5d0e473Sopenharmony_ci    part.GetPartHeader();
996e5d0e473Sopenharmony_ci    EXPECT_STREQ(strCt.c_str(), getCt.c_str());
997e5d0e473Sopenharmony_ci    mmsBody.mmsBodyParts_.push_back(part);
998e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBody.AddMmsBodyPart(mmsBodyPart));
999e5d0e473Sopenharmony_ci}
1000e5d0e473Sopenharmony_ci
1001e5d0e473Sopenharmony_ci/**
1002e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsMsg_0001
1003e5d0e473Sopenharmony_ci * @tc.name     Test MmsMsg
1004e5d0e473Sopenharmony_ci * @tc.desc     Function test
1005e5d0e473Sopenharmony_ci */
1006e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsMmsGtest_MmsMsg_0001, Function | MediumTest | Level1)
1007e5d0e473Sopenharmony_ci{
1008e5d0e473Sopenharmony_ci    MmsMsg mmsMsg;
1009e5d0e473Sopenharmony_ci    uint32_t outLen;
1010e5d0e473Sopenharmony_ci    std::vector<MmsAddress> toAddrs = {};
1011e5d0e473Sopenharmony_ci    MmsAttachment mmsAttachment;
1012e5d0e473Sopenharmony_ci    std::vector<MmsAttachment> attachments = {};
1013e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.DecodeMsg(""));
1014e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.DecodeMsg(nullptr, 0));
1015e5d0e473Sopenharmony_ci    mmsMsg.EncodeMsg(outLen);
1016e5d0e473Sopenharmony_ci    MmsAddress address(INPUT_STR);
1017e5d0e473Sopenharmony_ci    mmsMsg.SetMmsFrom(address);
1018e5d0e473Sopenharmony_ci    mmsMsg.GetMmsFrom();
1019e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.SetMmsTo(toAddrs));
1020e5d0e473Sopenharmony_ci    std::string value = INPUT_STR;
1021e5d0e473Sopenharmony_ci    mmsMsg.SetHeaderStringValue(0, value);
1022e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderStringValue(0);
1023e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderContentTypeStart();
1024e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.AddAttachment(mmsAttachment));
1025e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.GetAllAttachment(attachments));
1026e5d0e473Sopenharmony_ci}
1027e5d0e473Sopenharmony_ci
1028e5d0e473Sopenharmony_ci/**
1029e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsMsg_0002
1030e5d0e473Sopenharmony_ci * @tc.name     Test MmsMsg
1031e5d0e473Sopenharmony_ci * @tc.desc     Function test
1032e5d0e473Sopenharmony_ci */
1033e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SmsMmsGtest_MmsMsg_0002, Function | MediumTest | Level1)
1034e5d0e473Sopenharmony_ci{
1035e5d0e473Sopenharmony_ci    MmsMsg mmsMsg;
1036e5d0e473Sopenharmony_ci    std::vector<MmsAddress> toAddrs = {};
1037e5d0e473Sopenharmony_ci    MmsAttachment mmsAttachment;
1038e5d0e473Sopenharmony_ci    std::vector<MmsAttachment> attachments = {};
1039e5d0e473Sopenharmony_ci    std::unique_ptr<char[]> inBuff = std::make_unique<char[]>(2);
1040e5d0e473Sopenharmony_ci    inBuff[0] = 1;
1041e5d0e473Sopenharmony_ci    inBuff[1] = 1;
1042e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.DecodeMsg(std::move(inBuff), 2));
1043e5d0e473Sopenharmony_ci
1044e5d0e473Sopenharmony_ci    mmsMsg.SetMmsVersion(1);
1045e5d0e473Sopenharmony_ci    mmsMsg.GetMmsVersion();
1046e5d0e473Sopenharmony_ci    mmsMsg.SetMmsMessageType(1);
1047e5d0e473Sopenharmony_ci    mmsMsg.GetMmsMessageType();
1048e5d0e473Sopenharmony_ci    mmsMsg.SetMmsTransactionId("1");
1049e5d0e473Sopenharmony_ci    mmsMsg.GetMmsTransactionId();
1050e5d0e473Sopenharmony_ci    mmsMsg.SetMmsDate(1);
1051e5d0e473Sopenharmony_ci    mmsMsg.GetMmsDate();
1052e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.SetMmsTo(toAddrs));
1053e5d0e473Sopenharmony_ci    mmsMsg.GetMmsTo(toAddrs);
1054e5d0e473Sopenharmony_ci    mmsMsg.SetHeaderOctetValue(0, 0);
1055e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderOctetValue(0);
1056e5d0e473Sopenharmony_ci    mmsMsg.SetHeaderIntegerValue(0, 0);
1057e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderIntegerValue(0);
1058e5d0e473Sopenharmony_ci    mmsMsg.SetHeaderLongValue(0, 0);
1059e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderLongValue(0);
1060e5d0e473Sopenharmony_ci
1061e5d0e473Sopenharmony_ci    mmsMsg.SetHeaderEncodedStringValue(0, INPUT_STR, 0);
1062e5d0e473Sopenharmony_ci    MmsAddress address(INPUT_STR);
1063e5d0e473Sopenharmony_ci    mmsMsg.AddHeaderAddressValue(0, address);
1064e5d0e473Sopenharmony_ci    std::vector<MmsAddress> addressValue;
1065e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderAllAddressValue(0, addressValue);
1066e5d0e473Sopenharmony_ci    mmsMsg.SetHeaderContentType(INPUT_STR);
1067e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderContentType();
1068e5d0e473Sopenharmony_ci    mmsMsg.GetHeaderContentTypeStart();
1069e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.AddAttachment(mmsAttachment));
1070e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsMsg.GetAllAttachment(attachments));
1071e5d0e473Sopenharmony_ci}
1072e5d0e473Sopenharmony_ci
1073e5d0e473Sopenharmony_ci/**
1074e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsBodyPartHeader_0001
1075e5d0e473Sopenharmony_ci * @tc.name     Test MmsBodyPartHeader
1076e5d0e473Sopenharmony_ci * @tc.desc     Function test
1077e5d0e473Sopenharmony_ci */
1078e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsBodyPartHeader_0001, Function | MediumTest | Level1)
1079e5d0e473Sopenharmony_ci{
1080e5d0e473Sopenharmony_ci    auto mmsBodyPartHeader = std::make_shared<MmsBodyPartHeader>();
1081e5d0e473Sopenharmony_ci    MmsDecodeBuffer decodeBuffer;
1082e5d0e473Sopenharmony_ci    uint32_t len = 1;
1083e5d0e473Sopenharmony_ci    decodeBuffer.curPosition_ = 0;
1084e5d0e473Sopenharmony_ci    decodeBuffer.totolLength_ = 0;
1085e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->DecodeContentDisposition(decodeBuffer, len));
1086e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->DecodeContentLocation(decodeBuffer, len));
1087e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->DecodeContentId(decodeBuffer, len));
1088e5d0e473Sopenharmony_ci
1089e5d0e473Sopenharmony_ci    uint32_t dispLen = 1;
1090e5d0e473Sopenharmony_ci    uint32_t beginPos = 1;
1091e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->DecodeDispositionParameter(decodeBuffer, dispLen, beginPos));
1092e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->DecodeWellKnownHeader(decodeBuffer, len));
1093e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->DecodeApplicationHeader(decodeBuffer, len));
1094e5d0e473Sopenharmony_ci
1095e5d0e473Sopenharmony_ci    std::string str = TEST_STR;
1096e5d0e473Sopenharmony_ci    mmsBodyPartHeader->SetContentId(str);
1097e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->GetContentId(str));
1098e5d0e473Sopenharmony_ci    mmsBodyPartHeader->SetContentTransferEncoding(str);
1099e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->GetContentTransferEncoding(str));
1100e5d0e473Sopenharmony_ci    mmsBodyPartHeader->SetContentLocation(str);
1101e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->GetContentDisposition(str));
1102e5d0e473Sopenharmony_ci
1103e5d0e473Sopenharmony_ci    MmsEncodeBuffer encodeBuffer;
1104e5d0e473Sopenharmony_ci    mmsBodyPartHeader->strContentTransferEncoding_ = "";
1105e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->EncodeContentTransferEncoding(encodeBuffer));
1106e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->EncodeContentLocation(encodeBuffer));
1107e5d0e473Sopenharmony_ci
1108e5d0e473Sopenharmony_ci    mmsBodyPartHeader->strContentTransferEncoding_ = str;
1109e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->EncodeContentLocation(encodeBuffer));
1110e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->EncodeContentId(encodeBuffer));
1111e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsBodyPartHeader->EncodeContentDisposition(encodeBuffer));
1112e5d0e473Sopenharmony_ci
1113e5d0e473Sopenharmony_ci    encodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE;
1114e5d0e473Sopenharmony_ci    mmsBodyPartHeader->strContentLocation_ = SRC_STR;
1115e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->EncodeMmsBodyPartHeader(encodeBuffer));
1116e5d0e473Sopenharmony_ci    mmsBodyPartHeader->strContentID_ = SRC_STR;
1117e5d0e473Sopenharmony_ci    encodeBuffer.curPosition_ = CODE_BUFFER_MAX_SIZE;
1118e5d0e473Sopenharmony_ci    auto otherBodyPartHeader = std::make_shared<MmsBodyPartHeader>();
1119e5d0e473Sopenharmony_ci    *otherBodyPartHeader = *mmsBodyPartHeader;
1120e5d0e473Sopenharmony_ci    otherBodyPartHeader->DumpBodyPartHeader();
1121e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->EncodeContentLocation(encodeBuffer));
1122e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->EncodeContentId(encodeBuffer));
1123e5d0e473Sopenharmony_ci    EXPECT_FALSE(mmsBodyPartHeader->EncodeMmsBodyPartHeader(encodeBuffer));
1124e5d0e473Sopenharmony_ci}
1125e5d0e473Sopenharmony_ci
1126e5d0e473Sopenharmony_ci/**
1127e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsBuffer_0002
1128e5d0e473Sopenharmony_ci * @tc.name     Test MmsBuffer
1129e5d0e473Sopenharmony_ci * @tc.desc     Function test
1130e5d0e473Sopenharmony_ci */
1131e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsBuffer_0002, Function | MediumTest | Level1)
1132e5d0e473Sopenharmony_ci{
1133e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::MmsBuffer_0002 -->");
1134e5d0e473Sopenharmony_ci    MmsBuffer mmsBuffer;
1135e5d0e473Sopenharmony_ci    uint32_t len = 1;
1136e5d0e473Sopenharmony_ci    bool retBool;
1137e5d0e473Sopenharmony_ci    mmsBuffer.ReadDataBuffer(len);
1138e5d0e473Sopenharmony_ci    mmsBuffer.ReadDataBuffer(len, MAX_MMS_MSG_PART_LEN + 1);
1139e5d0e473Sopenharmony_ci    mmsBuffer.ReadDataBuffer(MAX_MMS_MSG_PART_LEN, len);
1140e5d0e473Sopenharmony_ci    retBool = mmsBuffer.WriteDataBuffer(nullptr, 0);
1141e5d0e473Sopenharmony_ci    retBool = mmsBuffer.WriteDataBuffer(std::make_unique<char[]>(len), MAX_MMS_MSG_PART_LEN + 1);
1142e5d0e473Sopenharmony_ci    retBool = mmsBuffer.WriteDataBuffer(std::make_unique<char[]>(len), 0);
1143e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1144e5d0e473Sopenharmony_ci    retBool = mmsBuffer.WriteDataBuffer(std::make_unique<char[]>(len), len);
1145e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1146e5d0e473Sopenharmony_ci}
1147e5d0e473Sopenharmony_ci
1148e5d0e473Sopenharmony_ci/**
1149e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsConnCallback_0001
1150e5d0e473Sopenharmony_ci * @tc.name     Test MmsConnCallback
1151e5d0e473Sopenharmony_ci * @tc.desc     Function test
1152e5d0e473Sopenharmony_ci */
1153e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsConnCallback_0001, Function | MediumTest | Level1)
1154e5d0e473Sopenharmony_ci{
1155e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::MmsConnCallback_0001 -->");
1156e5d0e473Sopenharmony_ci    MmsConnCallbackStub connCallback;
1157e5d0e473Sopenharmony_ci    sptr<NetManagerStandard::NetHandle> nullHandle;
1158e5d0e473Sopenharmony_ci    sptr<NetManagerStandard::NetAllCapabilities> nullCap;
1159e5d0e473Sopenharmony_ci    sptr<NetManagerStandard::NetLinkInfo> nullInfo;
1160e5d0e473Sopenharmony_ci    connCallback.SyncNetworkResponse(true);
1161e5d0e473Sopenharmony_ci    EXPECT_EQ(connCallback.NetAvailable(nullHandle), TELEPHONY_ERR_FAIL);
1162e5d0e473Sopenharmony_ci    EXPECT_EQ(connCallback.NetCapabilitiesChange(nullHandle, nullCap), ERR_NONE);
1163e5d0e473Sopenharmony_ci    EXPECT_EQ(connCallback.NetConnectionPropertiesChange(nullHandle, nullInfo), ERR_NONE);
1164e5d0e473Sopenharmony_ci    EXPECT_EQ(connCallback.NetLost(nullHandle), ERR_NONE);
1165e5d0e473Sopenharmony_ci    EXPECT_EQ(connCallback.NetUnavailable(), ERR_NONE);
1166e5d0e473Sopenharmony_ci    EXPECT_EQ(connCallback.NetBlockStatusChange(nullHandle, false), ERR_NONE);
1167e5d0e473Sopenharmony_ci}
1168e5d0e473Sopenharmony_ci
1169e5d0e473Sopenharmony_ci/**
1170e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsNetworkManager_0001
1171e5d0e473Sopenharmony_ci * @tc.name     Test MmsNetworkManager
1172e5d0e473Sopenharmony_ci * @tc.desc     Function test
1173e5d0e473Sopenharmony_ci */
1174e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsNetworkManager_0001, Function | MediumTest | Level1)
1175e5d0e473Sopenharmony_ci{
1176e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::MmsNetworkManager_0001 -->");
1177e5d0e473Sopenharmony_ci    MmsNetworkManager mmsNetworkMgr;
1178e5d0e473Sopenharmony_ci    EXPECT_GE(mmsNetworkMgr.AcquireNetwork(0, 0), 0);
1179e5d0e473Sopenharmony_ci    mmsNetworkMgr.ReleaseNetwork(0, 0);
1180e5d0e473Sopenharmony_ci    EXPECT_NE(mmsNetworkMgr.GetOrCreateHttpClient(0), nullptr);
1181e5d0e473Sopenharmony_ci}
1182e5d0e473Sopenharmony_ci
1183e5d0e473Sopenharmony_ci/**
1184e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsNetworkClient_0001
1185e5d0e473Sopenharmony_ci * @tc.name     Test MmsNetworkClient
1186e5d0e473Sopenharmony_ci * @tc.desc     Function test
1187e5d0e473Sopenharmony_ci */
1188e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsNetworkClient_0001, Function | MediumTest | Level1)
1189e5d0e473Sopenharmony_ci{
1190e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::MmsNetworkClient_0001 -->");
1191e5d0e473Sopenharmony_ci    AccessMmsToken token;
1192e5d0e473Sopenharmony_ci    MmsNetworkClient client(0);
1193e5d0e473Sopenharmony_ci    client.GetIfaceName();
1194e5d0e473Sopenharmony_ci    std::string storeDirName;
1195e5d0e473Sopenharmony_ci    client.Execute(METHOD_POST, "", storeDirName, "ua", "uaprof");
1196e5d0e473Sopenharmony_ci    client.Execute(METHOD_GET, "", storeDirName, "ua", "uaprof");
1197e5d0e473Sopenharmony_ci    client.HttpRequest(METHOD_POST, "", TEST_DATA, "ua", "uaprof");
1198e5d0e473Sopenharmony_ci    client.DeleteMmsPdu("");
1199e5d0e473Sopenharmony_ci
1200e5d0e473Sopenharmony_ci    MmsNetworkClient clientSlot1(1);
1201e5d0e473Sopenharmony_ci    clientSlot1.Execute(METHOD_POST, "", storeDirName, "ua", "uaprof");
1202e5d0e473Sopenharmony_ci    clientSlot1.HttpRequest(METHOD_POST, "", storeDirName, "ua", "uaprof");
1203e5d0e473Sopenharmony_ci    client.responseData_ = "";
1204e5d0e473Sopenharmony_ci
1205e5d0e473Sopenharmony_ci    std::string strBuf = TEST_DATA;
1206e5d0e473Sopenharmony_ci    EXPECT_EQ(client.GetMmsPduFromFile(storeDirName, strBuf), false);
1207e5d0e473Sopenharmony_ci    EXPECT_EQ(client.GetMmsPduFromFile(TEST_PATH, strBuf), false);
1208e5d0e473Sopenharmony_ci
1209e5d0e473Sopenharmony_ci    std::unique_ptr<char[]> bufp = std::make_unique<char[]>(BUF_LEN);
1210e5d0e473Sopenharmony_ci    EXPECT_EQ(client.WriteBufferToFile(nullptr, BUF_LEN, storeDirName), false);
1211e5d0e473Sopenharmony_ci    EXPECT_EQ(client.WriteBufferToFile(bufp, BUF_LEN, storeDirName), false);
1212e5d0e473Sopenharmony_ci    EXPECT_EQ(client.WriteBufferToFile(bufp, BUF_LEN, storeDirName), false);
1213e5d0e473Sopenharmony_ci}
1214e5d0e473Sopenharmony_ci
1215e5d0e473Sopenharmony_ci/**
1216e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsPersistHelper_0001
1217e5d0e473Sopenharmony_ci * @tc.name     Test MmsPersistHelper
1218e5d0e473Sopenharmony_ci * @tc.desc     Function test
1219e5d0e473Sopenharmony_ci */
1220e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsPersistHelper_0001, Function | MediumTest | Level1)
1221e5d0e473Sopenharmony_ci{
1222e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::PersistHelper_0001 -->");
1223e5d0e473Sopenharmony_ci    MmsPersistHelper persistHelper;
1224e5d0e473Sopenharmony_ci
1225e5d0e473Sopenharmony_ci    std::string urlStr = TEST_URLS;
1226e5d0e473Sopenharmony_ci    std::vector<std::string> urls = persistHelper.SplitUrl(urlStr);
1227e5d0e473Sopenharmony_ci    EXPECT_EQ(urls.size(), URL_COUNT);
1228e5d0e473Sopenharmony_ci
1229e5d0e473Sopenharmony_ci    std::string *pduData = new (std::nothrow) std::string(SPLIT_PDU_COUNT * SPLIT_PDU_LENGTH, 'a');
1230e5d0e473Sopenharmony_ci    std::vector<std::string> pdus = persistHelper.SplitPdu(*pduData);
1231e5d0e473Sopenharmony_ci    EXPECT_EQ(pdus.size(), SPLIT_PDU_COUNT * 2);
1232e5d0e473Sopenharmony_ci    delete pduData;
1233e5d0e473Sopenharmony_ci
1234e5d0e473Sopenharmony_ci    persistHelper.SetMmsPdu(TEST_DATA);
1235e5d0e473Sopenharmony_ci    persistHelper.GetMmsPdu(TEST_PATH);
1236e5d0e473Sopenharmony_ci    persistHelper.DeleteMmsPdu(TEST_PATH);
1237e5d0e473Sopenharmony_ci    std::string dbUrl;
1238e5d0e473Sopenharmony_ci    EXPECT_FALSE(persistHelper.InsertMmsPdu(TEST_DATA, dbUrl));
1239e5d0e473Sopenharmony_ci}
1240e5d0e473Sopenharmony_ci
1241e5d0e473Sopenharmony_ci/**
1242e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsPersistHelper_0002
1243e5d0e473Sopenharmony_ci * @tc.name     Test MmsPersistHelper
1244e5d0e473Sopenharmony_ci * @tc.desc     Function test
1245e5d0e473Sopenharmony_ci */
1246e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsPersistHelper_0002, Function | MediumTest | Level1)
1247e5d0e473Sopenharmony_ci{
1248e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::PersistHelper_0002 -->");
1249e5d0e473Sopenharmony_ci    AccessMmsToken token;
1250e5d0e473Sopenharmony_ci    MmsPersistHelper persistHelper;
1251e5d0e473Sopenharmony_ci
1252e5d0e473Sopenharmony_ci    persistHelper.SetMmsPdu(TEST_DATA);
1253e5d0e473Sopenharmony_ci    persistHelper.GetMmsPdu(TEST_PATH);
1254e5d0e473Sopenharmony_ci    persistHelper.DeleteMmsPdu(TEST_PATH);
1255e5d0e473Sopenharmony_ci    std::string dbUrl;
1256e5d0e473Sopenharmony_ci    EXPECT_FALSE(persistHelper.InsertMmsPdu(TEST_DATA, dbUrl));
1257e5d0e473Sopenharmony_ci}
1258e5d0e473Sopenharmony_ci
1259e5d0e473Sopenharmony_ci/**
1260e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsPersistHelper_0003
1261e5d0e473Sopenharmony_ci * @tc.name     Test MmsPersistHelper
1262e5d0e473Sopenharmony_ci * @tc.desc     Function test
1263e5d0e473Sopenharmony_ci */
1264e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsPersistHelper_0003, Function | MediumTest | Level1)
1265e5d0e473Sopenharmony_ci{
1266e5d0e473Sopenharmony_ci    AccessMmsToken token;
1267e5d0e473Sopenharmony_ci    auto mmsPersistHelper = DelayedSingleton<MmsPersistHelper>::GetInstance();
1268e5d0e473Sopenharmony_ci    std::string dbUrl = "1,";
1269e5d0e473Sopenharmony_ci    mmsPersistHelper->DeleteMmsPdu(dbUrl);
1270e5d0e473Sopenharmony_ci    std::string mmsPdu = "text";
1271e5d0e473Sopenharmony_ci    mmsPersistHelper->InsertMmsPdu(mmsPdu, dbUrl);
1272e5d0e473Sopenharmony_ci    mmsPersistHelper->GetMmsPdu(dbUrl);
1273e5d0e473Sopenharmony_ci    EXPECT_TRUE(mmsPersistHelper != nullptr);
1274e5d0e473Sopenharmony_ci}
1275e5d0e473Sopenharmony_ci
1276e5d0e473Sopenharmony_ci/**
1277e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsEncodeBuffer_0001
1278e5d0e473Sopenharmony_ci * @tc.name     Test MmsEncodeBuffer
1279e5d0e473Sopenharmony_ci * @tc.desc     Function test
1280e5d0e473Sopenharmony_ci */
1281e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsEncodeBuffer_0001, Function | MediumTest | Level1)
1282e5d0e473Sopenharmony_ci{
1283e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::MmsEncodeBuffer_0001 -->");
1284e5d0e473Sopenharmony_ci    MmsEncodeBuffer mmsEncodeBuffer;
1285e5d0e473Sopenharmony_ci    bool retBool;
1286e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeShortLength(1);
1287e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1288e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeShortLength(31);
1289e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1290e5d0e473Sopenharmony_ci
1291e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeShortInteger(1);
1292e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1293e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeShortLength(31);
1294e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1295e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = MAX_MMS_MSG_PART_LEN + 1;
1296e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeShortLength(1);
1297e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1298e5d0e473Sopenharmony_ci
1299e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
1300e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeOctet(1);
1301e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1302e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = MAX_MMS_MSG_PART_LEN + 1;
1303e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeShortLength(1);
1304e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1305e5d0e473Sopenharmony_ci
1306e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
1307e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeValueLength(1);
1308e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1309e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeValueLength(31);
1310e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1311e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeValueLength(31);
1312e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = MAX_MMS_MSG_PART_LEN + 1;
1313e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1314e5d0e473Sopenharmony_ci}
1315e5d0e473Sopenharmony_ci
1316e5d0e473Sopenharmony_ci/**
1317e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_MmsEncodeBuffer_0002
1318e5d0e473Sopenharmony_ci * @tc.name     Test MmsEncodeBuffer
1319e5d0e473Sopenharmony_ci * @tc.desc     Function test
1320e5d0e473Sopenharmony_ci */
1321e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, MmsEncodeBuffer_0002, Function | MediumTest | Level1)
1322e5d0e473Sopenharmony_ci{
1323e5d0e473Sopenharmony_ci    TELEPHONY_LOGI("TelSMSMMSTest::MmsEncodeBuffer_0002 -->");
1324e5d0e473Sopenharmony_ci    MmsEncodeBuffer mmsEncodeBuffer;
1325e5d0e473Sopenharmony_ci    bool retBool;
1326e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
1327e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeInteger(1);
1328e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1329e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeInteger(INPUT_INTEGER);
1330e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1331e5d0e473Sopenharmony_ci
1332e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeLongInteger(0);
1333e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1334e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeLongInteger(1);
1335e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1336e5d0e473Sopenharmony_ci
1337e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeQuotedText("");
1338e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1339e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = MAX_MMS_MSG_PART_LEN + 1;
1340e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeQuotedText(BEGIN_STR);
1341e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1342e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
1343e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeQuotedText(END_STR);
1344e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1345e5d0e473Sopenharmony_ci
1346e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeTokenText("");
1347e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1348e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = MAX_MMS_MSG_PART_LEN + 1;
1349e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeTokenText(BEGIN_STR);
1350e5d0e473Sopenharmony_ci    EXPECT_FALSE(retBool);
1351e5d0e473Sopenharmony_ci    mmsEncodeBuffer.curPosition_ = 0;
1352e5d0e473Sopenharmony_ci    retBool = mmsEncodeBuffer.EncodeTokenText(END_STR);
1353e5d0e473Sopenharmony_ci    EXPECT_TRUE(retBool);
1354e5d0e473Sopenharmony_ci}
1355e5d0e473Sopenharmony_ci
1356e5d0e473Sopenharmony_ci/**
1357e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_SendMms_0001
1358e5d0e473Sopenharmony_ci * @tc.name     Test SendMms_0001
1359e5d0e473Sopenharmony_ci * @tc.desc     Function test
1360e5d0e473Sopenharmony_ci */
1361e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, SendMms_0001, Function | MediumTest | Level1)
1362e5d0e473Sopenharmony_ci{
1363e5d0e473Sopenharmony_ci    std::shared_ptr<SmsService> smsService = std::make_shared<SmsService>();
1364e5d0e473Sopenharmony_ci    int32_t slotId = 0;
1365e5d0e473Sopenharmony_ci    std::u16string mmsc = u"";
1366e5d0e473Sopenharmony_ci    std::u16string data = u"";
1367e5d0e473Sopenharmony_ci    std::u16string ua = u"";
1368e5d0e473Sopenharmony_ci    std::u16string uaprof = u"";
1369e5d0e473Sopenharmony_ci    int64_t time = 0;
1370e5d0e473Sopenharmony_ci    int32_t notAccess = smsService->SendMms(slotId, mmsc, data, ua, uaprof, time);
1371e5d0e473Sopenharmony_ci    AccessMmsToken token;
1372e5d0e473Sopenharmony_ci    int32_t noMmsc = smsService->SendMms(slotId, mmsc, data, ua, uaprof, time);
1373e5d0e473Sopenharmony_ci    mmsc = StringUtils::ToUtf16(VNET_MMSC);
1374e5d0e473Sopenharmony_ci    int32_t noData = smsService->SendMms(slotId, mmsc, data, ua, uaprof, time);
1375e5d0e473Sopenharmony_ci    EXPECT_GE(notAccess, 0);
1376e5d0e473Sopenharmony_ci    EXPECT_GE(noMmsc, 0);
1377e5d0e473Sopenharmony_ci    EXPECT_GE(noData, 0);
1378e5d0e473Sopenharmony_ci}
1379e5d0e473Sopenharmony_ci
1380e5d0e473Sopenharmony_ci/**
1381e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_DownloadMms_0001
1382e5d0e473Sopenharmony_ci * @tc.name     Test DownloadMms_0001
1383e5d0e473Sopenharmony_ci * @tc.desc     Function test
1384e5d0e473Sopenharmony_ci */
1385e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, DownloadMms_0001, Function | MediumTest | Level1)
1386e5d0e473Sopenharmony_ci{
1387e5d0e473Sopenharmony_ci    std::shared_ptr<SmsService> smsService = std::make_shared<SmsService>();
1388e5d0e473Sopenharmony_ci    int32_t slotId = 0;
1389e5d0e473Sopenharmony_ci    std::u16string mmsc = u"";
1390e5d0e473Sopenharmony_ci    std::u16string data = u"";
1391e5d0e473Sopenharmony_ci    std::u16string ua = u"";
1392e5d0e473Sopenharmony_ci    std::u16string uaprof = u"";
1393e5d0e473Sopenharmony_ci    int64_t time = 0;
1394e5d0e473Sopenharmony_ci    int32_t notAccess = smsService->DownloadMms(slotId, mmsc, data, ua, uaprof);
1395e5d0e473Sopenharmony_ci    AccessMmsToken token;
1396e5d0e473Sopenharmony_ci    int32_t noMmsc = smsService->DownloadMms(slotId, mmsc, data, ua, uaprof);
1397e5d0e473Sopenharmony_ci    mmsc = StringUtils::ToUtf16(VNET_MMSC);
1398e5d0e473Sopenharmony_ci    int32_t noData = smsService->DownloadMms(slotId, mmsc, data, ua, uaprof);
1399e5d0e473Sopenharmony_ci    notAccess = smsService->SendMms(slotId, mmsc, data, ua, uaprof, time, true);
1400e5d0e473Sopenharmony_ci    noMmsc = smsService->SendMms(slotId, mmsc, data, ua, uaprof, time, true);
1401e5d0e473Sopenharmony_ci    mmsc = StringUtils::ToUtf16(VNET_MMSC);
1402e5d0e473Sopenharmony_ci    noData = smsService->SendMms(slotId, mmsc, data, ua, uaprof, time, true);
1403e5d0e473Sopenharmony_ci    EXPECT_GE(notAccess, 0);
1404e5d0e473Sopenharmony_ci    EXPECT_GE(noMmsc, 0);
1405e5d0e473Sopenharmony_ci    EXPECT_GE(noData, 0);
1406e5d0e473Sopenharmony_ci}
1407e5d0e473Sopenharmony_ci
1408e5d0e473Sopenharmony_ci/**
1409e5d0e473Sopenharmony_ci * @tc.number   Telephony_SmsMmsGtest_ServiceAfterSendMmsComplete_0001
1410e5d0e473Sopenharmony_ci * @tc.name     Test ServiceAfterSendMmsComplete_0001
1411e5d0e473Sopenharmony_ci * @tc.desc     Function test
1412e5d0e473Sopenharmony_ci */
1413e5d0e473Sopenharmony_ciHWTEST_F(BranchMmsTest, ServiceAfterSendMmsComplete_0001, Function | MediumTest | Level1)
1414e5d0e473Sopenharmony_ci{
1415e5d0e473Sopenharmony_ci    std::shared_ptr<SmsService> smsService = std::make_shared<SmsService>();
1416e5d0e473Sopenharmony_ci    int32_t slotId = 0;
1417e5d0e473Sopenharmony_ci    int64_t time = 0;
1418e5d0e473Sopenharmony_ci    DataShare::DataShareValuesBucket sessionBucket;
1419e5d0e473Sopenharmony_ci    uint16_t dataBaseId = 0;
1420e5d0e473Sopenharmony_ci    std::string sendStatus = "";
1421e5d0e473Sopenharmony_ci    smsService->ServiceAfterSendMmsComplete(slotId, time, dataBaseId, sessionBucket, sendStatus);
1422e5d0e473Sopenharmony_ci    dataBaseId = 1;
1423e5d0e473Sopenharmony_ci    smsService->ServiceAfterSendMmsComplete(slotId, time, dataBaseId, sessionBucket, sendStatus);
1424e5d0e473Sopenharmony_ci}
1425e5d0e473Sopenharmony_ci} // namespace Telephony
1426e5d0e473Sopenharmony_ci} // namespace OHOS
1427