• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "avmetadatahelper_server_unit_test.h"
17 #include "avmetadatahelper_server.h"
18 #include "media_log.h"
19 #include "media_errors.h"
20 #include "engine_factory_repo.h"
21 #include "uri_helper.h"
22 #include "media_dfx.h"
23 #include "ipc_skeleton.h"
24 
25 using namespace OHOS;
26 using namespace OHOS::Media;
27 using namespace std;
28 using namespace testing::ext;
29 
30 namespace OHOS {
31 namespace Media {
32 namespace Test {
SetUpTestCase(void)33 void AVMetadataHelperServerUnitTest::SetUpTestCase(void) {}
34 
TearDownTestCase(void)35 void AVMetadataHelperServerUnitTest::TearDownTestCase(void) {}
36 
SetUp(void)37 void AVMetadataHelperServerUnitTest::SetUp(void)
38 {
39     avmetadataHelperServer_ = std::make_shared<AVMetadataHelperServer>();
40 }
41 
TearDown(void)42 void AVMetadataHelperServerUnitTest::TearDown(void)
43 {
44     avmetadataHelperServer_ = nullptr;
45 }
46 
47 /**
48  * @tc.name: SetHelperCallback
49  * @tc.desc: SetHelperCallback
50  * @tc.type: FUNC
51  */
52 HWTEST_F(AVMetadataHelperServerUnitTest, SetHelperCallback, TestSize.Level1)
53 {
54     std::shared_ptr<HelperCallback> callback = std::make_shared<TestHelperCallback>();
55     avmetadataHelperServer_->currState_ = HelperStates::HELPER_IDLE;
56     int32_t ret = avmetadataHelperServer_->SetHelperCallback(callback);
57     avmetadataHelperServer_->currState_ = HelperStates::HELPER_STATE_ERROR;
58     ret = avmetadataHelperServer_->SetHelperCallback(callback);
59     EXPECT_EQ(ret, MSERR_INVALID_OPERATION);
60 }
61 
62 /**
63  * @tc.name: ChangeState
64  * @tc.desc: ChangeState
65  * @tc.type: FUNC
66  */
67 HWTEST_F(AVMetadataHelperServerUnitTest, ChangeState, TestSize.Level1)
68 {
69     HelperStates state = HelperStates::HELPER_STATE_ERROR;
70     avmetadataHelperServer_->ChangeState(state);
71     state = HelperStates::HELPER_PREPARED;
72     avmetadataHelperServer_->currState_ = HelperStates::HELPER_IDLE;
73     avmetadataHelperServer_->ChangeState(state);
74     avmetadataHelperServer_->currState_ = HelperStates::HELPER_RELEASED;
75     avmetadataHelperServer_->ChangeState(state);
76     state = HelperStates::HELPER_CALL_DONE;
77     avmetadataHelperServer_->currState_ = HelperStates::HELPER_CALL_DONE;
78     avmetadataHelperServer_->ChangeState(state);
79     avmetadataHelperServer_->currState_ = HelperStates::HELPER_PREPARED;
80     avmetadataHelperServer_->ChangeState(state);
81     state = HelperStates::HELPER_RELEASED;
82     avmetadataHelperServer_->currState_ = HelperStates::HELPER_IDLE;
83     avmetadataHelperServer_->ChangeState(state);
84     avmetadataHelperServer_->currState_ = HelperStates::HELPER_PREPARED;
85     avmetadataHelperServer_->ChangeState(state);
86     avmetadataHelperServer_->currState_ = HelperStates::HELPER_CALL_DONE;
87     avmetadataHelperServer_->ChangeState(state);
88     state = HelperStates::HELPER_STATE_ERROR;
89     avmetadataHelperServer_->ChangeState(state);
90     EXPECT_EQ(avmetadataHelperServer_->currState_, HelperStates::HELPER_STATE_ERROR);
91 }
92 
93 /**
94  * @tc.name: NotifyErrorCallback
95  * @tc.desc: NotifyErrorCallback
96  * @tc.type: FUNC
97  */
98 HWTEST_F(AVMetadataHelperServerUnitTest, NotifyErrorCallback, TestSize.Level1)
99 {
100     int32_t code = 0;
101     const std::string msg = "test";
102     avmetadataHelperServer_->helperCb_ = nullptr;
103     avmetadataHelperServer_->NotifyErrorCallback(code, msg);
104     avmetadataHelperServer_->helperCb_ = std::make_shared<TestHelperCallback>();
105     avmetadataHelperServer_->NotifyErrorCallback(code, msg);
106     EXPECT_EQ(avmetadataHelperServer_->isLiveStream_, false);
107 }
108 
109 /**
110  * @tc.name: GetStatusDescription
111  * @tc.desc: GetStatusDescription
112  * @tc.type: FUNC
113  */
114 HWTEST_F(AVMetadataHelperServerUnitTest, GetStatusDescription, TestSize.Level1)
115 {
116     int32_t status = -1;
117     avmetadataHelperServer_->GetStatusDescription(status);
118     status = 5;
119     avmetadataHelperServer_->GetStatusDescription(status);
120     status = 2;
121     avmetadataHelperServer_->GetStatusDescription(status);
122     EXPECT_EQ(avmetadataHelperServer_->isLiveStream_, false);
123 }
124 
125 /**
126  * @tc.name: MediaTrace
127  * @tc.desc: MediaTrace
128  * @tc.type: FUNC
129  */
130 HWTEST_F(AVMetadataHelperServerUnitTest, MediaTrace, TestSize.Level1)
131 {
132     MediaTrace trace("AVMetadataHelperServer::Test", HITRACE_LEVEL_CRITICAL);
133     EXPECT_EQ(HITRACE_LEVEL_CRITICAL, trace.level_);
134 }
135 }  // namespace Test
136 }  // namespace Media
137 }  // namespace OHOS