1 /*
2  * Copyright (c) 2022-2023 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 #include <securec.h>
16 #include "gtest/gtest.h"
17 
18 #include "softbus_adapter_timer.h"
19 #include "softbus_def.h"
20 #include "softbus_errcode.h"
21 
22 using namespace std;
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 const int32_t TIMER_TIMEOUT = 1000;
27 
28 class SoftbusTimeTest : public testing::Test {
29 protected:
30     static void SetUpTestCase(void);
31     static void TearDownTestCase(void);
32     void SetUp();
33     void TearDown();
34 };
35 
SetUpTestCase(void)36 void SoftbusTimeTest::SetUpTestCase(void)
37 {
38 }
39 
TearDownTestCase(void)40 void SoftbusTimeTest::TearDownTestCase(void)
41 {
42 }
43 
SetUp()44 void SoftbusTimeTest::SetUp()
45 {
46 }
47 
TearDown()48 void SoftbusTimeTest::TearDown()
49 {
50 }
51 
52 /*
53  * @tc.name: SoftBusTimerTest001
54  * @tc.desc: soft bus timer test
55  * @tc.type: FUNC
56  * @tc.require:
57  */
58 HWTEST_F(SoftbusTimeTest, SoftBusTimerTest001, TestSize.Level1)
59 {
60     void *timerId = NULL;
61     SoftBusSysTime times = {0};
62     int32_t ret;
63 
64     ret = SoftBusStartTimer(NULL, TIMER_TIMEOUT);
65     EXPECT_EQ(SOFTBUS_ERR, ret);
66     SoftBusCreateTimer(NULL, TIMER_TYPE_ONCE);
67     SoftBusCreateTimer(&timerId, TIMER_TYPE_ONCE);
68     ret = SoftBusStartTimer(timerId, TIMER_TIMEOUT);
69     EXPECT_NE(SOFTBUS_ERR, ret);
70     ret = SoftBusDeleteTimer(NULL);
71     EXPECT_EQ(SOFTBUS_ERR, ret);
72     ret = SoftBusDeleteTimer(timerId);
73     EXPECT_EQ(SOFTBUS_OK, ret);
74     ret = SoftBusGetTime(NULL);
75     EXPECT_EQ(SOFTBUS_INVALID_PARAM, ret);
76     ret = SoftBusGetTime(&times);
77     EXPECT_EQ(SOFTBUS_OK, ret);
78 }
79 
80 /*
81  * @tc.name: SoftBusTimerTest002
82  * @tc.desc: test SoftBusFormatTimestamp
83  * @tc.type: FUNC
84  * @tc.require:
85  */
86 HWTEST_F(SoftbusTimeTest, SoftBusTimerTest002, TestSize.Level1)
87 {
88     uint64_t timestamp1 = 946656000000;
89     const char *formated1 = SoftBusFormatTimestamp(timestamp1);
90     EXPECT_STREQ(formated1, "2000-01-01 00:00:00.000");
91 
92     uint64_t timestamp2 = 1705984496789;
93     const char *formated2 = SoftBusFormatTimestamp(timestamp2);
94     EXPECT_STREQ(formated2, "2024-01-23 12:34:56.789");
95 }
96 } // namespace OHOS
97