• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 
16 #include <iostream>
17 #include <gtest/gtest.h>
18 #include "plugin_manager.h"
19 #include "video_processing_engine.h"
20 #include "vpe_errors.h"
21 
22 using namespace std;
23 using namespace testing::ext;
24 
25 namespace OHOS {
26 namespace Media {
27 namespace VideoProcessingEngine {
28 class VPEFrameworkUnitTest : public testing::Test {
29 public:
SetUpTestCase(void)30     static void SetUpTestCase(void) {};
TearDownTestCase(void)31     static void TearDownTestCase(void) {};
SetUp()32     void SetUp() {};
TearDown()33     void TearDown() {};
34 };
35 
36 /**
37  * tc.number desc
38  *                      |01|01|01|
39  *         ClassNo ------|  |  |------ FuncTestNo
40  *                          |
41  *                        FuncNo
42  */
43 
44 /**
45  * @tc.number    : 010101
46  * @tc.name      : PluginManager_Init
47  * @tc.desc      : Test for PluginManager Init
48  */
49 HWTEST_F(VPEFrameworkUnitTest, PluginManager_Init_010101, TestSize.Level1)
50 {
51     std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>();
52     ASSERT_EQ(VPE_ERR_OK, pluginManager->Init());
53 }
54 
55 /**
56  * @tc.number    : 010201
57  * @tc.name      : PluginManager_FindColorSpaceConverterPlugin
58  * @tc.desc      : Test for PluginManager FindColorSpaceConverterPlugin
59  */
60 HWTEST_F(VPEFrameworkUnitTest, PluginManager_FindColorSpaceConverterPlugin_010201, TestSize.Level1)
61 {
62     std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>();
63     ASSERT_EQ(VPE_ERR_OK, pluginManager->Init());
64 
65     ColorSpaceDescription inputDesc = {}, outputDesc = {};
66     auto ret = pluginManager->FindColorSpaceConverterPlugin(inputDesc, outputDesc);
67     std::cout << "Find plugin " << (ret == nullptr ? "false" : "successfully");
68 }
69 
70 /**
71  * @tc.number    : 010301
72  * @tc.name      : PluginManager_FindColorSpaceConverterDisplayPlugin
73  * @tc.desc      : Test for PluginManager FindColorSpaceConverterDisplayPlugin
74  */
75 HWTEST_F(VPEFrameworkUnitTest, PluginManager_FindColorSpaceConverterDisplayPlugin_010301, TestSize.Level1)
76 {
77     std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>();
78     ASSERT_EQ(VPE_ERR_OK, pluginManager->Init());
79 
80     auto ret = pluginManager->FindColorSpaceConverterDisplayPlugin();
81     std::cout << "Find plugin " << (ret.empty() ? "false" : "successfully") << endl;
82 }
83 
84 /**
85  * @tc.number    : 010401
86  * @tc.name      : PluginManager_FindMetadataGeneratorPlugin
87  * @tc.desc      : Test for PluginManager FindMetadataGeneratorPlugin
88  */
89 HWTEST_F(VPEFrameworkUnitTest, PluginManager_FindMetadataGeneratorPlugin_010401, TestSize.Level1)
90 {
91     std::unique_ptr<Plugin::PluginManager> pluginManager = std::make_unique<Plugin::PluginManager>();
92     ASSERT_EQ(VPE_ERR_OK, pluginManager->Init());
93 
94     ColorSpaceDescription inputDesc = {};
95     auto ret = pluginManager->FindMetadataGeneratorPlugin(inputDesc);
96     std::cout << "Find plugin " << (ret == nullptr ? "false" : "successfully") << endl;
97 }
98 
99 /**
100  * @tc.number    : 020101
101  * @tc.name      : VideoProcessingEngine_CreateColorSpaceConverter
102  * @tc.desc      : Test for VideoProcessingEngine CreateColorSpaceConverter
103  */
104 HWTEST_F(VPEFrameworkUnitTest, VideoProcessingEngine_CreateColorSpaceConverter_020101, TestSize.Level1)
105 {
106     int ret = 0;
107     auto &vpe = VideoProcessingEngine::GetInstance();
108 
109     ColorSpaceDescription inputDesc = {}, outputDesc = {};
110     auto impl = vpe.CreateColorSpaceConverter(inputDesc, outputDesc);
111     if (impl == nullptr) {
112         ret = -1;
113     }
114     cout << "Create ColorSpaceConverter " << (impl == nullptr ? "failed" : "successfully") << endl;
115     EXPECT_EQ(ret, 0);
116 }
117 
118 /**
119  * @tc.number    : 020201
120  * @tc.name      : VideoProcessingEngine_CreateColorSpaceConverterDisplay
121  * @tc.desc      : Test for VideoProcessingEngine CreateColorSpaceConverterDisplay
122  */
123 HWTEST_F(VPEFrameworkUnitTest, VideoProcessingEngine_CreateColorSpaceConverterDisplay_020201, TestSize.Level1)
124 {
125     int ret = 0;
126     auto &vpe = VideoProcessingEngine::GetInstance();
127 
128     auto ret = vpe.CreateColorSpaceConverterDisplay();
129     if (ret.empty()) {
130         ret = -1;
131     }
132     cout << "Create CreateColorSpaceConverterDisplay " << (ret.empty() ? "failed" : "successfully") << endl;
133     EXPECT_EQ(ret, 0);
134 }
135 
136 /**
137  * @tc.number    : 020301
138  * @tc.name      : VideoProcessingEngine_CreateMetadataGenerator
139  * @tc.desc      : Test for VideoProcessingEngine CreateMetadataGenerator
140  */
141 HWTEST_F(VPEFrameworkUnitTest, VideoProcessingEngine_CreateMetadataGenerator_020301, TestSize.Level1)
142 {
143     int ret = 0;
144     auto &vpe = VideoProcessingEngine::GetInstance();
145 
146     ColorSpaceDescription inputDesc = {};
147     auto impl = vpe.CreateMetadataGenerator(inputDesc);
148     if (impl == nullptr) {
149         ret = -1;
150     }
151     cout << "Create CreateMetadataGenerator " << (impl == nullptr ? "failed" : "successfully") << endl;
152     EXPECT_EQ(ret, 0);
153 }
154 } // namespace VideoProcessingEngine
155 } // namespace Media
156 } // namespace OHOS