1 /*
2 * Copyright (C) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "ringtone_asset_test.h"
17
18 #define private public
19 #include "ringtone_asset.h"
20 #undef private
21 #include "ringtone_errno.h"
22
23 using namespace std;
24 using namespace OHOS;
25 using namespace testing::ext;
26
27 namespace OHOS {
28 namespace Media {
29 shared_ptr<RingtoneAsset> g_ringtoneAsset;
30
SetUpTestCase()31 void RingtoneAssetTest::SetUpTestCase()
32 {
33 g_ringtoneAsset = std::make_shared<RingtoneAsset>();
34 EXPECT_NE(g_ringtoneAsset, nullptr);
35 }
36
TearDownTestCase()37 void RingtoneAssetTest::TearDownTestCase()
38 {
39 }
40
41 // SetUp:Execute before each test case
SetUp()42 void RingtoneAssetTest::SetUp() {}
43
TearDown(void)44 void RingtoneAssetTest::TearDown(void) {}
45
46 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetOpenStatus_test_001, TestSize.Level0)
47 {
48 const int toneType = 2;
49 int ret = g_ringtoneAsset->GetOpenStatus(toneType);
50 EXPECT_EQ(ret, E_INVALID_VALUES);
51 g_ringtoneAsset->RemoveOpenStatus(toneType);
52 int32_t openStatus = 1;
53 g_ringtoneAsset->SetOpenStatus(toneType, openStatus);
54 ret = g_ringtoneAsset->GetOpenStatus(toneType);
55 EXPECT_EQ(ret, openStatus);
56 g_ringtoneAsset->SetOpenStatus(toneType, openStatus);
57 g_ringtoneAsset->RemoveOpenStatus(toneType);
58 ret = g_ringtoneAsset->GetOpenStatus(toneType);
59 EXPECT_EQ(ret, E_INVALID_VALUES);
60 }
61
62 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetId_test_001, TestSize.Level0)
63 {
64 auto assetId = g_ringtoneAsset->GetId();
65 EXPECT_EQ(assetId, 0);
66 const int32_t id = 1;
67 g_ringtoneAsset->SetId(id);
68 assetId = g_ringtoneAsset->GetId();
69 EXPECT_EQ(assetId, id);
70 }
71
72 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetSize_test_001, TestSize.Level0)
73 {
74 auto assetSize = g_ringtoneAsset->GetSize();
75 EXPECT_EQ(assetSize, 0);
76 const int64_t size = 3267; // 3267 is ringtone column size
77 g_ringtoneAsset->SetSize(size);
78 assetSize = g_ringtoneAsset->GetSize();
79 EXPECT_EQ(assetSize, size);
80 }
81
82 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetPath_test_001, TestSize.Level0)
83 {
84 auto assetPath = g_ringtoneAsset->GetPath();
85 EXPECT_EQ(assetPath, "");
86 const string path = "data/tmp";
87 g_ringtoneAsset->SetPath(path);
88 assetPath = g_ringtoneAsset->GetPath();
89 EXPECT_EQ(assetPath, path);
90 }
91
92 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetDisplayName_test_001, TestSize.Level0)
93 {
94 auto assetdisplayName = g_ringtoneAsset->GetDisplayName();
95 EXPECT_EQ(assetdisplayName, "");
96 const string displayName = "ringtoneAsset_GetDisplayName_test_001.ogg";
97 g_ringtoneAsset->SetDisplayName(displayName);
98 assetdisplayName = g_ringtoneAsset->GetDisplayName();
99 EXPECT_EQ(assetdisplayName, displayName);
100 }
101
102 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetTitle_test_001, TestSize.Level0)
103 {
104 const string title = "ringtoneAsset_GetTitle_test_001";
105 g_ringtoneAsset->SetTitle(title);
106 auto assetTitle = g_ringtoneAsset->GetTitle();
107 EXPECT_EQ(assetTitle, title);
108 }
109
110 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetMimeType_test_001, TestSize.Level0)
111 {
112 const string mimeType = "ogg";
113 g_ringtoneAsset->SetMimeType(mimeType);
114 auto assetMimeType = g_ringtoneAsset->GetMimeType();
115 EXPECT_EQ(assetMimeType, mimeType);
116 }
117
118 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetSourceType_test_001, TestSize.Level0)
119 {
120 int32_t sourceType = 1;
121 g_ringtoneAsset->SetSourceType(sourceType);
122 auto assetSourceType = g_ringtoneAsset->GetSourceType();
123 EXPECT_EQ(assetSourceType, sourceType);
124 }
125
126 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetDateAdded_test_001, TestSize.Level0)
127 {
128 const int64_t dateAdded = 1559276457;
129 g_ringtoneAsset->SetDateAdded(dateAdded);
130 auto assetDateAdded = g_ringtoneAsset->GetDateAdded();
131 EXPECT_EQ(assetDateAdded, dateAdded);
132 }
133
134 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetDateModified_test_001, TestSize.Level0)
135 {
136 const int64_t dateModified = 1559276475;
137 g_ringtoneAsset->SetDateModified(dateModified);
138 auto assetDateModified = g_ringtoneAsset->GetDateModified();
139 EXPECT_EQ(assetDateModified, dateModified);
140 }
141
142 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetDateTaken_test_001, TestSize.Level0)
143 {
144 const int64_t dataTaken = 1559277457;
145 g_ringtoneAsset->SetDateTaken(dataTaken);
146 auto assetDataTaken = g_ringtoneAsset->GetDateTaken();
147 EXPECT_EQ(assetDataTaken, dataTaken);
148 }
149
150 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetDuration_test_001, TestSize.Level0)
151 {
152 const int32_t duration = 117;
153 g_ringtoneAsset->SetDuration(duration);
154 auto assetDuration = g_ringtoneAsset->GetDuration();
155 EXPECT_EQ(assetDuration, duration);
156 }
157
158 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetShottoneType_test_001, TestSize.Level0)
159 {
160 const int32_t type = 1;
161 g_ringtoneAsset->SetShottoneType(type);
162 auto assetType = g_ringtoneAsset->GetShottoneType();
163 EXPECT_EQ(assetType, type);
164 }
165
166 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetShottoneSourceType_test_001, TestSize.Level0)
167 {
168 const int32_t type = 0;
169 g_ringtoneAsset->SetShottoneSourceType(type);
170 auto assetType = g_ringtoneAsset->GetShottoneSourceType();
171 EXPECT_EQ(assetType, type);
172 }
173
174 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetNotificationtoneType_test_001, TestSize.Level0)
175 {
176 const int32_t type = 1;
177 g_ringtoneAsset->SetNotificationtoneType(type);
178 auto assetType = g_ringtoneAsset->GetNotificationtoneType();
179 EXPECT_EQ(assetType, type);
180 }
181
182 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetNotificationtoneSourceType_test_001, TestSize.Level0)
183 {
184 const int32_t type = 0;
185 g_ringtoneAsset->SetNotificationtoneSourceType(type);
186 auto assetType = g_ringtoneAsset->GetNotificationtoneSourceType();
187 EXPECT_EQ(assetType, type);
188 }
189
190 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetRingtoneType_test_001, TestSize.Level0)
191 {
192 const int32_t type = 1;
193 g_ringtoneAsset->SetRingtoneType(type);
194 auto assetType = g_ringtoneAsset->GetRingtoneType();
195 EXPECT_EQ(assetType, type);
196 }
197
198 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetRingtoneSourceType_test_001, TestSize.Level0)
199 {
200 const int32_t type = 1;
201 g_ringtoneAsset->SetRingtoneSourceType(type);
202 auto assetType = g_ringtoneAsset->GetRingtoneSourceType();
203 EXPECT_EQ(assetType, type);
204 }
205
206 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetAlarmtoneType_test_001, TestSize.Level0)
207 {
208 const int32_t type = 0;
209 g_ringtoneAsset->SetAlarmtoneType(type);
210 auto assetType = g_ringtoneAsset->GetAlarmtoneType();
211 EXPECT_EQ(assetType, type);
212 }
213
214 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetAlarmtoneSourceType_test_001, TestSize.Level0)
215 {
216 const int32_t type = 1;
217 g_ringtoneAsset->SetAlarmtoneSourceType(type);
218 auto assetType = g_ringtoneAsset->GetAlarmtoneSourceType();
219 EXPECT_EQ(assetType, type);
220 }
221
222 HWTEST_F(RingtoneAssetTest, ringtoneAsset_GetMemberValue_test_001, TestSize.Level0)
223 {
224 variant<int32_t, int64_t, string, double> memberValue;
225 const string name = "ringtoneAsset_GetMemberValue_test_001";
226 auto assetMemberValue = g_ringtoneAsset->GetMemberValue(name);
227 EXPECT_EQ(assetMemberValue, memberValue);
228 }
229 } // namespace Media
230 } // namespace OHOS