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 #include "mountpoint/mount_manager.h"
16
17 #include <memory>
18 #include <unistd.h>
19
20 #include "gtest/gtest.h"
21
22 #include "mountpoint/mount_point.h"
23 #include "utils_directory.h"
24
25 namespace OHOS {
26 namespace Storage {
27 namespace DistributedFile {
28 namespace Test {
29 using namespace testing::ext;
30 using namespace std;
31
32 class MountManagerTest : public testing::Test {
33 public:
SetUpTestCase(void)34 static void SetUpTestCase(void) {};
TearDownTestCase(void)35 static void TearDownTestCase(void) {};
SetUp()36 void SetUp() {};
TearDown()37 void TearDown() {};
38 };
39
40 /**
41 * @tc.name: MountManagerTest_MountManager_0100
42 * @tc.desc: Verify the MountManager class.
43 * @tc.type: FUNC
44 * @tc.require: I9KETY
45 */
HWTEST_F(MountManagerTest, MountManagerTest_MountManager_0100, TestSize.Level1)46 HWTEST_F(MountManagerTest, MountManagerTest_MountManager_0100, TestSize.Level1)
47 {
48 GTEST_LOG_(INFO) << "MountManagerTest_MountManager_0100 start";
49 MountManager::GetInstance()->Umount("test");
50 Utils::MountArgument mountArg{.userId_ = 100,
51 .relativePath_ = "data/test",
52 .accountless_ = true};
53 unique_ptr<MountPoint> uniquePoint = std::make_unique<MountPoint>(mountArg);
54 MountManager::GetInstance()->Mount(move(uniquePoint));
55
56 auto smp = make_shared<MountPoint>(mountArg);
57 weak_ptr<MountPoint> weakPoint = smp;
58 MountManager::GetInstance()->Umount(weakPoint);
59 EXPECT_TRUE(true);
60 GTEST_LOG_(INFO) << "MountManagerTest_MountManager_0100 end";
61 }
62 } // namespace Test
63 } // namespace DistributedFile
64 } // namespace Storage
65 } // namespace OHOS
66