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