91 lines
2.9 KiB
C++
91 lines
2.9 KiB
C++
/*
|
|
* Copyright (c) 2023 Fancy Code.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#include "GtestUsing.h"
|
|
#include "HalTestTool.h"
|
|
#include "ILog.h"
|
|
#include "IMediaManager.h"
|
|
#include "MediaManagerTestTool.h"
|
|
#include <gmock/gmock.h>
|
|
#include <gtest/gtest.h>
|
|
#include <thread>
|
|
namespace MediaManagerTest
|
|
{
|
|
class MediaManagerTest : public testing::Test, public MediaManagerTestTool, public HalTestTool
|
|
{
|
|
public:
|
|
MediaManagerTest()
|
|
{
|
|
}
|
|
virtual ~MediaManagerTest()
|
|
{
|
|
}
|
|
static void SetUpTestCase()
|
|
{
|
|
CreateLogModule();
|
|
ILogInit(LOG_INSTANCE_TYPE_END);
|
|
}
|
|
static void TearDownTestCase()
|
|
{
|
|
ILogUnInit();
|
|
}
|
|
virtual void SetUp()
|
|
{
|
|
CreateAllCamerasMcok();
|
|
HalTestTool::Init();
|
|
MediaManagerTestTool::Init();
|
|
CreateHalCppModule();
|
|
CreateMediaManagerModule();
|
|
}
|
|
virtual void TearDown()
|
|
{
|
|
MediaManagerTestTool::UnInit();
|
|
HalTestTool::UnInit();
|
|
DestroyMediaManagerModule();
|
|
DestroyHalCppModule();
|
|
DestroyAllCamerasMock();
|
|
}
|
|
|
|
private:
|
|
void CreateAllCamerasMcok(void)
|
|
{
|
|
std::shared_ptr<VCameraHal> camera = HalTestTool::MakeCameraHalTest(CameraType::MAIN_CAMERA);
|
|
mAllCamerasMock[CameraType::MAIN_CAMERA] = camera;
|
|
}
|
|
void DestroyAllCamerasMock(void)
|
|
{
|
|
mAllCamerasMock.clear();
|
|
}
|
|
|
|
protected:
|
|
// const AppParam mAppParam;
|
|
std::map<CameraType, std::shared_ptr<VCameraHal>> mAllCamerasMock;
|
|
};
|
|
// ../output_files/test/bin/MediaManagerTest --gtest_filter=MediaManagerTest.INTEGRATION_MediaManager_EXAMPLE_Demo0
|
|
TEST_F(MediaManagerTest, INTEGRATION_MediaManager_EXAMPLE_Demo0)
|
|
{
|
|
SetAllCamerasResult(mAllCamerasMock);
|
|
std::shared_ptr<VMediaMonitor> monitor = MediaManagerTestTool::MakeMonitorMock();
|
|
IMediaManager::GetInstance()->Init();
|
|
IMediaManager::GetInstance()->SetMediaMonitor(monitor);
|
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
MockReportCameraEvent("test name", "test path", CameraEvent::PICTIRUE, CameraType::MAIN_CAMERA);
|
|
// MockAppClientConnect();
|
|
// std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
|
// MockSetRecordingStatus(RecordingStatus::RECORDING_START);
|
|
// std::this_thread::sleep_for(std::chrono::milliseconds(2000));
|
|
// IAppManager::GetInstance()->UnInit();
|
|
IMediaManager::GetInstance()->UnInit();
|
|
}
|
|
} // namespace MediaManagerTest
|