• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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