1 /*
2 * Copyright (c) 2022 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 #define private public
17 #define protected public
18
19 #include <string>
20
21 #include <gtest/gtest.h>
22 #include "system_ability_definition.h"
23
24 #include "bundle_active_usage_database.h"
25
26 using namespace testing::ext;
27
28 namespace OHOS {
29 namespace DeviceUsageStats {
30 class BundleActiveUsageDatabaseTest : public testing::Test {
31 public:
32 static void SetUpTestCase(void);
33 static void TearDownTestCase(void);
34 void SetUp();
35 void TearDown();
36 };
37
SetUpTestCase(void)38 void BundleActiveUsageDatabaseTest::SetUpTestCase(void)
39 {
40 }
41
TearDownTestCase(void)42 void BundleActiveUsageDatabaseTest::TearDownTestCase(void)
43 {
44 }
45
SetUp(void)46 void BundleActiveUsageDatabaseTest::SetUp(void)
47 {
48 }
49
TearDown(void)50 void BundleActiveUsageDatabaseTest::TearDown(void)
51 {
52 }
53
54 /*
55 * @tc.name: BundleActiveUsageDatabaseTest_OnPackageUninstalled_001
56 * @tc.desc: OnPackageUninstalled
57 * @tc.type: FUNC
58 * @tc.require: issuesI5SOZY
59 */
60 HWTEST_F(BundleActiveUsageDatabaseTest, BundleActiveUsageDatabaseTest_OnPackageUninstalled_001,
61 Function | MediumTest | Level0)
62 {
63 auto database = std::make_shared<BundleActiveUsageDatabase>();
64 int32_t userId = 0;
65 std::string bundleName = "defaultBundleName";std::vector<std::vector<int64_t>>
66 database->sortedTableArray_ = {{1}};
67 database->eventTableName_ = "defaultBundleName";
68 database->bundleHistoryTableName_ = "defaultBundleName";
69 database->moduleRecordsTableName_ = "defaultBundleName";
70 database->formRecordsTableName_ = "defaultBundleName";
71
72 database->OnPackageUninstalled(userId, bundleName);
73 EXPECT_NE(database, nullptr);
74 }
75
76 /*
77 * @tc.name: BundleActiveUsageDatabaseTest_GetOptimalIntervalType_001
78 * @tc.desc: GetOptimalIntervalType
79 * @tc.type: FUNC
80 * @tc.require: issuesI5SOZY
81 */
82 HWTEST_F(BundleActiveUsageDatabaseTest, BundleActiveUsageDatabaseTest_GetOptimalIntervalType_001,
83 Function | MediumTest | Level0)
84 {
85 auto database = std::make_shared<BundleActiveUsageDatabase>();
86 int64_t beginTime = 0;
87 int64_t endTime = 2000000000000000;
88 database->sortedTableArray_ = {{0}, {1}};
89 database->GetOptimalIntervalType(beginTime, endTime);
90 EXPECT_NE(database, nullptr);
91 }
92
93 /*
94 * @tc.name: BundleActiveUsageDatabaseTest_NearIndexOnOrBeforeCurrentTime_001
95 * @tc.desc: NearIndexOnOrBeforeCurrentTime
96 * @tc.type: FUNC
97 * @tc.require: issuesI5SOZY
98 */
99 HWTEST_F(BundleActiveUsageDatabaseTest, BundleActiveUsageDatabaseTest_NearIndexOnOrBeforeCurrentTime_001,
100 Function | MediumTest | Level0)
101 {
102 auto database = std::make_shared<BundleActiveUsageDatabase>();
103 int64_t currentTime = 0,
104 vector<int64_t> sortedTableArray {0};
105 database->NearIndexOnOrBeforeCurrentTime(currentTime, sortedTableArray);
106 EXPECT_NE(database, nullptr);
107 }
108 } // namespace DeviceUsageStats
109 } // namespace OHOS