154aa6d63Sopenharmony_ci/*
254aa6d63Sopenharmony_ci * Copyright (c) 2024-2024 Huawei Device Co., Ltd.
354aa6d63Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
454aa6d63Sopenharmony_ci * you may not use this file except in compliance with the License.
554aa6d63Sopenharmony_ci * You may obtain a copy of the License at
654aa6d63Sopenharmony_ci *
754aa6d63Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
854aa6d63Sopenharmony_ci *
954aa6d63Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1054aa6d63Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1154aa6d63Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1254aa6d63Sopenharmony_ci * See the License for the specific language governing permissions and
1354aa6d63Sopenharmony_ci * limitations under the License.
1454aa6d63Sopenharmony_ci */
1554aa6d63Sopenharmony_ci
1654aa6d63Sopenharmony_ci#include <memory>
1754aa6d63Sopenharmony_ci#include <fstream>
1854aa6d63Sopenharmony_ci#include <gtest/gtest.h>
1954aa6d63Sopenharmony_ci
2054aa6d63Sopenharmony_ci#include "hap_utils.h"
2154aa6d63Sopenharmony_ci#include "byte_buffer.h"
2254aa6d63Sopenharmony_ci
2354aa6d63Sopenharmony_cinamespace OHOS {
2454aa6d63Sopenharmony_cinamespace SignatureTools {
2554aa6d63Sopenharmony_ci
2654aa6d63Sopenharmony_ciclass HapUtilsTest : public testing::Test {
2754aa6d63Sopenharmony_cipublic:
2854aa6d63Sopenharmony_ci    static void SetUpTestCase(void) {};
2954aa6d63Sopenharmony_ci    static void TearDownTestCase() {};
3054aa6d63Sopenharmony_ci    void SetUp() {};
3154aa6d63Sopenharmony_ci    void TearDown() {};
3254aa6d63Sopenharmony_ci};
3354aa6d63Sopenharmony_ci
3454aa6d63Sopenharmony_ci/**
3554aa6d63Sopenharmony_ci * @tc.name: GetAppIdentifier
3654aa6d63Sopenharmony_ci * @tc.desc: Test function of HapUtilsTest::GetAppIdentifier() interface for SUCCESS.
3754aa6d63Sopenharmony_ci * @tc.size: MEDIUM
3854aa6d63Sopenharmony_ci * @tc.type: FUNC
3954aa6d63Sopenharmony_ci * @tc.level Level 1
4054aa6d63Sopenharmony_ci * @tc.require: SR000H63TL
4154aa6d63Sopenharmony_ci */
4254aa6d63Sopenharmony_ciHWTEST_F(HapUtilsTest, GetAppIdentifier, testing::ext::TestSize.Level1)
4354aa6d63Sopenharmony_ci{
4454aa6d63Sopenharmony_ci    std::string content = "{\"type\":\"xxx\",\"bundle-info\":{\"app-identifier\":\"123\"}}";
4554aa6d63Sopenharmony_ci    std::string result = HapUtils::GetAppIdentifier(content);
4654aa6d63Sopenharmony_ci    int length = result.length();
4754aa6d63Sopenharmony_ci
4854aa6d63Sopenharmony_ci    EXPECT_NE(length, 0);
4954aa6d63Sopenharmony_ci}
5054aa6d63Sopenharmony_ci
5154aa6d63Sopenharmony_ci/**
5254aa6d63Sopenharmony_ci * @tc.name: GetHapSigningBlockMagic
5354aa6d63Sopenharmony_ci * @tc.desc: Test function of HapUtilsTest::GetHapSigningBlockMagic() interface for SUCCESS.
5454aa6d63Sopenharmony_ci * @tc.size: MEDIUM
5554aa6d63Sopenharmony_ci * @tc.type: FUNC
5654aa6d63Sopenharmony_ci * @tc.level Level 1
5754aa6d63Sopenharmony_ci * @tc.require: SR000H63TL
5854aa6d63Sopenharmony_ci */
5954aa6d63Sopenharmony_ciHWTEST_F(HapUtilsTest, GetHapSigningBlockMagic, testing::ext::TestSize.Level1)
6054aa6d63Sopenharmony_ci{
6154aa6d63Sopenharmony_ci    std::vector<int8_t> result = HapUtils::GetHapSigningBlockMagic(4);
6254aa6d63Sopenharmony_ci    int size = result.size();
6354aa6d63Sopenharmony_ci
6454aa6d63Sopenharmony_ci    EXPECT_NE(size, 0);
6554aa6d63Sopenharmony_ci}
6654aa6d63Sopenharmony_ci
6754aa6d63Sopenharmony_ci/**
6854aa6d63Sopenharmony_ci * @tc.name: GetHapSigningBlockVersion
6954aa6d63Sopenharmony_ci * @tc.desc: Test function of HapUtilsTest::GetHapSigningBlockVersion() interface for SUCCESS.
7054aa6d63Sopenharmony_ci * @tc.size: MEDIUM
7154aa6d63Sopenharmony_ci * @tc.type: FUNC
7254aa6d63Sopenharmony_ci * @tc.level Level 1
7354aa6d63Sopenharmony_ci * @tc.require: SR000H63TL
7454aa6d63Sopenharmony_ci */
7554aa6d63Sopenharmony_ciHWTEST_F(HapUtilsTest, GetHapSigningBlockVersion, testing::ext::TestSize.Level1)
7654aa6d63Sopenharmony_ci{
7754aa6d63Sopenharmony_ci    int result = HapUtils::GetHapSigningBlockVersion(4);
7854aa6d63Sopenharmony_ci
7954aa6d63Sopenharmony_ci    EXPECT_NE(result, 0);
8054aa6d63Sopenharmony_ci}
8154aa6d63Sopenharmony_ci
8254aa6d63Sopenharmony_ci/**
8354aa6d63Sopenharmony_ci * @tc.name: ReadFileToByteBuffer
8454aa6d63Sopenharmony_ci * @tc.desc: Test function of HapUtilsTest::ReadFileToByteBuffer() interface for FAILED.
8554aa6d63Sopenharmony_ci * @tc.size: MEDIUM
8654aa6d63Sopenharmony_ci * @tc.type: FUNC
8754aa6d63Sopenharmony_ci * @tc.level Level 1
8854aa6d63Sopenharmony_ci * @tc.require: SR000H63TL
8954aa6d63Sopenharmony_ci */
9054aa6d63Sopenharmony_ciHWTEST_F(HapUtilsTest, ReadFileToByteBuffer, testing::ext::TestSize.Level1)
9154aa6d63Sopenharmony_ci{
9254aa6d63Sopenharmony_ci    std::string file;
9354aa6d63Sopenharmony_ci    ByteBuffer buffer;
9454aa6d63Sopenharmony_ci    bool result = HapUtils::ReadFileToByteBuffer(file, buffer);
9554aa6d63Sopenharmony_ci
9654aa6d63Sopenharmony_ci    EXPECT_EQ(result, false);
9754aa6d63Sopenharmony_ci}
9854aa6d63Sopenharmony_ci} // namespace SignatureTools
9954aa6d63Sopenharmony_ci} // namespace OHOS