* Copyright (c) 2025 Huawei Device Co., Ltd.
* 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 "credential_base_test.h"
#include "credential_base.h"
using namespace testing::ext;
namespace HdcCredentialBase {
void HdcCredentialBaseTest::SetUpTestCase() {}
void HdcCredentialBaseTest::TearDownTestCase() {}
void HdcCredentialBaseTest::SetUp() {}
void HdcCredentialBaseTest::TearDown() {}
HWTEST_F(HdcCredentialBaseTest, TestCreatePathWithMode_NullDir, TestSize.Level1)
{
EXPECT_FALSE(CreatePathWithMode("", MODE));
}
HWTEST_F(HdcCredentialBaseTest, TestCreatePathWithMode_MultiLevelDir, TestSize.Level1)
{
EXPECT_FALSE(CreatePathWithMode("./1/2/3", MODE));
EXPECT_TRUE(CreatePathWithMode("./1", MODE));
EXPECT_TRUE(CreatePathWithMode("./1/2", MODE));
EXPECT_TRUE(CreatePathWithMode("./1/2/3", MODE));
EXPECT_EQ(RemovePath("./1"), 0);
}
HWTEST_F(HdcCredentialBaseTest, TestCreatePathWithMode_SimpleLevelDir, TestSize.Level1)
{
EXPECT_TRUE(CreatePathWithMode("./11", MODE));
EXPECT_EQ(RemoveDir("./11"), 0);
}
HWTEST_F(HdcCredentialBaseTest, TestCreatePathWithMode_CreateExistsPath, TestSize.Level1)
{
EXPECT_TRUE(CreatePathWithMode("./111", MODE));
EXPECT_FALSE(CreatePathWithMode("./111", MODE));
EXPECT_EQ(RemoveDir("./111"), 0);
}
HWTEST_F(HdcCredentialBaseTest, TestRemovePath_NullPath, TestSize.Level1)
{
EXPECT_EQ(RemovePath(""), -1);
}
HWTEST_F(HdcCredentialBaseTest, TestRemovePath_NotExistsPath, TestSize.Level1)
{
EXPECT_EQ(RemovePath("./not_exist_dir"), -1);
}
HWTEST_F(HdcCredentialBaseTest, TestRemovePath_SimpleLavelPath, TestSize.Level1)
{
EXPECT_TRUE(CreatePathWithMode("./1111", MODE));
EXPECT_EQ(RemovePath("./1111"), 0);
}
HWTEST_F(HdcCredentialBaseTest, TestRemovePath_MultiLavelPath, TestSize.Level1)
{
EXPECT_TRUE(CreatePathWithMode("./11111", MODE));
EXPECT_TRUE(CreatePathWithMode("./11111/22222", MODE));
EXPECT_TRUE(CreatePathWithMode("./11111/22222/33333", MODE));
EXPECT_EQ(RemovePath("./11111"), 0);
}
HWTEST_F(HdcCredentialBaseTest, TestIsUserDir_NotNumber, TestSize.Level1)
{
EXPECT_FALSE(IsUserDir("aaa"));
}
HWTEST_F(HdcCredentialBaseTest, TestIsUserDir_Null, TestSize.Level1)
{
EXPECT_FALSE(IsUserDir(""));
}
HWTEST_F(HdcCredentialBaseTest, TestIsUserDir_InvalidNumber, TestSize.Level1)
{
EXPECT_FALSE(IsUserDir("99"));
EXPECT_FALSE(IsUserDir("10737"));
}
HWTEST_F(HdcCredentialBaseTest, TestIsUserDir_ValidNumber, TestSize.Level1)
{
EXPECT_TRUE(IsUserDir("102"));
EXPECT_TRUE(IsUserDir("10000"));
}
HWTEST_F(HdcCredentialBaseTest, TestIsUserDir_BoundaryNumber, TestSize.Level1)
{
EXPECT_TRUE(IsUserDir("100"));
EXPECT_TRUE(IsUserDir("10736"));
}
HWTEST_F(HdcCredentialBaseTest, TestSubstract_Normal, TestSize.Level1)
{
std::vector<std::string> a = {"1", "2", "3"};
std::vector<std::string> b = {"2", "3", "4"};
std::vector<std::string> diffA_B = Substract<std::string>(a, b);
EXPECT_EQ(diffA_B.size(), 1);
EXPECT_EQ(diffA_B[0], "1");
std::vector<std::string> diffB_A = Substract<std::string>(b, a);
EXPECT_EQ(diffB_A.size(), 1);
EXPECT_EQ(diffB_A[0], "4");
}
HWTEST_F(HdcCredentialBaseTest, TestRemoveDir_NullPath, TestSize.Level1)
{
EXPECT_EQ(RemoveDir(""), -1);
}
HWTEST_F(HdcCredentialBaseTest, TestRemoveDir_NotExistsPath, TestSize.Level1)
{
EXPECT_EQ(RemoveDir("./not_exist_dir"), -1);
}
HWTEST_F(HdcCredentialBaseTest, TestRemoveDir_SimpleLevelPath, TestSize.Level1)
{
EXPECT_TRUE(CreatePathWithMode("./1111", MODE));
EXPECT_EQ(RemoveDir("./1111"), 0);
}
HWTEST_F(HdcCredentialBaseTest, TestRemoveDir_MultiLevelPath, TestSize.Level1)
{
EXPECT_TRUE(CreatePathWithMode("./11111", MODE));
EXPECT_TRUE(CreatePathWithMode("./11111/22222", MODE));
EXPECT_TRUE(CreatePathWithMode("./11111/22222/33333", MODE));
EXPECT_EQ(RemoveDir("./11111"), 0);
}
}