From 415d7dca6175136ca4c1c780f1e512fd363d01c4 Mon Sep 17 00:00:00 2001
From: liuxu <liuxu156@huawei.com>
Date: Fri, 3 Nov 2023 14:27:45 +0800
Subject: [PATCH 02/14] sandbox:adapt UT when del m_containers and
 m_containersMutex

---
 .../design/detailed/Sandbox/sandbox_design_zh.md | 16 +---------------
 test/mocks/sandbox_mock.cc                       | 11 -----------
 test/mocks/sandbox_mock.h                        |  4 ----
 test/sandbox/sandbox/sandbox_ut.cc               | 14 --------------
 4 files changed, 1 insertion(+), 44 deletions(-)

diff --git a/docs/design/detailed/Sandbox/sandbox_design_zh.md b/docs/design/detailed/Sandbox/sandbox_design_zh.md
index 86acd70b..109094cb 100644
--- a/docs/design/detailed/Sandbox/sandbox_design_zh.md
+++ b/docs/design/detailed/Sandbox/sandbox_design_zh.md
@@ -99,7 +99,6 @@ auto GetNetworkSettings() -> const std::string &;
 auto GetCreatedAt() -> uint64_t;
 auto GetPid() -> uint32_t;
 auto GetTaskAddress() const -> const std::string &;
-auto GetContainers() -> std::vector<std::string>;
 
 // 设置和更新sandbox的变量值
 void SetNetMode(const std::string &mode);
@@ -108,9 +107,6 @@ void AddAnnotations(const std::string &key, const std::string &value);
 void RemoveAnnotations(const std::string &key);
 void AddLabels(const std::string &key, const std::string &value);
 void RemoveLabels(const std::string &key);
-void AddContainer(const std::string &id);
-void SetConatiners(const std::vector<std::string> &cons);
-void RemoveContainer(const std::string &id);
 void UpdateNetworkSettings(const std::string &settingsJson, Errors &error);
 auto UpdateStatsInfo(const StatsInfo &info) -> StatsInfo;
 void SetNetworkReady(bool ready);
@@ -252,16 +248,12 @@ public:
     auto GetCreatedAt() -> uint64_t;
     auto GetPid() -> uint32_t;
     auto GetTaskAddress() const -> const std::string &;
-    auto GetContainers() -> std::vector<std::string>;
     void SetNetMode(const std::string &mode);
     void SetController(std::shared_ptr<Controller> controller);
     void AddAnnotations(const std::string &key, const std::string &value);
     void RemoveAnnotations(const std::string &key);
     void AddLabels(const std::string &key, const std::string &value);
     void RemoveLabels(const std::string &key);
-    void AddContainer(const std::string &id);
-    void SetConatiners(const std::vector<std::string> &cons);
-    void RemoveContainer(const std::string &id);
     void UpdateNetworkSettings(const std::string &settingsJson, Errors &error);
     auto UpdateStatsInfo(const StatsInfo &info) -> StatsInfo;
     void SetNetworkReady(bool ready);
@@ -347,9 +339,6 @@ private:
     std::string m_networkMode;
     bool m_networkReady;
     std::string m_networkSettings;
-    // container id lists
-    std::vector<std::string> m_containers;
-    RWMutex m_containersMutex;
     // TOOD: m_sandboxConfig is a protobuf message, it can be converted to json string directly
     //       if save json string directly for sandbox recover, we need to consider hot
     //       upgrade between different CRI versions
@@ -410,9 +399,7 @@ std::string m_netNsPath;
 std::string m_networkMode;
 bool m_networkReady;
 std::string m_networkSettings;
-// container id lists
-std::vector<std::string> m_containers;
-RWMutex m_containersMutex;
+
 // TOOD: m_sandboxConfig is a protobuf message, it can be converted to json string directly
 //       if save json string directly for sandbox recover, we need to consider hot
 //       upgrade between different CRI versions
@@ -430,7 +417,6 @@ std::set<uint32_t> m_vsockPorts;
 
 1. m_mutex: 保障并发sandbox的生命周期操作（start, stop, remove）
 2. m_stateMutex:保障并发对m_state，m_statsInfo，m_networkSettings的修改与读取
-3. m_containersMutex：保障对m_containers的并发操作
 
 ## 4.2 sandbox manage 模块
 
diff --git a/test/mocks/sandbox_mock.cc b/test/mocks/sandbox_mock.cc
index ab6c2d60..e5aefdda 100644
--- a/test/mocks/sandbox_mock.cc
+++ b/test/mocks/sandbox_mock.cc
@@ -77,14 +77,6 @@ const std::string &Sandbox::GetRuntimeHandle() const
     return defaultStr;
 }
 
-std::vector<std::string> Sandbox::GetContainers()
-{
-    if (g_sandbox_mock != nullptr) {
-        return g_sandbox_mock->GetContainers();
-    }
-    return defaultVec;
-}
-
 const runtime::v1::PodSandboxConfig & Sandbox::GetSandboxConfig() const
 {
     if (g_sandbox_mock != nullptr) {
@@ -154,9 +146,6 @@ void Sandbox::AddAnnotations(const std::string &key, const std::string &value) {
 void Sandbox::RemoveAnnotations(const std::string &key) {}
 void Sandbox::AddLabels(const std::string &key, const std::string &value) {}
 void Sandbox::RemoveLabels(const std::string &key) {}
-void Sandbox::AddContainer(const std::string &id) {}
-void Sandbox::SetConatiners(const std::vector<std::string> &cons) {}
-void Sandbox::RemoveContainer(const std::string &id) {}
 void Sandbox::UpdateNetworkSettings(const std::string &settingsJson, Errors &error) {}
 void Sandbox::PrepareSandboxDirs(Errors &error) {}
 void Sandbox::CleanupSandboxDirs() {}
diff --git a/test/mocks/sandbox_mock.h b/test/mocks/sandbox_mock.h
index 6b46dca6..341042e9 100644
--- a/test/mocks/sandbox_mock.h
+++ b/test/mocks/sandbox_mock.h
@@ -31,7 +31,6 @@ public:
     MOCK_METHOD0(GetName, const std::string & ());
     MOCK_METHOD0(GetSandboxer, const std::string & ());
     MOCK_METHOD0(GetRuntimeHandle, const std::string & ());
-    MOCK_METHOD0(GetContainers, std::vector<std::string>());
     MOCK_METHOD0(GetSandboxConfig, const runtime::v1::PodSandboxConfig &());
     MOCK_METHOD0(GetMutableSandboxConfig, std::shared_ptr<runtime::v1::PodSandboxConfig>());
     MOCK_METHOD0(GetRootDir, const std::string & ());
@@ -46,9 +45,6 @@ public:
     MOCK_METHOD1(RemoveAnnotations, void(const std::string &key));
     MOCK_METHOD2(AddLabels, void(const std::string &key, const std::string &value));
     MOCK_METHOD1(RemoveLabels, void(const std::string &key));
-    MOCK_METHOD1(AddContainer, void(const std::string &id));
-    MOCK_METHOD1(SetConatiners, void(const std::vector<std::string> &cons));
-    MOCK_METHOD1(RemoveContainer, void(const std::string &id));
     MOCK_METHOD2(UpdateNetworkSettings, void(const std::string &settingsJson, Errors &error));
     MOCK_METHOD1(UpdateStatsInfo, StatsInfo(const StatsInfo &info));
     MOCK_METHOD1(SetNetworkReady, void(bool ready));
diff --git a/test/sandbox/sandbox/sandbox_ut.cc b/test/sandbox/sandbox/sandbox_ut.cc
index 494fb543..dd84d8fb 100644
--- a/test/sandbox/sandbox/sandbox_ut.cc
+++ b/test/sandbox/sandbox/sandbox_ut.cc
@@ -49,7 +49,6 @@ TEST_F(SandboxTest, TestDefaultGetters)
     ASSERT_STREQ(sandbox->GetRuntime().c_str(), info.runtime.c_str());
     ASSERT_STREQ(sandbox->GetSandboxer().c_str(), info.sandboxer.c_str());
     ASSERT_STREQ(sandbox->GetRuntimeHandle().c_str(), info.runtimeHandler.c_str());
-    ASSERT_EQ(sandbox->GetContainers().size(), 0);
     ASSERT_STREQ(sandbox->GetRootDir().c_str(), sandbox_rootdir.c_str());
     ASSERT_STREQ(sandbox->GetStateDir().c_str(), sandbox_statedir.c_str());
     ASSERT_STREQ(sandbox->GetResolvPath().c_str(), (sandbox_rootdir + "/resolv.conf").c_str());
@@ -85,19 +84,6 @@ TEST_F(SandboxTest, TestGettersAndSetters)
     sandbox->RemoveLabels("key");
     EXPECT_TRUE(sandbox->GetSandboxConfig().labels().empty());
 
-    std::string containerId = "container_id";
-    sandbox->AddContainer(containerId);
-    auto Mycontainers = sandbox->GetContainers();
-    auto it = std::find(Mycontainers.begin(), Mycontainers.end(), containerId);
-    EXPECT_NE(Mycontainers.end(), it);
-
-    sandbox->RemoveContainer(containerId);
-    EXPECT_EQ(sandbox->GetContainers().size(), 0);
-
-    std::vector<std::string> containers = {"container1", "container2"};
-    sandbox->SetConatiners(containers);
-    EXPECT_EQ(sandbox->GetContainers(), containers);
-
     StatsInfo statsInfo = {1234, 100};
     sandbox->UpdateStatsInfo(statsInfo);
     EXPECT_EQ(sandbox->GetStatsInfo().timestamp, statsInfo.timestamp);
-- 
2.42.0

