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 <memory> 17 #include <iostream> 18 #include "gtest/gtest.h" 19 #include "media_dfx.h" 20 #include "common/media_core.h" 21 #include "meta/meta.h" 22 23 using namespace testing::ext; 24 using namespace OHOS::Media; 25 26 namespace { 27 constexpr uint32_t TEST_UID_ID_1 = 1; 28 constexpr int32_t ERROR_CODE = 5; 29 } 30 31 namespace OHOS { 32 namespace Media { 33 class MediaDfxTest : public testing::Test { 34 public: SetUpTestCase(void)35 static void SetUpTestCase(void) {}; TearDownTestCase(void)36 static void TearDownTestCase(void) {}; SetUp(void)37 void SetUp(void) {}; TearDown(void)38 void TearDown(void) {}; 39 }; 40 41 HWTEST_F(MediaDfxTest, CREATE_MEDIA_INFO, TestSize.Level1) 42 { 43 uint64_t instanceId = 1; 44 int32_t ret = CreateMediaInfo(CallType::AVPLAYER, TEST_UID_ID_1, instanceId); 45 ASSERT_EQ(ret, MSERR_OK); 46 47 std::shared_ptr<Meta> meta = std::make_shared<Meta>(); 48 meta->SetData(Tag::SCREEN_CAPTURE_ERR_MSG, "SCREEN_CAPTURE_ERR_MSG"); 49 meta->SetData(Tag::SCREEN_CAPTURE_ERR_CODE, ERROR_CODE); 50 ret = AppendMediaInfo(meta, instanceId); 51 ASSERT_EQ(ret, MSERR_OK); 52 53 ret = ReportMediaInfo(instanceId); 54 ASSERT_EQ(ret, MSERR_OK); 55 } 56 57 HWTEST_F(MediaDfxTest, CREATE_MEDIA_INFO_1, TestSize.Level1) 58 { 59 uint64_t instanceId = 1; 60 int32_t ret = CreateMediaInfo(CallType::AVPLAYER, TEST_UID_ID_1, instanceId); 61 ASSERT_EQ(ret, MSERR_OK); 62 63 std::shared_ptr<Meta> meta = std::make_shared<Meta>(); 64 meta->SetData(Tag::SCREEN_CAPTURE_ERR_MSG, "SCREEN_CAPTURE_ERR_MSG"); 65 meta->SetData(Tag::SCREEN_CAPTURE_ERR_CODE, ERROR_CODE); 66 ret = AppendMediaInfo(meta, instanceId); 67 ASSERT_EQ(ret, MSERR_OK); 68 69 std::shared_ptr<Meta> meta1 = std::make_shared<Meta>(); 70 ret = AppendMediaInfo(meta1, instanceId); 71 ASSERT_NE(ret, MSERR_OK); 72 ASSERT_EQ(ret, MSERR_INVALID_OPERATION); 73 74 ret = ReportMediaInfo(instanceId); 75 ASSERT_EQ(ret, MSERR_OK); 76 } 77 78 HWTEST_F(MediaDfxTest, CREATE_MEDIA_INFO_2, TestSize.Level1) 79 { 80 uint64_t instanceId = 1; 81 int32_t ret = CreateMediaInfo(CallType::AVPLAYER, TEST_UID_ID_1, instanceId); 82 ASSERT_EQ(ret, MSERR_OK); 83 84 std::shared_ptr<Meta> meta = std::make_shared<Meta>(); 85 meta->SetData(Tag::SCREEN_CAPTURE_ERR_MSG, "SCREEN_CAPTURE_ERR_MSG"); 86 meta->SetData(Tag::SCREEN_CAPTURE_ERR_CODE, ERROR_CODE); 87 ret = AppendMediaInfo(meta, instanceId); 88 ASSERT_EQ(ret, MSERR_OK); 89 90 ret = ReportMediaInfo(instanceId); 91 ASSERT_EQ(ret, MSERR_OK); 92 ret = ReportMediaInfo(instanceId); 93 ASSERT_NE(ret, MSERR_OK); 94 ASSERT_EQ(ret, MSERR_INVALID_OPERATION); 95 } 96 97 HWTEST_F(MediaDfxTest, FAULT_SOURCE_EVENT, TestSize.Level1) 98 { 99 std::string appName = "appName"; 100 uint64_t instanceId = 1; 101 std::string callerType = "callerType"; 102 int8_t sourceType = 1; 103 std::string sourceUrl = "sourceUrl"; 104 std::string errorMessage = "errorMessage"; 105 FaultSourceEventWrite(appName, instanceId, callerType, sourceType, sourceUrl, errorMessage); 106 } 107 108 HWTEST_F(MediaDfxTest, FAULT_SCREEN_CAPTURE_EVENT, TestSize.Level1) 109 { 110 std::string appName = "appName"; 111 uint64_t instanceId = 1; 112 int8_t captureMode = 1; 113 int8_t dataMode = 1; 114 int32_t errorCode = 1; 115 std::string errorMessage = "errorMessage"; 116 FaultScreenCaptureEventWrite(appName, instanceId, captureMode, dataMode, errorCode, errorMessage); 117 } 118 } 119 }