From e2285019ed48f984af9b09e1b210b7ac1116e944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A8=8A=E6=99=AF=E4=B9=90?= Date: Fri, 3 Jan 2025 14:16:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 樊景乐 --- modules/sandbox/appspawn_sandbox.c | 2 +- modules/sandbox/sandbox_utils.cpp | 2 +- test/mock/app_spawn_stub.h | 1 + .../app_spawn_sandbox_test.cpp | 66 +++++++++++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) diff --git a/modules/sandbox/appspawn_sandbox.c b/modules/sandbox/appspawn_sandbox.c index beb7edc5..92cda174 100644 --- a/modules/sandbox/appspawn_sandbox.c +++ b/modules/sandbox/appspawn_sandbox.c @@ -188,7 +188,7 @@ void DeleteSandboxContext(SandboxContext *context) free(context); } -static bool NeedNetworkIsolated(SandboxContext *context, const AppSpawningCtx *property) +APPSPAWN_STATIC bool NeedNetworkIsolated(SandboxContext *context, const AppSpawningCtx *property) { int developerMode = IsDeveloperModeOpen(); if (CheckSpawningMsgFlagSet(context, APP_FLAGS_ISOLATED_SANDBOX) && !developerMode) { diff --git a/modules/sandbox/sandbox_utils.cpp b/modules/sandbox/sandbox_utils.cpp index 6d198746..b4817edb 100644 --- a/modules/sandbox/sandbox_utils.cpp +++ b/modules/sandbox/sandbox_utils.cpp @@ -1870,7 +1870,7 @@ int LoadAppSandboxConfig(AppSpawnMgr *content) return 0; } -static bool NeedNetworkIsolated(AppSpawningCtx *property) +APPSPAWN_STATIC bool NeedNetworkIsolated(AppSpawningCtx *property) { int developerMode = IsDeveloperModeOpen(); if (CheckAppMsgFlagsSet(property, APP_FLAGS_ISOLATED_SANDBOX) && !developerMode) { diff --git a/test/mock/app_spawn_stub.h b/test/mock/app_spawn_stub.h index b3a4d6a7..69917fc2 100644 --- a/test/mock/app_spawn_stub.h +++ b/test/mock/app_spawn_stub.h @@ -133,4 +133,5 @@ StubNode *GetStubNode(int type); #endif int SetSelinuxConNweb(const AppSpawnMgr *content, const AppSpawningCtx *property); void InitAppCommonEnv(const AppSpawningCtx *property); +bool NeedNetworkIsolated(AppSpawningCtx *property); #endif // APPSPAWN_TEST_STUB_H diff --git a/test/unittest/app_spawn_standard_test/app_spawn_sandbox_test.cpp b/test/unittest/app_spawn_standard_test/app_spawn_sandbox_test.cpp index 6d2d24e9..8a802e4c 100644 --- a/test/unittest/app_spawn_standard_test/app_spawn_sandbox_test.cpp +++ b/test/unittest/app_spawn_standard_test/app_spawn_sandbox_test.cpp @@ -1426,6 +1426,72 @@ HWTEST_F(AppSpawnSandboxTest, App_Spawn_Sandbox_47, TestSize.Level0) DeleteAppSpawningCtx(appProperty); EXPECT_EQ(ret, 0); } + +HWTEST_F(AppSpawnSandboxTest, App_Spawn_Sandbox_48, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_48 start"; + AppSpawnClientHandle clientHandle = nullptr; + AppSpawnReqMsgHandle reqHandle = 0; + AppSpawnClientInit(APPSPAWN_SERVER_NAME, &clientHandle); + reqHandle = g_testHelper.CreateMsg(clientHandle, MSG_APP_SPAWN, 0); + AppSpawnReqMsgSetAppFlag(reqHandle, APP_FLAGS_ISOLATED_SANDBOX); + AppSpawningCtx *appProperty = g_testHelper.GetAppProperty(clientHandle, reqHandle); + bool ret = NeedNetworkIsolated(appProperty); + EXPECT_EQ(ret, false); + DeleteAppSpawningCtx(appProperty); + AppSpawnClientDestroy(clientHandle); + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_48 end"; +} + +HWTEST_F(AppSpawnSandboxTest, App_Spawn_Sandbox_49, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_49 start"; + AppSpawnClientHandle clientHandle = nullptr; + AppSpawnReqMsgHandle reqHandle = 0; + AppSpawnClientInit(APPSPAWN_SERVER_NAME, &clientHandle); + reqHandle = g_testHelper.CreateMsg(clientHandle, MSG_APP_SPAWN, 0); + AppSpawnReqMsgSetAppFlag(reqHandle, APP_FLAGS_ISOLATED_NETWORK); + AppSpawnReqMsgAddStringInfo(reqHandle, MSG_EXT_NAME_EXTENSION_TYPE, "form"); + AppSpawningCtx *appProperty = g_testHelper.GetAppProperty(clientHandle, reqHandle); + bool ret = NeedNetworkIsolated(appProperty); + EXPECT_EQ(ret, false); + DeleteAppSpawningCtx(appProperty); + AppSpawnClientDestroy(clientHandle); + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_49 end"; +} + +HWTEST_F(AppSpawnSandboxTest, App_Spawn_Sandbox_50, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_50 start"; + AppSpawnClientHandle clientHandle = nullptr; + AppSpawnReqMsgHandle reqHandle = 0; + AppSpawnClientInit(APPSPAWN_SERVER_NAME, &clientHandle); + reqHandle = g_testHelper.CreateMsg(clientHandle, MSG_APP_SPAWN, 0); + AppSpawnReqMsgSetAppFlag(reqHandle, APP_FLAGS_ISOLATED_NETWORK); + AppSpawningCtx *appProperty = g_testHelper.GetAppProperty(clientHandle, reqHandle); + bool ret = NeedNetworkIsolated(appProperty); + EXPECT_EQ(ret, true); + DeleteAppSpawningCtx(appProperty); + AppSpawnClientDestroy(clientHandle); + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_50 end"; +} + +HWTEST_F(AppSpawnSandboxTest, App_Spawn_Sandbox_51, TestSize.Level0) +{ + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_51 start"; + AppSpawnClientHandle clientHandle = nullptr; + AppSpawnReqMsgHandle reqHandle = 0; + AppSpawnClientInit(APPSPAWN_SERVER_NAME, &clientHandle); + reqHandle = g_testHelper.CreateMsg(clientHandle, MSG_APP_SPAWN, 0); + AppSpawnReqMsgSetAppFlag(reqHandle, APP_FLAGS_COLD_BOOT); + AppSpawningCtx *appProperty = g_testHelper.GetAppProperty(clientHandle, reqHandle); + bool ret = NeedNetworkIsolated(appProperty); + EXPECT_EQ(ret, false); + DeleteAppSpawningCtx(appProperty); + AppSpawnClientDestroy(clientHandle); + GTEST_LOG_(INFO) << "App_Spawn_Sandbox_51 end"; +} + /** * @brief 测试app extension * -- Gitee