• 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 expected 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 "camera_hdi_test_securestream_v1_3.h"
17 #include <functional>
18 
19 using namespace OHOS;
20 using namespace std;
21 using namespace testing::ext;
22 using namespace OHOS::Camera;
SetUpTestCase(void)23 void CameraHdiTestSecureStreamV1_3::SetUpTestCase(void) {}
TearDownTestCase(void)24 void CameraHdiTestSecureStreamV1_3::TearDownTestCase(void) {}
SetUp(void)25 void CameraHdiTestSecureStreamV1_3::SetUp(void)
26 {
27     cameraTest = std::make_shared<OHOS::Camera::Test>();
28     cameraTest->Init(); // assert inside
29 }
30 
TearDown(void)31 void CameraHdiTestSecureStreamV1_3::TearDown(void)
32 {
33     cameraTest->Close();
34 }
35 
36 /**
37  * @tc.name: SUB_Driver_Camera_SecureStream_0200
38  * @tc.desc: invoke Secure stream
39  * @tc.size: MediumTest
40  * @tc.type: Function
41  */
42 HWTEST_F(CameraHdiTestSecureStreamV1_3, SUB_Driver_Camera_SecureStream_0200, TestSize.Level1)
43 {
44     cameraTest->OpenSecureCamera(DEVICE_1);
45     // PREVIEW stream
46     cameraTest->intents = {PREVIEW};
47     cameraTest->streamOperatorCallbackV1_3 = new OHOS::Camera::Test::TestStreamOperatorCallbackV1_3();
48 
49     cameraTest->rc = cameraTest->cameraDeviceV1_3->GetStreamOperator_V1_3(cameraTest->streamOperatorCallbackV1_3,
50         cameraTest->streamOperator_V1_3);
51     EXPECT_EQ(false, cameraTest->rc != HDI::Camera::V1_0::NO_ERROR);
52     cameraTest->streamInfoPre = std::make_shared<OHOS::HDI::Camera::V1_1::StreamInfo_V1_1>();
53     cameraTest->DefaultInfosPreview(cameraTest->streamInfoPre);
54     std::shared_ptr<OHOS::Camera::Test::StreamConsumer> consumer_pre =
55 		std::make_shared<OHOS::Camera::Test::StreamConsumer>();
56     OHOS::HDI::Camera::V1_1::ExtendedStreamInfo extendedStreamInfo =
57     {
58         .type = static_cast<OHOS::HDI::Camera::V1_1::ExtendedStreamInfoType>(
59             OHOS::HDI::Camera::V1_3::EXTENDED_STREAM_INFO_SECURE),
60         .width = 1024,
61         .height = 768,
62         .format = PIXEL_FMT_YCRCB_420_SP,
63         .dataspace = UT_DATA_SIZE,
__anonb64980c20102() 64         .bufferQueue = consumer_pre->CreateProducerSeq([this](void* addr, uint32_t size) {
65             cameraTest->DumpImageFile(cameraTest->streamIdPreview, "yuv", addr, size);
66         })
67     };
68     cameraTest->consumerMap_[StreamIntent::PREVIEW] = consumer_pre;
69     cameraTest->streamInfoPre->extendedStreamInfos = {extendedStreamInfo};
70     cameraTest->streamInfos.push_back(*(cameraTest->streamInfoPre));
71     cameraTest->rc = cameraTest->streamOperator_V1_3->CreateStreams_V1_1(cameraTest->streamInfos);
72     EXPECT_EQ(false, cameraTest->rc != HDI::Camera::V1_0::NO_ERROR);
73     cameraTest->rc = cameraTest->streamOperator_V1_3->CommitStreams_V1_1(
74         static_cast<OHOS::HDI::Camera::V1_1::OperationMode_V1_1>(OHOS::HDI::Camera::V1_3::OperationMode::SECURE),
75         cameraTest->abilityVec);
76     EXPECT_EQ(false, cameraTest->rc != HDI::Camera::V1_0::NO_ERROR);
77 
78     cameraTest->StartCapture(cameraTest->streamIdPreview, cameraTest->captureIdPreview, false, true);
79     //release stream
80     cameraTest->captureIds = {cameraTest->captureIdPreview};
81     cameraTest->streamIds = {cameraTest->streamIdPreview};
82     cameraTest->StopStream(cameraTest->captureIds, cameraTest->streamIds);
83 }
84 
85 /**
86  * @tc.name: SUB_Driver_Camera_SecureStream_0300
87  * @tc.desc: invoke GetSecureCameraSeq, verification
88  * @tc.size: MediumTest
89  * @tc.type: Function
90  */
91 HWTEST_F(CameraHdiTestSecureStreamV1_3, SUB_Driver_Camera_SecureStream_0300, TestSize.Level1)
92 {
93     cameraTest->OpenSecureCamera(DEVICE_1);
94     EXPECT_NE(cameraTest, nullptr);
95     EXPECT_NE(cameraTest->cameraDeviceV1_3, nullptr);
96     uint64_t SeqId;
97     int32_t res = cameraTest->cameraDeviceV1_3->GetSecureCameraSeq(SeqId);
98     std::cout << "SeqId: " << SeqId << std::endl;
99     EXPECT_EQ(res, HDI::Camera::V1_0::NO_ERROR);
100 }