From 0f6f2321c10316bbe120366a3719b5b8f11d6184 Mon Sep 17 00:00:00 2001 From: dexterdreeeam <43837899+DexterDreeeam@users.noreply.github.com> Date: Tue, 15 Aug 2023 14:14:05 +0800 Subject: [PATCH 1/2] p1 --- .../config/AADOauth2ConfigurationTest.java | 21 ++ .../hydralab/center/config/AppConfigTest.java | 150 +++++++++++++ .../center/config/ContextStartupTest.java | 51 +++++ .../config/SecurityConfigurationTest.java | 47 ++++ .../config/WebMvcConfigurationTest.java | 51 +++++ .../center/config/WebSocketConfigTest.java | 40 ++++ .../controller/AgentManageControllerTest.java | 68 ++++++ .../center/controller/AuthControllerTest.java | 116 ++++++++++ .../controller/StorageControllerTest.java | 89 ++++++++ .../interceptor/BaseInterceptorTest.java | 75 +++++++ .../interceptor/CorsInterceptorTest.java | 67 ++++++ .../openai/AzureOpenAIServiceClientTest.java | 55 +++++ .../center/openai/ChatRequestTest.java | 108 ++++++++++ .../repository/AuthTokenRepositoryTest.java | 43 ++++ .../DeviceGroupRelationRepositoryTest.java | 40 ++++ .../repository/DeviceGroupRepositoryTest.java | 37 ++++ .../RolePermissionRelationRepositoryTest.java | 52 +++++ .../repository/SysUserRepositoryTest.java | 39 ++++ .../service/AgentManageServiceTest.java | 182 ++++++++++++++++ .../center/service/AuthTokenServiceTest.java | 98 +++++++++ .../RolePermissionManagementServiceTest.java | 111 ++++++++++ .../service/SecurityUserServiceTest.java | 151 +++++++++++++ .../service/SessionManageServiceTest.java | 51 +++++ .../StorageTokenManageServiceTest.java | 72 +++++++ .../service/SysPermissionServiceTest.java | 122 +++++++++++ .../center/service/SysRoleServiceTest.java | 203 ++++++++++++++++++ .../center/service/SysUserServiceTest.java | 171 +++++++++++++++ .../service/TestFileSetServiceTest.java | 59 +++++ .../center/service/TestTaskServiceTest.java | 140 ++++++++++++ .../UserTeamManagementServiceTest.java | 195 +++++++++++++++++ .../CenterDeviceSocketEndpointTest.java | 63 ++++++ .../hydralab/center/util/AuthUtilTest.java | 156 ++++++++++++++ .../hydralab/center/util/MetricUtilTest.java | 102 +++++++++ .../center/util/SecretGeneratorTest.java | 34 +++ .../config/AADOauth2Configuration/0.java | 15 ++ .../AADOauth2Configuration/0_origin.java | 29 +++ .../hydralab/center/config/AppConfig/0.java | 28 +++ .../center/config/AppConfig/0_origin.java | 61 ++++++ .../hydralab/center/config/AppConfig/1.java | 16 ++ .../center/config/AppConfig/1_origin.java | 18 ++ .../hydralab/center/config/AppConfig/2.java | 17 ++ .../center/config/AppConfig/2_origin.java | 19 ++ .../hydralab/center/config/AppConfig/3.java | 16 ++ .../center/config/AppConfig/3_origin.java | 19 ++ .../hydralab/center/config/AppConfig/4.java | 12 ++ .../center/config/AppConfig/4_origin.java | 20 ++ .../hydralab/center/config/AppConfig/5.java | 18 ++ .../center/config/AppConfig/5_origin.java | 42 ++++ .../hydralab/center/config/AppConfig/6.java | 16 ++ .../center/config/AppConfig/6_origin.java | 22 ++ .../hydralab/center/config/AppConfig/7.java | 15 ++ .../center/config/AppConfig/7_origin.java | 16 ++ .../center/config/ContextStartup/0.java | 35 +++ .../config/ContextStartup/0_origin.java | 49 +++++ .../config/SecurityConfiguration/0.java | 18 ++ .../SecurityConfiguration/0_origin.java | 24 +++ .../config/SecurityConfiguration/1.java | 18 ++ .../SecurityConfiguration/1_origin.java | 26 +++ .../config/SecurityConfiguration/2.java | 19 ++ .../SecurityConfiguration/2_origin.java | 27 +++ .../center/config/WebMvcConfiguration/0.java | 41 ++++ .../config/WebMvcConfiguration/0_origin.java | 48 +++++ .../center/config/WebMvcConfiguration/1.java | 26 +++ .../config/WebMvcConfiguration/1_origin.java | 34 +++ .../center/config/WebSocketConfig/0.java | 19 ++ .../config/WebSocketConfig/0_origin.java | 21 ++ .../center/config/WebSocketConfig/1.java | 16 ++ .../config/WebSocketConfig/1_origin.java | 25 +++ .../controller/AgentManageController/0.java | 32 +++ .../AgentManageController/0_origin.java | 44 ++++ .../controller/AgentManageController/1.java | 42 ++++ .../AgentManageController/1_origin.java | 60 ++++++ .../center/controller/AuthController/0.java | 29 +++ .../controller/AuthController/0_origin.java | 48 +++++ .../center/controller/AuthController/1.java | 62 ++++++ .../controller/AuthController/1_origin.java | 73 +++++++ .../center/controller/AuthController/2.java | 49 +++++ .../controller/AuthController/2_origin.java | 69 ++++++ .../center/controller/AuthController/3.java | 45 ++++ .../controller/AuthController/3_origin.java | 71 ++++++ .../controller/StorageController/0.java | 47 ++++ .../StorageController/0_origin.java | 69 ++++++ .../controller/StorageController/1.java | 27 +++ .../StorageController/1_origin.java | 47 ++++ .../center/interceptor/BaseInterceptor/0.java | 29 +++ .../interceptor/BaseInterceptor/0_origin.java | 53 +++++ .../center/interceptor/BaseInterceptor/1.java | 32 +++ .../interceptor/BaseInterceptor/1_origin.java | 35 +++ .../center/interceptor/BaseInterceptor/2.java | 29 +++ .../interceptor/BaseInterceptor/2_origin.java | 32 +++ .../center/interceptor/BaseInterceptor/3.java | 27 +++ .../interceptor/BaseInterceptor/3_origin.java | 30 +++ .../center/interceptor/CorsInterceptor/0.java | 31 +++ .../interceptor/CorsInterceptor/0_origin.java | 47 ++++ .../center/interceptor/CorsInterceptor/1.java | 31 +++ .../interceptor/CorsInterceptor/1_origin.java | 35 +++ .../center/interceptor/CorsInterceptor/2.java | 30 +++ .../interceptor/CorsInterceptor/2_origin.java | 33 +++ .../openai/AzureOpenAIServiceClient/0.java | 28 +++ .../AzureOpenAIServiceClient/0_origin.java | 56 +++++ .../hydralab/center/openai/ChatRequest/0.java | 11 + .../center/openai/ChatRequest/0_origin.java | 17 ++ .../hydralab/center/openai/ChatRequest/1.java | 10 + .../center/openai/ChatRequest/10.java | 12 ++ .../center/openai/ChatRequest/10_origin.java | 19 ++ .../center/openai/ChatRequest/11.java | 10 + .../center/openai/ChatRequest/11_origin.java | 15 ++ .../center/openai/ChatRequest/1_origin.java | 15 ++ .../hydralab/center/openai/ChatRequest/2.java | 11 + .../center/openai/ChatRequest/2_origin.java | 18 ++ .../hydralab/center/openai/ChatRequest/3.java | 10 + .../center/openai/ChatRequest/3_origin.java | 15 ++ .../hydralab/center/openai/ChatRequest/4.java | 10 + .../center/openai/ChatRequest/4_origin.java | 15 ++ .../hydralab/center/openai/ChatRequest/5.java | 10 + .../center/openai/ChatRequest/5_origin.java | 15 ++ .../hydralab/center/openai/ChatRequest/6.java | 11 + .../center/openai/ChatRequest/6_origin.java | 17 ++ .../hydralab/center/openai/ChatRequest/7.java | 10 + .../center/openai/ChatRequest/7_origin.java | 15 ++ .../hydralab/center/openai/ChatRequest/8.java | 11 + .../center/openai/ChatRequest/8_origin.java | 17 ++ .../hydralab/center/openai/ChatRequest/9.java | 10 + .../center/openai/ChatRequest/9_origin.java | 15 ++ .../repository/AuthTokenRepository/0.java | 26 +++ .../AuthTokenRepository/0_origin.java | 41 ++++ .../DeviceGroupRelationRepository/0.java | 25 +++ .../0_origin.java | 35 +++ .../repository/DeviceGroupRepository/0.java | 23 ++ .../DeviceGroupRepository/0_origin.java | 36 ++++ .../RolePermissionRelationRepository/0.java | 25 +++ .../0_origin.java | 33 +++ .../RolePermissionRelationRepository/1.java | 24 +++ .../1_origin.java | 32 +++ .../repository/SysUserRepository/0.java | 24 +++ .../SysUserRepository/0_origin.java | 37 ++++ .../center/service/AgentManageService/0.java | 30 +++ .../service/AgentManageService/0_origin.java | 59 +++++ .../center/service/AgentManageService/1.java | 26 +++ .../service/AgentManageService/1_origin.java | 39 ++++ .../center/service/AgentManageService/2.java | 21 ++ .../service/AgentManageService/2_origin.java | 26 +++ .../center/service/AgentManageService/3.java | 25 +++ .../service/AgentManageService/3_origin.java | 35 +++ .../center/service/AgentManageService/4.java | 64 ++++++ .../service/AgentManageService/4_origin.java | 82 +++++++ .../center/service/AgentManageService/5.java | 33 +++ .../service/AgentManageService/5_origin.java | 50 +++++ .../center/service/AgentManageService/6.java | 25 +++ .../service/AgentManageService/6_origin.java | 48 +++++ .../center/service/AuthTokenService/0.java | 33 +++ .../service/AuthTokenService/0_origin.java | 45 ++++ .../center/service/AuthTokenService/1.java | 30 +++ .../service/AuthTokenService/1_origin.java | 43 ++++ .../center/service/AuthTokenService/2.java | 23 ++ .../service/AuthTokenService/2_origin.java | 30 +++ .../center/service/AuthTokenService/3.java | 32 +++ .../service/AuthTokenService/3_origin.java | 55 +++++ .../center/service/AuthTokenService/4.java | 35 +++ .../service/AuthTokenService/4_origin.java | 50 +++++ .../center/service/DeviceGroupService/0.java | 27 +++ .../service/DeviceGroupService/0_origin.java | 54 +++++ .../center/service/DeviceGroupService/1.java | 22 ++ .../center/service/DeviceGroupService/10.java | 21 ++ .../service/DeviceGroupService/10_origin.java | 29 +++ .../service/DeviceGroupService/1_origin.java | 42 ++++ .../center/service/DeviceGroupService/2.java | 25 +++ .../service/DeviceGroupService/2_origin.java | 40 ++++ .../center/service/DeviceGroupService/3.java | 30 +++ .../service/DeviceGroupService/3_origin.java | 35 +++ .../center/service/DeviceGroupService/4.java | 30 +++ .../service/DeviceGroupService/4_origin.java | 49 +++++ .../center/service/DeviceGroupService/5.java | 25 +++ .../service/DeviceGroupService/5_origin.java | 35 +++ .../center/service/DeviceGroupService/6.java | 27 +++ .../service/DeviceGroupService/6_origin.java | 45 ++++ .../center/service/DeviceGroupService/7.java | 48 +++++ .../service/DeviceGroupService/7_origin.java | 79 +++++++ .../center/service/DeviceGroupService/8.java | 17 ++ .../service/DeviceGroupService/8_origin.java | 29 +++ .../center/service/DeviceGroupService/9.java | 17 ++ .../service/DeviceGroupService/9_origin.java | 23 ++ .../RolePermissionManagementService/0.java | 36 ++++ .../0_origin.java | 74 +++++++ .../RolePermissionManagementService/1.java | 34 +++ .../1_origin.java | 56 +++++ .../RolePermissionManagementService/2.java | 33 +++ .../2_origin.java | 46 ++++ .../RolePermissionManagementService/3.java | 31 +++ .../3_origin.java | 48 +++++ .../center/service/SecurityUserService/0.java | 71 ++++++ .../service/SecurityUserService/0_origin.java | 163 ++++++++++++++ .../center/service/SecurityUserService/1.java | 45 ++++ .../service/SecurityUserService/1_origin.java | 71 ++++++ .../center/service/SecurityUserService/2.java | 29 +++ .../service/SecurityUserService/2_origin.java | 41 ++++ .../center/service/SecurityUserService/3.java | 49 +++++ .../service/SecurityUserService/3_origin.java | 79 +++++++ .../center/service/SecurityUserService/4.java | 22 ++ .../service/SecurityUserService/4_origin.java | 23 ++ .../service/SessionManageService/0.java | 31 +++ .../SessionManageService/0_origin.java | 52 +++++ .../service/StorageTokenManageService/0.java | 28 +++ .../StorageTokenManageService/0_origin.java | 46 ++++ .../service/StorageTokenManageService/1.java | 28 +++ .../StorageTokenManageService/1_origin.java | 50 +++++ .../service/StorageTokenManageService/2.java | 26 +++ .../StorageTokenManageService/2_origin.java | 34 +++ .../service/StorageTokenManageService/3.java | 26 +++ .../StorageTokenManageService/3_origin.java | 34 +++ .../service/SysPermissionService/0.java | 32 +++ .../SysPermissionService/0_origin.java | 50 +++++ .../service/SysPermissionService/1.java | 34 +++ .../SysPermissionService/1_origin.java | 53 +++++ .../service/SysPermissionService/2.java | 35 +++ .../SysPermissionService/2_origin.java | 53 +++++ .../service/SysPermissionService/3.java | 33 +++ .../SysPermissionService/3_origin.java | 51 +++++ .../service/SysPermissionService/4.java | 35 +++ .../SysPermissionService/4_origin.java | 56 +++++ .../service/SysPermissionService/5.java | 27 +++ .../SysPermissionService/5_origin.java | 38 ++++ .../center/service/SysRoleService/0.java | 35 +++ .../service/SysRoleService/0_origin.java | 54 +++++ .../center/service/SysRoleService/1.java | 34 +++ .../service/SysRoleService/1_origin.java | 54 +++++ .../center/service/SysRoleService/2.java | 36 ++++ .../service/SysRoleService/2_origin.java | 54 +++++ .../center/service/SysRoleService/3.java | 35 +++ .../service/SysRoleService/3_origin.java | 50 +++++ .../center/service/SysRoleService/4.java | 37 ++++ .../service/SysRoleService/4_origin.java | 62 ++++++ .../center/service/SysRoleService/5.java | 34 +++ .../service/SysRoleService/5_origin.java | 60 ++++++ .../center/service/SysRoleService/6.java | 19 ++ .../service/SysRoleService/6_origin.java | 33 +++ .../center/service/SysRoleService/7.java | 34 +++ .../service/SysRoleService/7_origin.java | 58 +++++ .../center/service/SysRoleService/8.java | 35 +++ .../service/SysRoleService/8_origin.java | 59 +++++ .../center/service/SysRoleService/9.java | 35 +++ .../service/SysRoleService/9_origin.java | 58 +++++ .../center/service/SysTeamService/0.java | 47 ++++ .../service/SysTeamService/0_origin.java | 92 ++++++++ .../center/service/SysTeamService/1.java | 46 ++++ .../service/SysTeamService/1_origin.java | 68 ++++++ .../center/service/SysTeamService/2.java | 48 +++++ .../service/SysTeamService/2_origin.java | 76 +++++++ .../center/service/SysTeamService/3.java | 47 ++++ .../service/SysTeamService/3_origin.java | 75 +++++++ .../center/service/SysTeamService/4.java | 33 +++ .../service/SysTeamService/4_origin.java | 50 +++++ .../center/service/SysTeamService/5.java | 52 +++++ .../service/SysTeamService/5_origin.java | 88 ++++++++ .../center/service/SysTeamService/6.java | 57 +++++ .../service/SysTeamService/6_origin.java | 96 +++++++++ .../center/service/SysTeamService/7.java | 45 ++++ .../service/SysTeamService/7_origin.java | 79 +++++++ .../center/service/SysTeamService/8.java | 48 +++++ .../service/SysTeamService/8_origin.java | 80 +++++++ .../center/service/SysUserService/0.java | 24 +++ .../service/SysUserService/0_origin.java | 45 ++++ .../center/service/SysUserService/1.java | 24 +++ .../service/SysUserService/1_origin.java | 37 ++++ .../center/service/SysUserService/2.java | 27 +++ .../service/SysUserService/2_origin.java | 41 ++++ .../center/service/SysUserService/3.java | 28 +++ .../service/SysUserService/3_origin.java | 43 ++++ .../center/service/SysUserService/4.java | 25 +++ .../service/SysUserService/4_origin.java | 35 +++ .../center/service/SysUserService/5.java | 24 +++ .../service/SysUserService/5_origin.java | 38 ++++ .../center/service/SysUserService/6.java | 24 +++ .../service/SysUserService/6_origin.java | 41 ++++ .../center/service/SysUserService/7.java | 35 +++ .../service/SysUserService/7_origin.java | 42 ++++ .../center/service/SysUserService/8.java | 32 +++ .../service/SysUserService/8_origin.java | 67 ++++++ .../center/service/TestFileSetService/0.java | 25 +++ .../service/TestFileSetService/0_origin.java | 36 ++++ .../center/service/TestFileSetService/1.java | 25 +++ .../service/TestFileSetService/1_origin.java | 34 +++ .../center/service/TestTaskService/0.java | 27 +++ .../service/TestTaskService/0_origin.java | 35 +++ .../center/service/TestTaskService/1.java | 29 +++ .../service/TestTaskService/1_origin.java | 41 ++++ .../center/service/TestTaskService/2.java | 24 +++ .../service/TestTaskService/2_origin.java | 35 +++ .../center/service/TestTaskService/3.java | 36 ++++ .../service/TestTaskService/3_origin.java | 47 ++++ .../center/service/TestTaskService/4.java | 32 +++ .../service/TestTaskService/4_origin.java | 42 ++++ .../center/service/TestTaskService/5.java | 29 +++ .../service/TestTaskService/5_origin.java | 41 ++++ .../center/service/TestTaskService/6.java | 29 +++ .../service/TestTaskService/6_origin.java | 40 ++++ .../center/service/TestTaskService/7.java | 22 ++ .../service/TestTaskService/7_origin.java | 34 +++ .../service/UserTeamManagementService/0.java | 40 ++++ .../UserTeamManagementService/0_origin.java | 62 ++++++ .../service/UserTeamManagementService/1.java | 39 ++++ .../UserTeamManagementService/1_origin.java | 66 ++++++ .../service/UserTeamManagementService/2.java | 27 +++ .../UserTeamManagementService/2_origin.java | 41 ++++ .../service/UserTeamManagementService/3.java | 33 +++ .../UserTeamManagementService/3_origin.java | 41 ++++ .../service/UserTeamManagementService/4.java | 52 +++++ .../UserTeamManagementService/4_origin.java | 80 +++++++ .../service/UserTeamManagementService/5.java | 28 +++ .../UserTeamManagementService/5_origin.java | 45 ++++ .../service/UserTeamManagementService/6.java | 28 +++ .../UserTeamManagementService/6_origin.java | 49 +++++ .../service/UserTeamManagementService/7.java | 50 +++++ .../UserTeamManagementService/7_origin.java | 79 +++++++ .../service/UserTeamManagementService/8.java | 48 +++++ .../UserTeamManagementService/8_origin.java | 70 ++++++ .../service/UserTeamManagementService/9.java | 28 +++ .../UserTeamManagementService/9_origin.java | 35 +++ .../socket/CenterDeviceSocketEndpoint/0.java | 26 +++ .../CenterDeviceSocketEndpoint/0_origin.java | 34 +++ .../socket/CenterDeviceSocketEndpoint/1.java | 22 ++ .../CenterDeviceSocketEndpoint/1_origin.java | 29 +++ .../socket/CenterDeviceSocketEndpoint/2.java | 30 +++ .../CenterDeviceSocketEndpoint/2_origin.java | 46 ++++ .../socket/CenterDeviceSocketEndpoint/3.java | 25 +++ .../CenterDeviceSocketEndpoint/3_origin.java | 32 +++ .../hydralab/center/util/AuthUtil/0.java | 13 ++ .../center/util/AuthUtil/0_origin.java | 26 +++ .../hydralab/center/util/AuthUtil/1.java | 26 +++ .../center/util/AuthUtil/1_origin.java | 41 ++++ .../hydralab/center/util/AuthUtil/2.java | 20 ++ .../center/util/AuthUtil/2_origin.java | 31 +++ .../hydralab/center/util/AuthUtil/3.java | 15 ++ .../center/util/AuthUtil/3_origin.java | 30 +++ .../hydralab/center/util/AuthUtil/4.java | 16 ++ .../center/util/AuthUtil/4_origin.java | 30 +++ .../hydralab/center/util/AuthUtil/5.java | 18 ++ .../center/util/AuthUtil/5_origin.java | 28 +++ .../hydralab/center/util/AuthUtil/6.java | 16 ++ .../center/util/AuthUtil/6_origin.java | 26 +++ .../hydralab/center/util/AuthUtil/7.java | 21 ++ .../center/util/AuthUtil/7_origin.java | 58 +++++ .../hydralab/center/util/AuthUtil/8.java | 28 +++ .../center/util/AuthUtil/8_origin.java | 52 +++++ .../hydralab/center/util/MetricUtil/0.java | 29 +++ .../center/util/MetricUtil/0_origin.java | 45 ++++ .../hydralab/center/util/MetricUtil/1.java | 26 +++ .../center/util/MetricUtil/1_origin.java | 36 ++++ .../hydralab/center/util/MetricUtil/2.java | 28 +++ .../center/util/MetricUtil/2_origin.java | 45 ++++ .../hydralab/center/util/MetricUtil/3.java | 29 +++ .../center/util/MetricUtil/3_origin.java | 42 ++++ .../hydralab/center/util/MetricUtil/4.java | 30 +++ .../center/util/MetricUtil/4_origin.java | 51 +++++ .../hydralab/center/util/MetricUtil/5.java | 27 +++ .../center/util/MetricUtil/5_origin.java | 38 ++++ .../hydralab/center/util/MetricUtil/6.java | 28 +++ .../center/util/MetricUtil/6_origin.java | 40 ++++ .../center/util/SecretGenerator/0.java | 20 ++ .../center/util/SecretGenerator/0_origin.java | 35 +++ 360 files changed, 14974 insertions(+) create mode 100644 center/test/main/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/config/AppConfigTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/config/ContextStartupTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/util/AuthUtilTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/util/MetricUtilTest.java create mode 100644 center/test/main/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java create mode 100644 center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java b/center/test/main/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java new file mode 100644 index 000000000..43bed0c12 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java @@ -0,0 +1,21 @@ +package com.microsoft.hydralab.center.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.mockito.Mockito; +import org.junit.Test; + +public class AADOauth2ConfigurationTest { + + @Test + public void testConfigure() { + AADOauth2Configuration configuration = new AADOauth2Configuration(); + HttpSecurity http = Mockito.mock(HttpSecurity.class); + + configuration.configure(http); + } +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/AppConfigTest.java b/center/test/main/java/com/microsoft/hydralab/center/config/AppConfigTest.java new file mode 100644 index 000000000..d1e2f3bcf --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/config/AppConfigTest.java @@ -0,0 +1,150 @@ +package com.microsoft.hydralab.center.config; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.http.MediaType; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.context.ApplicationContext; +import org.springframework.security.core.session.SessionRegistry; +import org.springframework.security.core.session.SessionRegistryImpl; +import org.springframework.security.web.session.HttpSessionEventPublisher; +import org.mockito.Mockito; +import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusProperties; +import java.net.MalformedURLException; +import org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusProperties; +import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusPushGatewayManager; +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.exporter.PushGateway; +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +import static org.mockito.Mockito.*; + +public class AppConfigTest { + + @Mock + private FastJsonConfig fastJsonConfig; + @Mock + private ApplicationContext applicationContext; + @Mock + private SessionRegistry sessionRegistry; + @Mock + private HttpSessionEventPublisher httpSessionEventPublisher; + @Mock + private FileReporter fileReporter; + @Mock + private AppCenterReporter appCenterReporter; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testFastJsonHttpMessageConverter() { + FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); + List supportedMediaTypes = new ArrayList<>(); + supportedMediaTypes.add(MediaType.APPLICATION_JSON); + supportedMediaTypes.add(MediaType.APPLICATION_ATOM_XML); + supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); + supportedMediaTypes.add(MediaType.APPLICATION_OCTET_STREAM); + supportedMediaTypes.add(MediaType.APPLICATION_PDF); + supportedMediaTypes.add(MediaType.APPLICATION_RSS_XML); + supportedMediaTypes.add(MediaType.APPLICATION_XHTML_XML); + supportedMediaTypes.add(MediaType.APPLICATION_XML); + supportedMediaTypes.add(MediaType.IMAGE_GIF); + supportedMediaTypes.add(MediaType.IMAGE_JPEG); + supportedMediaTypes.add(MediaType.IMAGE_PNG); + supportedMediaTypes.add(MediaType.TEXT_EVENT_STREAM); + supportedMediaTypes.add(MediaType.TEXT_HTML); + supportedMediaTypes.add(MediaType.TEXT_MARKDOWN); + supportedMediaTypes.add(MediaType.TEXT_PLAIN); + supportedMediaTypes.add(MediaType.TEXT_XML); + fastConverter.setSupportedMediaTypes(supportedMediaTypes); + when(fastJsonConfig.getSerializerFeatures()).thenReturn( + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteNullStringAsEmpty, + SerializerFeature.WriteNullListAsEmpty, + SerializerFeature.DisableCircularReferenceDetect + ); + fastConverter.setFastJsonConfig(fastJsonConfig); + assertEquals(supportedMediaTypes, fastConverter.getSupportedMediaTypes()); + assertEquals(fastJsonConfig, fastConverter.getFastJsonConfig()); + } + + @Test + public void testStorageServiceClientProxy() { + AppConfig appConfig = new AppConfig(); + appConfig.storageServiceClientProxy(applicationContext); + } + + @Test + public void testSessionRegistry() { + SessionRegistryImpl sessionRegistryImpl = new SessionRegistryImpl(); + } + + @Test + public void testEventPublisher() { + AppConfig appConfig = new AppConfig(); + HttpSessionEventPublisher eventPublisher = appConfig.eventPublisher(); + } + + @Test + public void testPushGateway() { + PrometheusProperties prometheusProperties = Mockito.mock(PrometheusProperties.class); + AppConfig appConfig = new AppConfig(); + appConfig.pushGateway(prometheusProperties); + } + + @Test + public void testMonitorPrometheusPushGatewayManager() { + PushGateway pushGateway = Mockito.mock(PushGateway.class); + PrometheusProperties prometheusProperties = Mockito.mock(PrometheusProperties.class); + CollectorRegistry registry = Mockito.mock(CollectorRegistry.class); + PrometheusProperties.Pushgateway pushgatewayProperties = Mockito.mock(PrometheusProperties.Pushgateway.class); + Mockito.when(prometheusProperties.getPushgateway()).thenReturn(pushgatewayProperties); + Mockito.when(pushgatewayProperties.getBaseUrl()).thenReturn("http:"); + Mockito.when(pushgatewayProperties.getPushRate()).thenReturn(Duration.ofSeconds(10)); + Mockito.when(pushgatewayProperties.getJob()).thenReturn("testJob"); + Map groupingKey = new HashMap<>(); + groupingKey.put("key1", "value1"); + groupingKey.put("key2", "value2"); + Mockito.when(pushgatewayProperties.getGroupingKey()).thenReturn(groupingKey); + PrometheusPushGatewayManager.ShutdownOperation shutdownOperation = Mockito.mock(PrometheusPushGatewayManager.ShutdownOperation.class); + Mockito.when(pushgatewayProperties.getShutdownOperation()).thenReturn(shutdownOperation); + AppConfig appConfig = new AppConfig(); + appConfig.monitorPrometheusPushGatewayManager(pushGateway, prometheusProperties, registry); + Mockito.verify(pushGateway, Mockito.times(1)).setConnectionFactory(Mockito.any()); + Mockito.verify(pushGateway, Mockito.times(1)).isBasicAuthSet(); + Mockito.verify(registry, Mockito.times(1)).register(Mockito.any()); + } + + @Test + public void testFileReporter() { + AppConfig appConfig = new AppConfig(); + appConfig.fileReporter(); + verify(fileReporter, times(1)).init(anyString()); + verify(fileReporter, times(1)).registerExceptionReporter(); + } + + @Test + public void testAppCenterReporter() { + + } + +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/ContextStartupTest.java b/center/test/main/java/com/microsoft/hydralab/center/config/ContextStartupTest.java new file mode 100644 index 000000000..732949001 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/config/ContextStartupTest.java @@ -0,0 +1,51 @@ +package com.microsoft.hydralab.center.config; + +import com.microsoft.hydralab.center.config.ContextStartup; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.util.MetricUtil; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.servlet.ServletContext; + +import static org.mockito.Mockito.*; + +@RunWith(SpringRunner.class) +@SpringBootTest +@ActiveProfiles("test") +public class ContextStartupTest { + + @Mock + private MetricUtil metricUtil; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private ApplicationArguments applicationArguments; + + @Mock + private ServletContext servletContext; + + private ContextStartup contextStartup; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + contextStartup = new ContextStartup(); + contextStartup.setServletContext(servletContext); + } + + @Test + public void testRun() { + contextStartup.run(applicationArguments); + verify(deviceAgentManagementService, times(1)).registerOnlineAgent(deviceAgentManagementService); + verify(deviceAgentManagementService, times(1)).registerOnlineDevice(deviceAgentManagementService); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java b/center/test/main/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java new file mode 100644 index 000000000..e3697ecf1 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java @@ -0,0 +1,47 @@ +package com.microsoft.hydralab.center.config; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.authentication.AuthenticationManager; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { + + @Mock + private InMemoryUserDetailsManager userDetailsManager; + + @Mock + private BCryptPasswordEncoder bCryptPasswordEncoder; + + @Test + public void testUserDetailsService() { + Mockito.when(userDetailsManager.loadUserByUsername(Mockito.anyString())).thenReturn(null); + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); + UserDetailsService userDetailsService = securityConfiguration.userDetailsService(); + } + + @Test + public void testPasswordEncoder() { + PasswordEncoder passwordEncoder = Mockito.mock(BCryptPasswordEncoder.class); + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); + Mockito.when(passwordEncoder.encode(Mockito.anyString())).thenReturn("encodedPassword"); + PasswordEncoder result = securityConfiguration.passwordEncoder(); + Mockito.verify(passwordEncoder).encode(Mockito.anyString()); + Mockito.verifyNoMoreInteractions(passwordEncoder); + } + + @Test + public void testAuthenticationManagerBean() { + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); + Mockito.when(userDetailsManager.createUser(Mockito.any())).thenReturn(null); + Mockito.when(userDetailsManager.loadUserByUsername(Mockito.anyString())).thenReturn(null); + AuthenticationManager authenticationManager = securityConfiguration.authenticationManagerBean(); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java b/center/test/main/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java new file mode 100644 index 000000000..bec648b5f --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java @@ -0,0 +1,51 @@ +package com.microsoft.hydralab.center.config; + +import com.microsoft.hydralab.center.config.WebMvcConfiguration; +import com.microsoft.hydralab.center.interceptor.BaseInterceptor; +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import com.microsoft.hydralab.common.util.Const; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; + +import static org.mockito.Mockito.*; +import static org.mockito.Mockito.verify; + +public class WebMvcConfigurationTest { + + @Mock + private BaseInterceptor baseInterceptor; + @Mock + private CorsInterceptor corsInterceptor; + @Mock + private FastJsonHttpMessageConverter fastJsonHttpMessageConverter; + @Mock + private ViewControllerRegistry viewControllerRegistry; + @Mock + private InterceptorRegistry interceptorRegistry; + private WebMvcConfiguration webMvcConfiguration; + @Mock + private InterceptorRegistry registry; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + webMvcConfiguration = new WebMvcConfiguration(); + } + + @Test + public void testAddViewControllers() { + webMvcConfiguration.addViewControllers(viewControllerRegistry); + verify(viewControllerRegistry).addViewController("/portal/").setViewName("forward:" + Const.FrontEndPath.INDEX_PATH); + } + + @Test + public void testAddInterceptors() { + webMvcConfiguration.addInterceptors(registry); + verify(registry).addInterceptor(baseInterceptor); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java b/center/test/main/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java new file mode 100644 index 000000000..c32209b55 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java @@ -0,0 +1,40 @@ +package com.microsoft.hydralab.center.config; + +import com.microsoft.hydralab.center.config.WebSocketConfig; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertNotNull; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.mock; + +@RunWith(MockitoJUnitRunner.class) +public class WebSocketConfigTest { + + private WebSocketConfig webSocketConfig; + @Mock + private ServletServerContainerFactoryBean container; + + @Before + public void setUp() { + webSocketConfig = new WebSocketConfig(); + } + + @Test + public void testServerEndpointExporter() { + ServerEndpointExporter serverEndpointExporter = webSocketConfig.serverEndpointExporter(); + assertNotNull(serverEndpointExporter); + } + + @Test + public void testCreateWebSocketContainer() { + when(container.getMaxTextMessageBufferSize()).thenReturn(100000); + when(container.getMaxBinaryMessageBufferSize()).thenReturn(100000); + ServletServerContainerFactoryBean result = webSocketConfig.createWebSocketContainer(); + assertSame(container, result); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java b/center/test/main/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java new file mode 100644 index 000000000..d25a0b939 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java @@ -0,0 +1,68 @@ +package com.microsoft.hydralab.center.controller; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; +import com.alibaba.fastjson.JSONObject; +import com.microsoft.hydralab.center.controller.AgentManageController; +import com.microsoft.hydralab.center.service.AttachmentService; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.agent.Result; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageControllerTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private AgentManageService agentManageService; + @InjectMocks + private AgentManageController agentManageController; + @Mock + private AttachmentService attachmentService; + @Mock + private SysTeamService sysTeamService; + @Mock + private SysUserService sysUserService; + @Mock + private UserTeamManagementService userTeamManagementService; + + @Before + public void setup() { + Mockito.when(attachmentService.getLatestAgentPackage()).thenReturn("agentPackage"); + } + + @Test + public void testQueryUpdateInfo() { + List updateTasks = new ArrayList<>(); + when(deviceAgentManagementService.getUpdateTasks()).thenReturn(updateTasks); + Result result = agentManageController.queryUpdateInfo(); + assertEquals(HttpStatus.OK.value(), result.getStatusCode()); + assertEquals(updateTasks, result.getData()); + } + + @Test + public void testGetCenterInfo() { + JSONObject expectedData = new JSONObject(); + expectedData.put("versionName", "versionName"); + expectedData.put("versionCode", "versionCode"); + expectedData.put("agentPkg", "agentPackage"); + Result result = agentManageController.getCenterInfo(); + assert result != null; + assert result.getStatus() == HttpStatus.OK.value(); + assert result.getData().equals(expectedData); + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java b/center/test/main/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java new file mode 100644 index 000000000..e2af251be --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java @@ -0,0 +1,116 @@ +package com.microsoft.hydralab.center.controller; + +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { + + @Mock + private AuthUtil authUtil; + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @InjectMocks + private AuthController authController; + @Mock + private SecretGenerator secretGenerator; + @Mock + private AuthTokenService authTokenService; + @Mock + private SecurityUserService securityUserService; + @Mock + private SysUser sysUser; + @Mock + private Result result; + @Mock + private AuthToken authToken; + @Mock + private List authTokens; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testGetAccessToken() { + String code = "testCode"; + String redirectUrl = "testRedirectUrl"; + String accessToken = "testAccessToken"; + Mockito.when(authUtil.verifyCode(code)).thenReturn(accessToken); + Mockito.when(request.getParameter("state")).thenReturn(redirectUrl); + authController.getAccessToken(code, request, response); + Mockito.verify(response).sendRedirect(redirectUrl); + } + + @Test + public void testDeleteToken() { + when(authTokenService.deleteAuthToken(any(AuthToken.class))).thenReturn(result); + Result actualResult = authController.deleteToken(sysUser, 1L); + assertEquals(result, actualResult); + } + + @Test + public void testGetUserInfo() { + SysUser requestor = new SysUser(); + requestor.setMailAddress("test@example.com"); + Result expectedResult = Result.ok(requestor); + when(authController.getUserInfo(requestor)).thenReturn(expectedResult); + Result actualResult = authController.getUserInfo(requestor); + assertEquals(expectedResult, actualResult); + } + + @Test + public void testGetUserPhoto() { + SysUser sysUser = new SysUser(); + HttpServletResponse response = mock(HttpServletResponse.class); + InputStream inputStream = mock(InputStream.class); + OutputStream outputStream = mock(OutputStream.class); + when(authUtil.requestPhoto(anyString())).thenReturn(inputStream); + when(response.getOutputStream()).thenReturn(outputStream); + authController.getUserPhoto(sysUser, response); + verify(authUtil, times(1)).requestPhoto(anyString()); + verify(response, times(1)).setContentType(MediaType.IMAGE_JPEG_VALUE); + verify(outputStream, times(1)).write(any(byte[].class), anyInt(), anyInt()); + verify(outputStream, times(1)).flush(); + verify(outputStream, times(1)).close(); + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java b/center/test/main/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java new file mode 100644 index 000000000..f6b724388 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java @@ -0,0 +1,89 @@ +package com.microsoft.hydralab.center.controller; + +import com.microsoft.hydralab.center.controller.StorageController; +import com.microsoft.hydralab.center.service.StorageTokenManageService; +import com.microsoft.hydralab.center.util.LocalStorageIOUtil; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.HydraLabRuntimeException; +import com.microsoft.hydralab.common.util.LogUtils; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.slf4j.Logger; +import org.springframework.http.HttpStatus; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.times; + +@RunWith(MockitoJUnitRunner.class) +public class StorageControllerTest { + + @Mock + private StorageTokenManageService storageTokenManageService; + @Mock + private Logger logger; + @InjectMocks + private StorageController storageController; + @Mock + private MockHttpServletRequest request; + @Mock + private MockHttpServletResponse response; + @Mock + private MultipartFile uploadedFile; + + @Before + public void setup() { + storageController = new StorageController(); + } + + @Test + public void testUploadFile() throws IOException { + String fileUri = "testFile.txt"; + String storageToken = "Bearer token"; + InputStream inputStream = Mockito.mock(InputStream.class); + Result expectedResult = Result.ok(fileUri); + when(request.getHeader("Authorization")).thenReturn(storageToken); + when(storageTokenManageService.validateAccessToken(storageToken)).thenReturn(true); + when(uploadedFile.getInputStream()).thenReturn(inputStream); + Result result = storageController.uploadFile(request, uploadedFile, fileUri); + assertEquals(expectedResult, result); + } + + @Test + public void testPostDownloadFile() throws IOException { + String fileUri = "example/file.txt"; + File file = mock(File.class); + when(request.getHeader("Authorization")).thenReturn("Bearer token"); + when(storageController.storageTokenManageService.validateAccessToken("token")).thenReturn(true); + when(LogUtils.isLegalStr(fileUri, Const.RegexString.STORAGE_FILE_REL_PATH, false)).thenReturn(true); + when(new File(Const.LocalStorageURL.CENTER_LOCAL_STORAGE_ROOT + fileUri)).thenReturn(file); + when(file.exists()).thenReturn(true); + when(file.getName()).thenReturn("file.txt"); + storageController.postDownloadFile(request, response, fileUri); + verify(response).reset(); + verify(response).setContentType("application/octet-stream"); + verify(response).setCharacterEncoding("utf-8"); + verify(response).setContentLength((int) file.length()); + verify(response).setHeader("Content-Disposition", "attachment;filename=file.txt"); + verify(response.getOutputStream(), times(1)).write(any(byte[].class), anyInt(), anyInt()); + verify(storageController.logger).info(String.format("Output file: %s , size: %d!", fileUri, resLen)); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java b/center/test/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java new file mode 100644 index 000000000..16b63cb90 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java @@ -0,0 +1,75 @@ +package com.microsoft.hydralab.center.interceptor; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.servlet.ModelAndView; + +public class BaseInterceptorTest { + + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + private BaseInterceptor baseInterceptor; + @Mock + private ModelAndView modelAndView; + @Mock + private Exception ex; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + baseInterceptor = new BaseInterceptor(); + } + + @Test + public void testPreHandle() { + when(request.getRemoteUser()).thenReturn("user"); + when(request.getRequestURI()).thenReturn("/path"); + when(request.getRemoteAddr()).thenReturn("127.0.0.1"); + when(request.getRemoteHost()).thenReturn("localhost"); + when(baseInterceptor.isLegalStr(anyString(), anyString(), anyBoolean())).thenReturn(true); + when(baseInterceptor.isIgnore(anyString())).thenReturn(false); + when(baseInterceptor.verifyToken(anyString())).thenReturn(true); + when(baseInterceptor.getLoginUrl()).thenReturn("http:"); + boolean result = baseInterceptor.preHandle(request, response, handler); + assertTrue(result); + verify(request, times(1)).getRemoteUser(); + verify(request, times(1)).getRequestURI(); + verify(request, times(1)).getRemoteAddr(); + verify(request, times(1)).getRemoteHost(); + verify(baseInterceptor, times(1)).isLegalStr(anyString(), anyString(), anyBoolean()); + verify(baseInterceptor, times(1)).isIgnore(anyString()); + verify(baseInterceptor, times(1)).verifyToken(anyString()); + verify(baseInterceptor, times(1)).getLoginUrl(); + } + + @Test + public void testPostHandle() { + baseInterceptor.postHandle(request, response, handler, modelAndView); + } + + @Test + public void testAfterCompletion() { + baseInterceptor.afterCompletion(request, response, handler, ex); + } + + @Test + public void testAfterConcurrentHandlingStarted() { + baseInterceptor.afterConcurrentHandlingStarted(request, response, handler); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java b/center/test/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java new file mode 100644 index 000000000..81d21cbe6 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java @@ -0,0 +1,67 @@ +package com.microsoft.hydralab.center.interceptor; + +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.LogUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; + +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; + +public class CorsInterceptorTest { + + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + private CorsInterceptor corsInterceptor; + @Mock + private ModelAndView modelAndView; + @Mock + private Exception ex; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + corsInterceptor = new CorsInterceptor(); + } + + @Test + public void testPreHandle() { + when(request.getRequestURI()).thenReturn("/test"); + when(request.getMethod()).thenReturn("GET"); + boolean result = corsInterceptor.preHandle(request, response, handler); + assertTrue(result); + verify(response).addHeader("Access-Control-Allow-Origin", "*"); + verify(response).addHeader("Access-Control-Allow-Methods", "POST, GET"); + verify(response).addHeader("Access-Control-Max-Age", "100"); + verify(response).addHeader("Access-Control-Allow-Headers", "Content-Type"); + verify(response).addHeader("Access-Control-Allow-Credentials", "false"); + } + + @Test + public void testPostHandle() { + corsInterceptor.postHandle(request, response, handler, modelAndView); + } + + @Test + public void testAfterCompletion() { + corsInterceptor.afterCompletion(request, response, handler, ex); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java b/center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java new file mode 100644 index 000000000..135ac8ea3 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java @@ -0,0 +1,55 @@ +package com.microsoft.hydralab.center.openai; + +import com.microsoft.hydralab.center.openai.AzureOpenAIServiceClient; +import com.alibaba.fastjson.JSON; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AzureOpenAIServiceClientTest { + + @Mock + private OkHttpClient client; + private AzureOpenAIServiceClient serviceClient; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + serviceClient = new AzureOpenAIServiceClient("apiKey", "deployment", "endpoint"); + serviceClient.client = client; + } + + @Test + public void testChatCompletion() { + ChatRequest request = new ChatRequest(); + request.setMessage("Hello"); + String expectedResponse = "Response"; + String requestBodyString = JSON.toJSONString(request); + String apiVersion = "2023-03-15-preview"; + MediaType mediaType = MediaType.parse("application/json"); + String url = "endpoint/openai/deployments/deployment/chat/completions?api-version=2023-03-15-preview"; + RequestBody body = RequestBody.create(requestBodyString, mediaType); + Request httpRequest = new Request.Builder() + .url(url) + .post(body) + .addHeader("api-key", "apiKey") + .build(); + Response response = mock(Response.class); + when(response.isSuccessful()).thenReturn(true); + when(response.body()).thenReturn(expectedResponse); + when(client.newCall(httpRequest).execute()).thenReturn(response); + String result = serviceClient.chatCompletion(request); + verify(client).newCall(httpRequest).execute(); + verify(response).isSuccessful(); + verify(response).body(); + assertEquals(expectedResponse, result); + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java b/center/test/main/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java new file mode 100644 index 000000000..f89604b67 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java @@ -0,0 +1,108 @@ +package com.microsoft.hydralab.center.openai; + +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertEquals; +import org.junit.Assert; + +public class ChatRequestTest { + + @Test + public void testGetMaxTokens() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getMaxTokens()).thenReturn(800); + int result = chatRequest.getMaxTokens(); + assertEquals(800, result); + } + + @Test + public void testSetMaxTokens() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + int maxTokens = 1000; + chatRequest.setMaxTokens(maxTokens); + Mockito.verify(chatRequest).setMaxTokens(maxTokens); + } + + @Test + public void testGetTemperature() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getTemperature()).thenReturn(0.75); + double expectedTemperature = 0.75; + double actualTemperature = chatRequest.getTemperature(); + assertEquals(expectedTemperature, actualTemperature, 0.0); + } + + @Test + public void testSetTemperature() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double temperature = 0.5; + chatRequest.setTemperature(temperature); + Mockito.verify(chatRequest).setTemperature(temperature); + } + + @Test + public void testGetFrequencyPenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getFrequencyPenalty()).thenReturn(0.0); + double frequencyPenalty = chatRequest.getFrequencyPenalty(); + assertEquals(0.0, frequencyPenalty, 0.001); + } + + @Test + public void testSetFrequencyPenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double frequencyPenalty = 0.5; + chatRequest.setFrequencyPenalty(frequencyPenalty); + Mockito.verify(chatRequest).setFrequencyPenalty(frequencyPenalty); + } + + @Test + public void testGetPresencePenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getPresencePenalty()).thenReturn(0.0); + double result = chatRequest.getPresencePenalty(); + assertEquals(0.0, result, 0.0); + } + + @Test + public void testSetPresencePenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double presencePenalty = 0.5; + chatRequest.setPresencePenalty(presencePenalty); + Mockito.verify(chatRequest).setPresencePenalty(presencePenalty); + } + + @Test + public void testGetTopP() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getTopP()).thenReturn(0.95); + double result = chatRequest.getTopP(); + assertEquals(0.95, result, 0.001); + } + + @Test + public void testSetTopP() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double topP = 0.95; + chatRequest.setTopP(topP); + Mockito.verify(chatRequest).setTopP(topP); + } + + @Test + public void testGetStop() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + String expectedStop = "stop"; + Mockito.when(chatRequest.getStop()).thenReturn(expectedStop); + String actualStop = chatRequest.getStop(); + Assert.assertEquals(expectedStop, actualStop); + } + + @Test + public void testSetStop() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + String stop = "stop"; + chatRequest.setStop(stop); + Mockito.verify(chatRequest).setStop(stop); + } + +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java b/center/test/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java new file mode 100644 index 000000000..05d326842 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java @@ -0,0 +1,43 @@ +package com.microsoft.hydralab.center.repository; + +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; + +@RunWith(MockitoJUnitRunner.class) +@SpringBootTest +public class AuthTokenRepositoryTest { + + @InjectMocks + private AuthTokenRepository authTokenRepository; + + @Mock + private AuthTokenRepository authTokenRepositoryMock; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCountByToken() { + String token = "testToken"; + List authTokens = new ArrayList<>(); + authTokens.add(new AuthToken()); + Mockito.when(authTokenRepositoryMock.countByToken(token)).thenReturn(authTokens.size()); + int result = authTokenRepository.countByToken(token); + assertEquals(authTokens.size(), result); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java b/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java new file mode 100644 index 000000000..96ff6f6e4 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java @@ -0,0 +1,40 @@ +package com.microsoft.hydralab.center.repository; + +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.List; + +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupRelationRepositoryTest { + + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + + @InjectMocks + private DeviceGroupRelationService deviceGroupRelationService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDeleteAllByGroupName() { + String groupName = "TestGroup"; + List deviceGroupRelations = new ArrayList<>(); + when(deviceGroupRelationRepository.findAllByGroupName(groupName)).thenReturn(deviceGroupRelations); + deviceGroupRelationService.deleteAllByGroupName(groupName); + verify(deviceGroupRelationRepository).deleteAllByGroupName(groupName); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java b/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java new file mode 100644 index 000000000..ab2d4cd79 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java @@ -0,0 +1,37 @@ +package com.microsoft.hydralab.center.repository; + +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupRepositoryTest { + + @Mock + private DeviceGroupRepository deviceGroupRepository; + + @InjectMocks + private DeviceGroupRepository deviceGroupRepositoryUnderTest; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCountByGroupName() { + String groupName = "Test Group"; + int expectedCount = 5; + when(deviceGroupRepository.countByGroupName(groupName)).thenReturn(expectedCount); + int actualCount = deviceGroupRepositoryUnderTest.countByGroupName(groupName); + assertEquals(expectedCount, actualCount); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java b/center/test/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java new file mode 100644 index 000000000..90cf9960e --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java @@ -0,0 +1,52 @@ +package com.microsoft.hydralab.center.repository; + +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelationId; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; +import static org.mockito.Mockito.verify; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(MockitoJUnitRunner.class) +@SpringBootTest +public class RolePermissionRelationRepositoryTest { + + @Mock + private RolePermissionRelationRepository repository; + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + private RolePermissionRelation rolePermissionRelation; + private RolePermissionRelationId rolePermissionRelationId; + + @Before + public void setUp() { + rolePermissionRelation = new RolePermissionRelation(); + rolePermissionRelationId = new RolePermissionRelationId(); + } + + @Test + public void testDeleteAllByPermissionId() { + String permissionId = "testPermissionId"; + repository.deleteAllByPermissionId(permissionId); + verify(repository).deleteAllByPermissionId(permissionId); + } + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDeleteAllByRoleId() { + String roleId = "testRoleId"; + rolePermissionRelationRepository.deleteAllByRoleId(roleId); + verify(rolePermissionRelationRepository).deleteAllByRoleId(roleId); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java b/center/test/main/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java new file mode 100644 index 000000000..7d3bc298f --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java @@ -0,0 +1,39 @@ +package com.microsoft.hydralab.center.repository; + +import com.microsoft.hydralab.center.repository.SysUserRepository; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserRepositoryTest { + + @Mock + private SysUserRepository sysUserRepository; + + @InjectMocks + private SysUserRepository sysUserRepositoryUnderTest; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCountByRoleId() { + String roleId = "testRoleId"; + int expectedCount = 5; + when(sysUserRepository.countByRoleId(roleId)).thenReturn(expectedCount); + int actualCount = sysUserRepositoryUnderTest.countByRoleId(roleId); + assertEquals(expectedCount, actualCount); + } +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java new file mode 100644 index 000000000..8a5ea64dd --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java @@ -0,0 +1,182 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.center.service.AgentManageService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.center.util.CenterConstant; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.CriteriaTypeUtil; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { + + @Mock + private AgentUserRepository agentUserRepository; + + @InjectMocks + private AgentManageService agentManageService; + + @Mock + private UserTeamManagementService userTeamManagementService; + + @Mock + private SysUserService sysUserService; + + private SysUser sysUser; + private AgentUser agentUser; + private String teamId; + private String teamName; + private List agents; + + @Before + public void setup() { + sysUser = new SysUser(); + sysUser.setMailAddress("test@mail.com"); + agentUser = new AgentUser(); + agentUser.setId("agentId"); + agentUser.setMailAddress("test@mail.com"); + } + + @Test + public void testCreateAgent() { + String teamId = "teamId"; + String teamName = "teamName"; + String mailAddress = "mailAddress"; + String os = "os"; + String name = "name"; + AgentUser agentUserInfo = new AgentUser(); + agentUserInfo.setMailAddress(mailAddress); + agentUserInfo.setOs(os); + agentUserInfo.setName(name); + agentUserInfo.setTeamId(teamId); + agentUserInfo.setTeamName(teamName); + SecretGenerator secretGenerator = new SecretGenerator(); + String agentSecret = secretGenerator.generateSecret(); + agentUserInfo.setSecret(agentSecret); + when(agentUserRepository.saveAndFlush(any(AgentUser.class))).thenReturn(agentUserInfo); + AgentUser result = agentManageService.createAgent(teamId, teamName, mailAddress, os, name); + assertNotNull(result); + assertEquals(mailAddress, result.getMailAddress()); + assertEquals(os, result.getOs()); + assertEquals(name, result.getName()); + assertEquals(teamId, result.getTeamId()); + assertEquals(teamName, result.getTeamName()); + assertEquals(agentSecret, result.getSecret()); + verify(agentUserRepository, times(1)).saveAndFlush(any(AgentUser.class)); + } + + @Before + public void setUp() { + teamId = "teamId"; + teamName = "teamName"; + agents = new ArrayList<>(); + agents.add(new AgentUser()); + agents.add(new AgentUser()); + } + + @Test + public void testGetAgent() { + String agentId = "agent123"; + AgentUser agentUser = new AgentUser(); + agentUser.setId(agentId); + Optional optionalAgentUser = Optional.of(agentUser); + when(agentUserRepository.findById(agentId)).thenReturn(optionalAgentUser); + AgentUser result = agentManageService.getAgent(agentId); + assertEquals(agentUser, result); + } + + @Test + public void testDeleteAgent() { + AgentUser agentUser = new AgentUser(); + agentManageService.deleteAgent(agentUser); + verify(agentUserRepository, times(1)).delete(agentUser); + } + + @Test + public void testIsAgentNameRegistered() { + String agentName = "agent1"; + AgentUser agentUser = new AgentUser(); + agentUser.setName(agentName); + Mockito.when(agentUserRepository.findByName(agentName)).thenReturn(Optional.of(agentUser)); + boolean result = agentManageService.isAgentNameRegistered(agentName); + Assert.assertTrue(result); + } + + @Test + public void testCheckAgentAuthorization_WithNullRequestor_ReturnsFalse() { + assertFalse(agentManageService.checkAgentAuthorization(null, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithNonExistingAgent_ReturnsFalse() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(null); + assertFalse(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithMatchingMailAddress_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); + assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithAdminUser_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); + Mockito.when(sysUserService.checkUserAdmin(sysUser)).thenReturn(true); + assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithTeamAdmin_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(sysUser, "teamId")).thenReturn(true); + assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testUpdateAgentTeam() { + when(agentUserRepository.findAllByTeamId(teamId)).thenReturn(agents); + agentManageService.updateAgentTeam(teamId, teamName); + verify(agentUserRepository).saveAll(agents); + for (AgentUser agent : agents) { + assertEquals(teamName, agent.getTeamName()); + } + } + + @Test + public void testGenerateAgentConfigFile() { + String agentId = "agentId"; + String host = "localhost"; + AgentUser agentUser = new AgentUser(); + agentUser.setId(agentId); + agentUser.setName("Agent Name"); + agentUser.setSecret("Agent Secret"); + when(agentUserRepository.findById(agentId)).thenReturn(Optional.of(agentUser)); + File agentConfigFile = agentManageService.generateAgentConfigFile(agentId, host); + assertNotNull(agentConfigFile); + assertTrue(agentConfigFile.exists()); + assertEquals("application.yml", agentConfigFile.getName()); + } + +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java new file mode 100644 index 000000000..438db3bb2 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java @@ -0,0 +1,98 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.List; +import java.util.Optional; + +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; +import java.util.ArrayList; + +@Service +public class AuthTokenServiceTest { + + @Mock + private AuthTokenRepository authTokenRepository; + @Mock + private SecurityUserService securityUserService; + private AuthTokenService authTokenService; + @Mock + private HttpSession session; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + authTokenService = new AuthTokenService(); + authTokenService.authTokenRepository = authTokenRepository; + authTokenService.securityUserService = securityUserService; + } + + @Test + public void testSaveAuthToken() { + AuthToken authToken = new AuthToken(); + Mockito.when(authTokenRepository.save(authToken)).thenReturn(authToken); + AuthToken result = authTokenService.saveAuthToken(authToken); + Mockito.verify(authTokenRepository).save(authToken); + assertEquals(authToken, result); + } + + @Test + public void testGetAuthToken() { + Long tokenId = 1L; + AuthToken authToken = new AuthToken(); + authToken.setId(tokenId); + Optional optionalAuthToken = Optional.of(authToken); + when(authTokenRepository.findById(tokenId)).thenReturn(optionalAuthToken); + AuthToken result = authTokenService.getAuthToken(tokenId); + assertEquals(authToken, result); + } + + @Test + public void testDeleteAuthToken() { + AuthToken authToken = new AuthToken(); + authTokenService.deleteAuthToken(authToken); + verify(authTokenRepository, times(1)).delete(authToken); + } + + @Test + public void testCheckAuthToken() { + String authToken = "token"; + List authTokens = new ArrayList<>(); + AuthToken token = new AuthToken(); + token.setToken(authToken); + authTokens.add(token); + Mockito.when(authTokenRepository.queryByToken(authToken)).thenReturn(authTokens); + Authentication authObj = Mockito.mock(Authentication.class); + Mockito.when(securityUserService.loadUserAuthentication(Mockito.anyString(), Mockito.isNull())).thenReturn(authObj); + boolean result = authTokenService.checkAuthToken(authToken); + Mockito.verify(authTokenRepository).queryByToken(authToken); + Mockito.verify(securityUserService).loadUserAuthentication(Mockito.anyString(), Mockito.isNull()); + Mockito.verify(SecurityContextHolder.getContext()).setAuthentication(authObj); + Assert.assertTrue(result); + } + + @Test + public void testLoadDefaultUser() { + AuthToken authToken = new AuthToken(); + Mockito.when(authTokenRepository.save(Mockito.any(AuthToken.class))).thenReturn(authToken); + authTokenService.loadDefaultUser(session); + Mockito.verify(securityUserService).addDefaultUserSession(session); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java new file mode 100644 index 000000000..129963e6d --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java @@ -0,0 +1,111 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@SpringBootTest +public class RolePermissionManagementServiceTest { + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + @Mock + private SysPermissionService sysPermissionService; + @Mock + private SysRoleService sysRoleService; + @InjectMocks + private RolePermissionManagementService rolePermissionManagementService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + rolePermissionManagementService = new RolePermissionManagementService(); + rolePermissionManagementService.rolePermissionRelationRepository = rolePermissionRelationRepository; + rolePermissionManagementService.sysPermissionService = sysPermissionService; + rolePermissionManagementService.sysRoleService = sysRoleService; + } + + @Test + public void testInitList() { + RolePermissionRelation relation1 = new RolePermissionRelation("role1", "permission1"); + RolePermissionRelation relation2 = new RolePermissionRelation("role2", "permission2"); + List relationList = List.of(relation1, relation2); + SysPermission permission1 = new SysPermission("permission1"); + SysPermission permission2 = new SysPermission("permission2"); + when(rolePermissionRelationRepository.findAll()).thenReturn(relationList); + when(sysPermissionService.queryPermissionById("permission1")).thenReturn(permission1); + when(sysPermissionService.queryPermissionById("permission2")).thenReturn(permission2); + rolePermissionManagementService.initList(); + Map> rolePermissionListMap = rolePermissionManagementService.rolePermissionListMap; + assertEquals(2, rolePermissionListMap.size()); + Set role1Permissions = rolePermissionListMap.get("role1"); + assertEquals(1, role1Permissions.size()); + assertEquals(permission1, role1Permissions.iterator().next()); + Set role2Permissions = rolePermissionListMap.get("role2"); + assertEquals(1, role2Permissions.size()); + assertEquals(permission2, role2Permissions.iterator().next()); + verify(rolePermissionRelationRepository, times(1)).findAll(); + verify(sysPermissionService, times(2)).queryPermissionById(anyString()); + } + + @Test + public void testAddRolePermissionRelation() { + String roleId = "role1"; + String permissionId = "permission1"; + RolePermissionRelation rolePermissionRelation = new RolePermissionRelation(roleId, permissionId); + Set permissions = new HashSet<>(); + permissions.add(new SysPermission(permissionId)); + when(sysPermissionService.queryPermissionById(permissionId)).thenReturn(new SysPermission(permissionId)); + when(rolePermissionRelationRepository.save(rolePermissionRelation)).thenReturn(rolePermissionRelation); + RolePermissionRelation result = rolePermissionManagementService.addRolePermissionRelation(roleId, permissionId); + assertEquals(rolePermissionRelation, result); + assertEquals(permissions, rolePermissionManagementService.rolePermissionListMap.get(roleId)); + } + + @Before + public void setup() { + SysPermission sysPermission = new SysPermission(); + sysPermission.setId("permissionId"); + sysPermission.setName("permissionName"); + RolePermissionRelation rolePermissionRelation = new RolePermissionRelation(); + rolePermissionRelation.setRoleId("roleId"); + rolePermissionRelation.setPermissionId("permissionId"); + when(rolePermissionRelationRepository.findByRoleIdAndPermissionId("roleId", "permissionId")) + .thenReturn(Optional.of(rolePermissionRelation)); + when(rolePermissionManagementService.queryRelation("roleId", "permissionId")) + .thenReturn(rolePermissionRelation); + } + + @Test + public void testDeleteRolePermissionRelation() { + RolePermissionRelation relation = new RolePermissionRelation("roleId", "permissionId"); + Set permissions = new HashSet<>(); + permissions.add(new SysPermission("permissionId", "permissionName")); + when(rolePermissionManagementService.queryPermissionsByRole("roleId")).thenReturn(new ArrayList<>(permissions)); + rolePermissionManagementService.deleteRolePermissionRelation(relation); + verify(rolePermissionRelationRepository, times(1)).delete(relation); + verify(sysPermissionService, times(1)).queryPermissionById("permissionId"); + } + + @Test + public void testQueryRelation() { + RolePermissionRelation result = rolePermissionManagementService.queryRelation("roleId", "permissionId"); + assertEquals("roleId", result.getRoleId()); + assertEquals("permissionId", result.getPermissionId()); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java new file mode 100644 index 000000000..7a97f3bd7 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java @@ -0,0 +1,151 @@ +package com.microsoft.hydralab.center.service; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; + +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +import org.springframework.security.core.session.SessionRegistry; +import org.mockito.Mockito; +import org.springframework.mock.web.MockHttpSession; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { + + @Mock + private SysUserService sysUserService; + @Mock + private SysRoleService sysRoleService; + @Mock + private SysTeamService sysTeamService; + @Mock + private AuthUtil authUtil; + @Mock + private RolePermissionManagementService rolePermissionManagementService; + @Mock + private UserTeamManagementService userTeamManagementService; + @Mock + private SessionManageService sessionManageService; + @Mock + private SessionRegistry sessionRegistry; + private SecurityUserService securityUserService; + @Mock + private HttpSession session; + @Mock + private HttpSession mockSession; + @Mock + private SessionRegistry mockSessionRegistry; + @Mock + private Authentication mockAuthentication; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + securityUserService = new SecurityUserService(); + } + + @Test + public void testLoadUserAuthentication() { + String mailAddress = "test@example.com"; + String accessToken = "1234567890"; + SysUser user = new SysUser(); + user.setMailAddress(mailAddress); + user.setAccessToken(accessToken); + List authorities = new ArrayList<>(); + authorities.add(new SimpleGrantedAuthority("ROLE_USER")); + when(sysUserService.queryUserByMailAddress(mailAddress)).thenReturn(user); + when(sysRoleService.getOrCreateDefaultRole(anyString(), anyInt())).thenReturn(new SysRole()); + when(sysTeamService.getOrCreateDefaultTeam(anyString())).thenReturn(new SysTeam()); + when(userTeamManagementService.addUserTeamRelation(anyString(), any(SysUser.class), anyBoolean())).thenReturn(new UserTeamRelation()); + when(sysRoleService.queryRoleById(anyString())).thenReturn(new SysRole()); + when(rolePermissionManagementService.queryPermissionsByRole(anyString())).thenReturn(new ArrayList<>()); + Authentication result = securityUserService.loadUserAuthentication(mailAddress, accessToken); + assertEquals(user, result); + assertEquals(authorities, user.getAuthorities()); + verify(sysUserService, times(1)).queryUserByMailAddress(mailAddress); + verify(sysRoleService, times(1)).getOrCreateDefaultRole(anyString(), anyInt()); + verify(sysTeamService, times(1)).getOrCreateDefaultTeam(anyString()); + verify(userTeamManagementService, times(1)).addUserTeamRelation(anyString(), any(SysUser.class), anyBoolean()); + verify(sysRoleService, times(1)).queryRoleById(anyString()); + verify(rolePermissionManagementService, times(1)).queryPermissionsByRole(anyString()); + } + + @Test + public void testAddSessionAndUserAuth() { + String mailAddress = "test@example.com"; + String accessToken = "123456"; + HttpSession session = mock(HttpSession.class); + SysUser user = new SysUser(); + user.setMailAddress(mailAddress); + user.setAccessToken(accessToken); + when(sysUserService.queryUserByMailAddress(mailAddress)).thenReturn(null); + when(authUtil.getLoginUserDisplayName(accessToken)).thenReturn("Test User"); + when(sysRoleService.getOrCreateDefaultRole(Const.DefaultRole.USER, 100)).thenReturn(new SysRole()); + when(sysTeamService.getOrCreateDefaultTeam(Const.DefaultTeam.DEFAULT_TEAM_NAME)).thenReturn(new SysTeam()); + when(sysUserService.createUserWithDefaultRole(anyString(), anyString(), anyInt(), anyString())).thenReturn(user); + securityUserService.addSessionAndUserAuth(mailAddress, accessToken, session); + verify(sessionManageService, times(1)).putUserSession(mailAddress, session); + verify(sessionRegistry, times(1)).registerNewSession(session.getId(), mailAddress); + verify(sysUserService, times(1)).queryUserByMailAddress(mailAddress); + verify(authUtil, times(1)).getLoginUserDisplayName(accessToken); + verify(sysRoleService, times(1)).getOrCreateDefaultRole(Const.DefaultRole.USER, 100); + verify(sysTeamService, times(1)).getOrCreateDefaultTeam(Const.DefaultTeam.DEFAULT_TEAM_NAME); + verify(sysUserService, times(1)).createUserWithDefaultRole(anyString(), anyString(), anyInt(), anyString()); + } + + @Test + public void testAddDefaultUserSession() { + securityUserService.addDefaultUserSession(mockSession); + verify(securityUserService.sessionManageService).putUserSession(eq("defaultUser"), eq(mockSession)); + verify(securityUserService).loadUserAuthentication(eq("defaultUser"), isNull()); + verify(mockSessionRegistry).registerNewSession(eq(mockSession.getId()), eq("defaultUser")); + } + + @Test + public void testReloadUserAuthentication() { + String mailAddress = "test@example.com"; + String updateContent = "default_team"; + SysUser authUser = new SysUser(); + authUser.setMailAddress(mailAddress); + authUser.setAccessToken("test_token"); + Authentication authentication = Mockito.mock(Authentication.class); + Mockito.when(authentication instanceof SysUser).thenReturn(true); + Mockito.when(authentication.getPrincipal()).thenReturn(authUser); + Mockito.when(sessionManageService.getUserSessions(mailAddress)).thenReturn(new ArrayList<>()); + securityUserService.reloadUserAuthentication(mailAddress, updateContent); + Mockito.verify(sessionManageService, Mockito.times(1)).getUserSessions(mailAddress); + Mockito.verify(session, Mockito.never()).setAttribute(Mockito.anyString(), Mockito.any()); + } + + @Test + public void testReloadUserAuthenticationToSession() { + String updateContent = "updateContent"; + securityUserService.reloadUserAuthenticationToSession(session, updateContent); + Mockito.verify(session, Mockito.times(1)).getAttribute(Mockito.eq(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)); + Mockito.verify(session, Mockito.times(1)).setAttribute(Mockito.eq(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY), Mockito.any()); + } + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + securityUserService = new SecurityUserService(); + SecurityContextHolder.getContext().setAuthentication(mockAuthentication); + securityUserService.sessionRegistry = mockSessionRegistry; + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java new file mode 100644 index 000000000..d24f93a8b --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java @@ -0,0 +1,51 @@ +package com.microsoft.hydralab.center.service; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.session.SessionInformation; +import org.springframework.security.core.session.SessionRegistry; + +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SessionManageServiceTest { + + private SessionManageService sessionManageService; + + @Mock + private SessionRegistry sessionRegistry; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + sessionManageService = new SessionManageService(); + sessionManageService.sessionRegistry = sessionRegistry; + } + + @Test + public void testPutUserSession() { + String mailAddress = "test@example.com"; + HttpSession httpSession = mock(HttpSession.class); + SessionInformation sessionInformation = mock(SessionInformation.class); + List userSessions = new ArrayList<>(); + userSessions.add(httpSession); + + when(sessionRegistry.getAllSessions(mailAddress, false)).thenReturn(new ArrayList<>()); + when(httpSession.getId()).thenReturn("12345"); + when(sessionInformation.getSessionId()).thenReturn("12345"); + + sessionManageService.putUserSession(mailAddress, httpSession); + + verify(sessionRegistry, times(1)).getAllSessions(mailAddress, false); + verify(httpSession, times(1)).getId(); + verify(sessionInformation, times(1)).getSessionId(); + + assertEquals(userSessions, sessionManageService.getUserSessions(mailAddress)); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java new file mode 100644 index 000000000..2b1c7f855 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java @@ -0,0 +1,72 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.Mockito; +import static org.mockito.Mockito.when; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +@RunWith(MockitoJUnitRunner.class) +public class StorageTokenManageServiceTest { + + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + private StorageTokenManageService storageTokenManageService; + private ConcurrentMap accessTokenMap; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + storageTokenManageService = new StorageTokenManageService(); + storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; + accessTokenMap = new ConcurrentHashMap<>(); + } + + @Test + public void testGenerateReadToken() { + String uniqueId = "123"; + AccessToken accessToken = new AccessToken(); + accessTokenMap.put(uniqueId, accessToken); + AccessToken result = storageTokenManageService.generateReadToken(uniqueId); + Assert.assertEquals(accessToken, result); + } + + @Test + public void testGenerateWriteToken() { + String uniqueId = "testUniqueId"; + AccessToken accessToken = new AccessToken(); + accessTokenMap.put(uniqueId, accessToken); + Mockito.when(storageServiceClientProxy.isAccessTokenExpired(accessToken)).thenReturn(false); + Mockito.when(storageServiceClientProxy.generateAccessToken(Const.FilePermission.WRITE)).thenReturn(accessToken); + AccessToken result = storageTokenManageService.generateWriteToken(uniqueId); + Assert.assertNotNull(result); + Assert.assertEquals(accessToken, result); + } + + @Test + public void testValidateAccessToken() { + String accessToken = "validAccessToken"; + boolean expected = true; + boolean actual = storageTokenManageService.validateAccessToken(accessToken); + Assert.assertEquals(expected, actual); + } + + @Test + public void testValidateTokenVal() { + String token = "exampleToken"; + boolean expectedResult = true; + boolean actualResult = storageTokenManageService.validateTokenVal(token); + Assert.assertEquals(expectedResult, actualResult); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java new file mode 100644 index 000000000..6727d8173 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java @@ -0,0 +1,122 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.mockito.Mockito.*; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; +import org.mockito.InjectMocks; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { + + @Mock + private SysPermissionRepository sysPermissionRepository; + @Mock + private RolePermissionRelationRepository permissionPermissionRelationRepository; + private SysPermissionService sysPermissionService; + private Map permissionListMap; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysPermissionService = new SysPermissionService(); + sysPermissionService.sysPermissionRepository = sysPermissionRepository; + sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; + } + + @Test + public void testInitList() { + List permissionList = new ArrayList<>(); + SysPermission permission1 = new SysPermission(); + permission1.setPermissionId("1"); + permission1.setPermissionType("Type1"); + permission1.setPermissionContent("Content1"); + permission1.setCreateTime(new Date()); + permission1.setUpdateTime(new Date()); + permissionList.add(permission1); + when(sysPermissionRepository.findAll()).thenReturn(permissionList); + sysPermissionService.initList(); + verify(sysPermissionRepository, times(1)).findAll(); + verify(sysPermissionRepository, times(1)).save(permission1); + } + + @Test + public void testCreatePermission() { + String permissionType = "type"; + String permissionContent = "content"; + SysPermission sysPermission = new SysPermission(); + sysPermission.setPermissionType(permissionType); + sysPermission.setPermissionContent(permissionContent); + sysPermission.setCreateTime(new Date()); + sysPermission.setUpdateTime(new Date()); + when(sysPermissionRepository.save(Mockito.any(SysPermission.class))).thenReturn(sysPermission); + SysPermission result = sysPermissionService.createPermission(permissionType, permissionContent); + assertEquals(sysPermission, result); + assertEquals(sysPermission, permissionListMap.get(sysPermission.getPermissionId())); + } + + @Test + public void testUpdatePermission() { + SysPermission sysPermission = new SysPermission(); + sysPermission.setPermissionId("1"); + sysPermission.setPermissionType("type"); + sysPermission.setPermissionContent("content"); + sysPermission.setCreateTime(new Date()); + sysPermission.setUpdateTime(new Date()); + when(sysPermissionRepository.save(Mockito.any(SysPermission.class))).thenReturn(sysPermission); + SysPermission result = sysPermissionService.updatePermission(sysPermission); + assertEquals(sysPermission, result); + } + + @Test + public void testQueryPermissionById() { + String permissionId = "123"; + SysPermission expectedPermission = new SysPermission(); + expectedPermission.setPermissionId(permissionId); + permissionListMap.put(permissionId, expectedPermission); + when(sysPermissionRepository.findById(permissionId)).thenReturn(Optional.of(expectedPermission)); + SysPermission actualPermission = sysPermissionService.queryPermissionById(permissionId); + assertEquals(expectedPermission, actualPermission); + verify(sysPermissionRepository, times(1)).findById(permissionId); + } + + @Test + public void testQueryPermissionByContent() { + String permissionContent = "testPermission"; + SysPermission expectedPermission = new SysPermission(); + expectedPermission.setPermissionContent(permissionContent); + List permissionList = new ArrayList<>(); + permissionList.add(expectedPermission); + when(sysPermissionRepository.findByPermissionContent(permissionContent)).thenReturn(Optional.of(expectedPermission)); + SysPermission actualPermission = sysPermissionService.queryPermissionByContent(permissionContent); + assertEquals(expectedPermission, actualPermission); + verify(sysPermissionRepository, times(1)).findByPermissionContent(permissionContent); + } + + @Test + public void testDeletePermission() { + SysPermission permission = new SysPermission(); + permission.setPermissionId("1"); + permission.setPermissionType("type"); + permission.setPermissionContent("content"); + sysPermissionService.deletePermission(permission); + verify(sysPermissionRepository, times(1)).deleteById("1"); + verify(permissionPermissionRelationRepository, times(1)).deleteAllByPermissionId("1"); + } + +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java new file mode 100644 index 000000000..ae72b30e8 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java @@ -0,0 +1,203 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + @Mock + private SysRoleRepository sysRoleRepository; + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + private SysRoleService sysRoleService; + private Map roleListMap; + + @Before + public void setup() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testInitList() { + List roleList = new ArrayList<>(); + SysRole role1 = new SysRole(); + role1.setRoleId("1"); + role1.setRoleName("Role 1"); + role1.setAuthLevel(1); + roleList.add(role1); + SysRole role2 = new SysRole(); + role2.setRoleId("2"); + role2.setRoleName("Role 2"); + role2.setAuthLevel(2); + roleList.add(role2); + Mockito.when(sysRoleRepository.findAll()).thenReturn(roleList); + sysRoleService.initList(); + Map roleListMap = sysRoleService.roleListMap; + assert roleListMap.containsKey("1"); + assert roleListMap.containsKey("2"); + assert roleListMap.get("1").getRoleName().equals("Role 1"); + assert roleListMap.get("2").getRoleName().equals("Role 2"); + } + + @Before + public void setUp() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testCreateRole() { + String roleName = "Test Role"; + int authLevel = 1; + SysRole sysRole = new SysRole(); + sysRole.setRoleName(roleName); + sysRole.setCreateTime(new Date()); + sysRole.setUpdateTime(new Date()); + sysRole.setAuthLevel(authLevel); + Mockito.when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(sysRole); + SysRole result = sysRoleService.createRole(roleName, authLevel); + assertEquals(sysRole, result); + } + + @Test + public void testUpdateRole() { + SysRole sysRole = new SysRole(); + sysRole.setRoleId("1"); + sysRole.setRoleName("Admin"); + sysRole.setAuthLevel(1); + sysRole.setCreateTime(new Date()); + sysRole.setUpdateTime(new Date()); + Mockito.when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(sysRole); + SysRole result = sysRoleService.updateRole(sysRole); + assertEquals(sysRole, result); + } + + @Test + public void testQueryRoleById() { + String roleId = "123"; + SysRole expectedRole = new SysRole(); + expectedRole.setRoleId(roleId); + roleListMap.put(roleId, expectedRole); + Mockito.when(sysRoleRepository.findById(roleId)).thenReturn(Optional.of(expectedRole)); + SysRole actualRole = sysRoleService.queryRoleById(roleId); + assertEquals(expectedRole, actualRole); + } + + @Test + public void testQueryRoleByName() { + String roleName = "admin"; + SysRole expectedRole = new SysRole(); + expectedRole.setRoleId("1"); + expectedRole.setRoleName(roleName); + expectedRole.setCreateTime(new Date()); + expectedRole.setUpdateTime(new Date()); + expectedRole.setAuthLevel(1); + List roleList = new ArrayList<>(); + roleList.add(expectedRole); + Mockito.when(sysRoleRepository.findByRoleName(roleName)).thenReturn(Optional.of(expectedRole)); + SysRole actualRole = sysRoleService.queryRoleByName(roleName); + assertEquals(expectedRole, actualRole); + } + + @Test + public void testDeleteRole() { + SysRole role = new SysRole(); + role.setRoleId("1"); + role.setRoleName("Test Role"); + role.setCreateTime(new Date()); + role.setUpdateTime(new Date()); + role.setAuthLevel(1); + Map roleListMap = new ConcurrentHashMap<>(); + roleListMap.put(role.getRoleId(), role); + Mockito.when(sysRoleRepository.findById(role.getRoleId())).thenReturn(java.util.Optional.of(role)); + sysRoleService.deleteRole(role); + assertNull(roleListMap.get(role.getRoleId())); + Mockito.verify(sysRoleRepository, Mockito.times(1)).deleteById(role.getRoleId()); + Mockito.verify(rolePermissionRelationRepository, Mockito.times(1)).deleteAllByRoleId(role.getRoleId()); + } + + @Test + public void testIsAuthLevelValid() { + SysRoleService sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + int validAuthLevel = 5; + int invalidAuthLevel = -1; + boolean isValid = sysRoleService.isAuthLevelValid(validAuthLevel); + assertTrue(isValid); + boolean isInvalid = sysRoleService.isAuthLevelValid(invalidAuthLevel); + assertFalse(isInvalid); + } + + @Test + public void testIsAuthLevelSuperior() { + SysRole aRole = new SysRole(); + aRole.setAuthLevel(2); + aRole.setRoleId("1"); + aRole.setRoleName("Role1"); + aRole.setCreateTime(new Date()); + aRole.setUpdateTime(new Date()); + SysRole bRole = new SysRole(); + bRole.setAuthLevel(3); + bRole.setRoleId("2"); + bRole.setRoleName("Role2"); + bRole.setCreateTime(new Date()); + bRole.setUpdateTime(new Date()); + boolean result = sysRoleService.isAuthLevelSuperior(aRole, bRole); + assertFalse(result); + } + + @Test + public void testGetRequestorRole() { + SysUser requestor = new SysUser(); + requestor.setRoleId("role1"); + SysRole expectedRole = new SysRole(); + expectedRole.setRoleId("role1"); + expectedRole.setRoleName("Role 1"); + expectedRole.setAuthLevel(1); + expectedRole.setCreateTime(new Date()); + expectedRole.setUpdateTime(new Date()); + Mockito.when(sysRoleRepository.findById("role1")).thenReturn(Optional.of(expectedRole)); + SysRole actualRole = sysRoleService.getRequestorRole(requestor); + assertEquals(expectedRole, actualRole); + } + + @Test + public void testGetOrCreateDefaultRole() { + String roleName = "Test Role"; + int authLevel = 1; + SysRole expectedRole = new SysRole(); + expectedRole.setRoleName(roleName); + expectedRole.setAuthLevel(authLevel); + expectedRole.setCreateTime(new Date()); + expectedRole.setUpdateTime(new Date()); + Mockito.when(sysRoleRepository.findByRoleName(roleName)).thenReturn(Optional.empty()); + Mockito.when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(expectedRole); + SysRole actualRole = sysRoleService.getOrCreateDefaultRole(roleName, authLevel); + assertEquals(expectedRole, actualRole); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java new file mode 100644 index 000000000..e60f46565 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java @@ -0,0 +1,171 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import org.junit.Assert; +import static org.mockito.Mockito.*; +import com.microsoft.hydralab.common.util.Const; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { + + @Mock + private SysUserRepository sysUserRepository; + private SysUserService sysUserService; + @Mock + private Authentication authentication; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testCreateUserWithDefaultRole() { + String userName = "John"; + String mailAddress = "john@example.com"; + String defaultRoleId = "123"; + String defaultRoleName = "User"; + SysUser sysUser = new SysUser(); + sysUser.setUserName(userName); + sysUser.setMailAddress(mailAddress); + sysUser.setRoleId(defaultRoleId); + sysUser.setRoleName(defaultRoleName); + when(sysUserRepository.save(sysUser)).thenReturn(sysUser); + SysUser result = sysUserService.createUserWithDefaultRole(userName, mailAddress, defaultRoleId, defaultRoleName); + assertEquals(sysUser, result); + } + + @Test + public void testUpdateUser() { + SysUser sysUser = new SysUser(); + sysUser.setUserName("testUser"); + sysUser.setMailAddress("test@mail.com"); + sysUser.setRoleId("1"); + sysUser.setRoleName("Test Role"); + when(sysUserRepository.save(sysUser)).thenReturn(sysUser); + SysUser updatedUser = sysUserService.updateUser(sysUser); + assertEquals(sysUser, updatedUser); + } + + @Test + public void testQueryUserById() { + String userId = "123"; + SysUser expectedUser = new SysUser(); + expectedUser.setUserId(userId); + when(sysUserRepository.findById(userId)).thenReturn(Optional.of(expectedUser)); + SysUser actualUser = sysUserService.queryUserById(userId); + assertEquals(expectedUser, actualUser); + } + + @Test + public void testQueryUserByMailAddress() { + String mailAddress = "test@example.com"; + SysUser expectedUser = new SysUser(); + expectedUser.setMailAddress(mailAddress); + when(sysUserRepository.findByMailAddress(mailAddress)).thenReturn(Optional.of(expectedUser)); + SysUser actualUser = sysUserService.queryUserByMailAddress(mailAddress); + assertEquals(expectedUser, actualUser); + } + + @Test + public void testCheckUserExistenceWithRole() { + String roleId = "role1"; + int count = 1; + Mockito.when(sysUserRepository.countByRoleId(roleId)).thenReturn(count); + boolean result = sysUserService.checkUserExistenceWithRole(roleId); + Assert.assertTrue(result); + Mockito.verify(sysUserRepository, Mockito.times(1)).countByRoleId(roleId); + } + + @Test + public void testSwitchUserDefaultTeam() { + SysUser user = new SysUser(); + String defaultTeamId = "teamId"; + String defaultTeamName = "teamName"; + when(sysUserRepository.save(user)).thenReturn(user); + SysUser result = sysUserService.switchUserDefaultTeam(user, defaultTeamId, defaultTeamName); + assertEquals(user, result); + verify(sysUserRepository, times(1)).save(user); + } + + @Test + public void testSwitchUserRole() { + SysUser user = new SysUser(); + user.setRoleId("oldRoleId"); + user.setRoleName("oldRoleName"); + String newRoleId = "newRoleId"; + String newRoleName = "newRoleName"; + when(sysUserRepository.save(user)).thenReturn(user); + SysUser result = sysUserService.switchUserRole(user, newRoleId, newRoleName); + assertEquals(newRoleId, result.getRoleId()); + assertEquals(newRoleName, result.getRoleName()); + verify(sysUserRepository, times(1)).save(user); + } + + @Test + public void testCheckUserRole() { + Collection authorities = new ArrayList<>(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return "ROLE_ADMIN"; + } + }); + Mockito.when(authentication.getAuthorities()).thenReturn(authorities); + assertTrue(sysUserService.checkUserRole(authentication, "ROLE_ADMIN")); + assertFalse(sysUserService.checkUserRole(authentication, "ROLE_USER")); + } + + @Test + public void testCheckUserAdmin() { + Authentication auth = Mockito.mock(Authentication.class); + List authorities = new ArrayList<>(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return Const.DefaultRole.SUPER_ADMIN; + } + }); + Mockito.when(auth.getAuthorities()).thenReturn(authorities); + assertTrue(sysUserService.checkUserAdmin(auth)); + authorities.clear(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return Const.DefaultRole.ADMIN; + } + }); + Mockito.when(auth.getAuthorities()).thenReturn(authorities); + assertTrue(sysUserService.checkUserAdmin(auth)); + authorities.clear(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return "ROLE_USER"; + } + }); + Mockito.when(auth.getAuthorities()).thenReturn(authorities); + assertFalse(sysUserService.checkUserAdmin(auth)); + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java new file mode 100644 index 000000000..3efc1a5d1 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java @@ -0,0 +1,59 @@ +package com.microsoft.hydralab.center.service; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; + +@RunWith(MockitoJUnitRunner.class) +public class TestFileSetServiceTest { + + @Mock + private TestFileSetRepository testFileSetRepository; + + @Mock + private AttachmentService attachmentService; + + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + + private TestFileSetService testFileSetService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + testFileSetService = new TestFileSetService(); + testFileSetService.testFileSetRepository = testFileSetRepository; + } + + @Test + public void testAddTestFileSet() { + TestFileSet testFileSet = new TestFileSet(); + when(testFileSetRepository.save(testFileSet)).thenReturn(testFileSet); + TestFileSet result = testFileSetService.addTestFileSet(testFileSet); + verify(testFileSetRepository, times(1)).save(testFileSet); + assertSame(testFileSet, result); + } + + @Test + public void testUpdateFileSetTeam() { + String teamId = "teamId"; + String teamName = "teamName"; + List testFileSets = new ArrayList<>(); + TestFileSet testFileSet1 = new TestFileSet(); + testFileSet1.setTeamId(teamId); + testFileSets.add(testFileSet1); + TestFileSet testFileSet2 = new TestFileSet(); + testFileSet2.setTeamId(teamId); + testFileSets.add(testFileSet2); + Mockito.when(testFileSetRepository.findAllByTeamId(teamId)).thenReturn(testFileSets); + testFileSetService.updateFileSetTeam(teamId, teamName); + Mockito.verify(testFileSetRepository, Mockito.times(1)).saveAll(testFileSets); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java new file mode 100644 index 000000000..28e3020f7 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java @@ -0,0 +1,140 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.common.entity.center.TestTaskQueuedInfo; +import com.microsoft.hydralab.common.entity.center.TestTaskSpec; +import com.microsoft.hydralab.common.util.HydraLabRuntimeException; +import com.microsoft.hydralab.center.service.TestTaskService; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.service.AgentManageService; +import com.microsoft.hydralab.center.service.DeviceGroupService; +import com.microsoft.hydralab.center.service.TestDataService; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; +import java.util.concurrent.atomic.AtomicBoolean; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private TestDataService testDataService; + private TestTaskService testTaskService; + @Mock + private TestTaskSpec testTaskSpec; + private Queue taskQueue; + private AtomicBoolean isRunning; + @Mock + private TestTaskQueuedInfo testTaskQueuedInfo; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testAddTask() { + TestTaskSpec task = new TestTaskSpec(); + testTaskService.addTask(task); + verify(testDataService, times(1)).saveTestTaskData(any(TestTask.class)); + } + + @Test + public void testIsQueueEmpty() { + Queue taskQueue = Mockito.mock(Queue.class); + Mockito.when(taskQueue.isEmpty()).thenReturn(true); + testTaskService.taskQueue = taskQueue; + Boolean result = testTaskService.isQueueEmpty(); + Assert.assertTrue(result); + } + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + testTaskService = new TestTaskService(); + testTaskService.testDataService = testDataService; + } + + @Test + public void testIsDeviceFree() { + String deviceIdentifier = "device1"; + when(deviceAgentManagementService.queryGroupByDevice(deviceIdentifier)).thenReturn(new HashSet<>()); + when(deviceAgentManagementService.queryDeviceByGroup(deviceIdentifier)).thenReturn(new HashSet<>()); + Boolean result = testTaskService.isDeviceFree(deviceIdentifier); + assertTrue(result); + verify(deviceAgentManagementService, times(1)).queryGroupByDevice(deviceIdentifier); + verify(deviceAgentManagementService, times(1)).queryDeviceByGroup(deviceIdentifier); + } + + @Test + public void testRunTask() { + TestTaskSpec testTaskSpec = new TestTaskSpec(); + testTaskSpec.setTestTaskId("testTaskId"); + testTaskSpec.setDeviceIdentifier("deviceIdentifier"); + taskQueue.offer(testTaskSpec); + Mockito.when(testTaskService.getTestQueueCopy()).thenReturn(taskQueue); + Mockito.when(deviceAgentManagementService.runTestTaskBySpec(testTaskSpec)).thenReturn(new JSONObject()); + testTaskService.runTask(); + Mockito.verify(deviceAgentManagementService, Mockito.times(1)).runTestTaskBySpec(testTaskSpec); + Mockito.verify(testDataService, Mockito.times(1)).saveTestTaskData(Mockito.any(TestTask.class)); + Mockito.verify(testTaskService, Mockito.times(1)).getTestQueueCopy(); + Mockito.verify(testTaskService, Mockito.times(1)).isRunning.set(false); + } + + @Test + public void testCancelTask() { + String testTaskId = "12345"; + testTaskService.cancelTask(testTaskId); + verify(testTaskService, times(1)).cancelTask(testTaskId); + } + + @Test + public void testGetTestQueuedInfo() { + String testTaskId = "12345"; + when(testTaskService.getTestQueuedInfo(testTaskId)).thenReturn(testTaskQueuedInfo); + TestTaskQueuedInfo result = testTaskService.getTestQueuedInfo(testTaskId); + assertEquals(testTaskQueuedInfo, result); + } + + @Test + public void testCheckTestTaskTeamConsistency() { + String teamId = "teamId"; + String teamName = "teamName"; + testTaskService.checkTestTaskTeamConsistency(testTaskSpec); + } + + @Test + public void testUpdateTaskTeam() { + String teamId = "123"; + String teamName = "Test Team"; + List testTasks = mock(List.class); + when(testDataService.getTasksByTeamId(teamId)).thenReturn(testTasks); + testTaskService.updateTaskTeam(teamId, teamName); + verify(testTasks, times(1)).forEach(any()); + verify(testDataService, times(1)).saveAllTestTasks(testTasks); + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java new file mode 100644 index 000000000..37e5bf340 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java @@ -0,0 +1,195 @@ +package com.microsoft.hydralab.center.service; + +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.util.CollectionUtils; + +import java.util.*; + +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; + +import org.mockito.MockitoAnnotations; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; +import java.util.Optional; +import static org.mockito.ArgumentMatchers.anyString; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; + +@RunWith(MockitoJUnitRunner.class) + +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + @Mock + private SysTeamService sysTeamService; + @Mock + private SysUserService sysUserService; + @Mock + private SysRoleService sysRoleService; + @InjectMocks + private UserTeamManagementService userTeamManagementService; + private SysUser requestor; + private String teamId; + private SysTeam team; + + @Before + public void setup() { + requestor = new SysUser(); + teamId = "team1"; + } + + @Test + public void testInitList() { + List relationList = new ArrayList<>(); + UserTeamRelation relation = new UserTeamRelation("teamId", "mailAddress", true); + relationList.add(relation); + Mockito.when(userTeamRelationRepository.findAll()).thenReturn(relationList); + SysTeam team = new SysTeam(); + Mockito.when(sysTeamService.queryTeamById(Mockito.anyString())).thenReturn(team); + SysUser user = new SysUser(); + Mockito.when(sysUserService.queryUserByMailAddress(Mockito.anyString())).thenReturn(user); + userTeamManagementService.initList(); + } + + @Before + public void setUp() { + team = new SysTeam(); + team.setTeamId("teamId"); + } + + @Test + public void testAddUserTeamRelation() { + String teamId = "team1"; + SysUser user = new SysUser(); + user.setMailAddress("user1@example.com"); + boolean isTeamAdmin = true; + SysTeam team = new SysTeam(); + team.setTeamId(teamId); + when(sysTeamService.queryTeamById(teamId)).thenReturn(team); + UserTeamRelation result = userTeamManagementService.addUserTeamRelation(teamId, user, isTeamAdmin); + assertEquals(teamId, result.getTeamId()); + assertEquals(user.getMailAddress(), result.getMailAddress()); + assertEquals(isTeamAdmin, result.isTeamAdmin()); + verify(userTeamRelationRepository, times(1)).save(result); + } + + @Test + public void testDeleteUserTeamRelation() { + UserTeamRelation relation = new UserTeamRelation("teamId", "mailAddress", true); + userTeamManagementService.deleteUserTeamRelation(relation); + verify(userTeamRelationRepository, times(1)).delete(relation); + } + + @Test + public void testQueryRelation() { + UserTeamRelation result = userTeamManagementService.queryRelation("mailAddress", "teamId"); + assertEquals("teamId", result.getTeamId()); + assertEquals("mailAddress", result.getMailAddress()); + assertEquals(true, result.isTeamAdmin()); + } + + @Test + public void testCheckUserExistenceWithTeam_Exist() { + List users = new ArrayList<>(); + SysUser user1 = new SysUser(); + user1.setMailAddress("user1@example.com"); + users.add(user1); + Mockito.when(userTeamManagementService.queryUsersByTeam(teamId)).thenReturn(users); + boolean result = userTeamManagementService.checkUserExistenceWithTeam(requestor, teamId); + assertTrue(result); + } + + @Test + public void testCheckUserExistenceWithTeam_NotExist() { + List users = new ArrayList<>(); + Mockito.when(userTeamManagementService.queryUsersByTeam(teamId)).thenReturn(users); + boolean result = userTeamManagementService.checkUserExistenceWithTeam(requestor, teamId); + assertFalse(result); + } + + @Test + public void testCheckTeamAdmin() { + String teamId = "123"; + String mailAddress = "test@example.com"; + Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, mailAddress)).thenReturn(true); + boolean result = userTeamManagementService.checkTeamAdmin(teamId, mailAddress); + assertTrue(result); + } + + @Test + public void testCheckUserTeamRelation() { + String mailAddress = "test@example.com"; + String teamId = "12345"; + UserTeamRelation userTeamRelation = new UserTeamRelation(teamId, mailAddress, false); + Mockito.when(userTeamRelationRepository.findByMailAddressAndTeamId(mailAddress, teamId)).thenReturn(Optional.of(userTeamRelation)); + boolean result = userTeamManagementService.checkUserTeamRelation(mailAddress, teamId); + assertTrue(result); + } + + @Test + public void testCheckRequestorTeamRelation_WhenRequestorIsTeamAdmin_ReturnsTrue() { + Set teamAdmins = new HashSet<>(); + teamAdmins.add(requestor.getMailAddress()); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId)).thenReturn(true); + Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, requestor.getMailAddress())).thenReturn(true); + boolean result = userTeamManagementService.checkRequestorTeamRelation(requestor, teamId); + assertTrue(result); + } + + @Test + public void testCheckRequestorTeamRelation_WhenRequestorIsNotTeamAdmin_ReturnsFalse() { + Set teamAdmins = new HashSet<>(); + teamAdmins.add(requestor.getMailAddress()); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId)).thenReturn(false); + Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, requestor.getMailAddress())).thenReturn(false); + boolean result = userTeamManagementService.checkRequestorTeamRelation(requestor, teamId); + assertFalse(result); + } + + @Test + public void testCheckRequestorTeamAdmin_WhenRequestorIsTeamAdmin_ReturnsTrue() { + requestor.setTeamAdminMap(Map.of(teamId, true)); + boolean result = userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId); + assertTrue(result); + } + + @Test + public void testCheckRequestorTeamAdmin_WhenRequestorIsNotTeamAdmin_ReturnsFalse() { + requestor.setTeamAdminMap(Map.of(teamId, false)); + boolean result = userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId); + assertFalse(result); + } + + @Test + public void testDeleteTeam() { + userTeamManagementService.deleteTeam(team); + Mockito.verify(userTeamRelationRepository).findAllByTeamId("teamId"); + Mockito.verify(userTeamManagementService).deleteUserTeamRelation(Mockito.any()); + Mockito.verify(userTeamManagementService).sysTeamService.deleteTeam(team); + } + +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java b/center/test/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java new file mode 100644 index 000000000..8fcc3a496 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java @@ -0,0 +1,63 @@ +package com.microsoft.hydralab.center.socket; + +import com.microsoft.hydralab.center.config.SpringApplicationListener; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.socket.CenterDeviceSocketEndpoint; +import com.microsoft.hydralab.common.entity.common.Message; +import com.microsoft.hydralab.common.util.SerializeUtil; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import javax.websocket.Session; +import javax.websocket.CloseReason; +import java.io.IOException; +import java.nio.ByteBuffer; + +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class CenterDeviceSocketEndpointTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private Session session; + private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; + @Mock + private Throwable error; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); + } + + @Test + public void testOnOpen() { + centerDeviceSocketEndpoint.onOpen(session); + verify(deviceAgentManagementService).onOpen(session); + } + + @Test + public void testOnClose() { + centerDeviceSocketEndpoint.onClose(session); + } + + @Test + public void testOnMessage() { + ByteBuffer message = ByteBuffer.allocate(10); + Message formattedMessage = new Message(); + when(SerializeUtil.byteArrToMessage(message.array())).thenReturn(formattedMessage); + centerDeviceSocketEndpoint.onMessage(message, session); + verify(deviceAgentManagementService).onMessage(formattedMessage, session); + } + + @Test + public void testOnError() { + centerDeviceSocketEndpoint.onError(session, error); + verify(centerDeviceSocketEndpoint.getDeviceAgentManagementService()).onError(session, error); + } +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/util/AuthUtilTest.java b/center/test/main/java/com/microsoft/hydralab/center/util/AuthUtilTest.java new file mode 100644 index 000000000..d5efbfa17 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/util/AuthUtilTest.java @@ -0,0 +1,156 @@ +package com.microsoft.hydralab.center.util; + +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.test.util.ReflectionTestUtils; +import com.alibaba.fastjson.JSONObject; +import org.junit.Before; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; +import java.util.HashMap; +import java.util.Map; +import org.springframework.util.Base64Utils; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; +import org.springframework.http.*; +import org.springframework.util.LinkedMultiValueMap; +import static org.mockito.Mockito.*; +import org.springframework.core.io.Resource; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { + + @Mock + private AuthUtil authUtil; + @Mock + private RestTemplate restTemplate; + @Mock + private HttpHeaders headers; + @Mock + private ResponseEntity responseEntity; + @Mock + private Resource resource; + + @Test + public void testIsIgnore() { + AuthUtil authUtil = new AuthUtil(); + String requestUrl = "example.com"; + ReflectionTestUtils.setField(authUtil, "urlMapping", Mockito.mock(Map.class)); + Mockito.when(authUtil.urlMapping.get(requestUrl)).thenReturn(true); + boolean result = authUtil.isIgnore(requestUrl); + Assert.assertTrue(result); + } + + @Before + public void setup() { + authUtil = new AuthUtil(); + } + + @Test + public void testVerifyToken() { + String token = "sampleToken"; + JSONObject userInfo = new JSONObject(); + userInfo.put("appid", authUtil.clientId); + Mockito.when(restTemplate.exchange(Mockito.anyString(), Mockito.eq(HttpMethod.POST), Mockito.any(HttpEntity.class), Mockito.eq(JSONObject.class))) + .thenReturn(ResponseEntity.ok(userInfo)); + boolean result = authUtil.verifyToken(token); + Assert.assertTrue(result); + } + + @Test + public void testDecodeAccessToken() { + String accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; + JSONObject result = authUtil.decodeAccessToken(accessToken); + Assert.assertNotNull(result); + Assert.assertEquals("1234567890", result.getString("sub")); + Assert.assertEquals("John Doe", result.getString("name")); + Assert.assertEquals(1516239022, result.getLong("iat")); + } + + @Test + public void testGetLoginUserName() { + AuthUtil authUtil = new AuthUtil(); + String accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImFkbWluIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; + JSONObject mockUserInfo = Mockito.mock(JSONObject.class); + Mockito.when(mockUserInfo.getString("unique_name")).thenReturn("admin"); + Mockito.when(authUtil.decodeAccessToken(Mockito.anyString())).thenReturn(mockUserInfo); + String result = authUtil.getLoginUserName(accessToken); + Assert.assertEquals("admin", result); + } + + @Test + public void testGetLoginUserDisplayName() { + String accessToken = "sampleAccessToken"; + String expectedDisplayName = "John Doe"; + Mockito.when(authUtil.decodeAccessToken(accessToken)).thenReturn(getMockUserInfo(expectedDisplayName)); + String displayName = authUtil.getLoginUserDisplayName(accessToken); + assertEquals(expectedDisplayName, displayName); + } + + @Test + public void testGetLoginUrl() { + String originUrl = "https:"; + String queryString = "param1=value1¶m2=value2"; + String expectedLoginUrl = "https:"; + Mockito.when(authUtil.getLoginUrl(originUrl, queryString)).thenReturn(expectedLoginUrl); + String actualLoginUrl = authUtil.getLoginUrl(originUrl, queryString); + assertEquals(expectedLoginUrl, actualLoginUrl); + } + + @Test + public void testVerifyCode() { + String code = "testCode"; + String clientId = "testClientId"; + String redirectUri = "testRedirectUri"; + String clientSecret = "testClientSecret"; + String tokenUrl = "testTokenUrl"; + String accessToken = "testAccessToken"; + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + LinkedMultiValueMap body = new LinkedMultiValueMap<>(); + body.add("client_id", clientId); + body.add("code", code); + body.add("redirect_uri", redirectUri); + body.add("grant_type", "authorization_code"); + body.add("client_secret", clientSecret); + HttpEntity> entity = new HttpEntity<>(body, headers); + ResponseEntity responseEntity = new ResponseEntity<>(HttpStatus.OK); + when(restTemplate.exchange(eq(tokenUrl), eq(HttpMethod.POST), eq(entity), eq(JSONObject.class))) + .thenReturn(responseEntity); + AuthUtil authUtil = new AuthUtil(); + authUtil.tokenUrl = tokenUrl; + authUtil.clientId = clientId; + authUtil.redirectUri = redirectUri; + authUtil.clientSecret = clientSecret; + String result = authUtil.verifyCode(code); + assertEquals(accessToken, result); + verify(restTemplate, times(1)).exchange(eq(tokenUrl), eq(HttpMethod.POST), eq(entity), eq(JSONObject.class)); + } + + @Test + public void testRequestPhoto() { + String accessToken = "testAccessToken"; + InputStream expectedInputStream = mock(InputStream.class); + AuthUtil authUtil = new AuthUtil(); + authUtil.photoUrl = "testPhotoUrl"; + when(restTemplate.exchange(eq(authUtil.photoUrl), eq(HttpMethod.GET), any(HttpEntity.class), eq(Resource.class))) + .thenReturn(responseEntity); + when(responseEntity.getBody()).thenReturn(resource); + when(resource.getInputStream()).thenReturn(expectedInputStream); + InputStream actualInputStream = authUtil.requestPhoto(accessToken); + assertEquals(expectedInputStream, actualInputStream); + verify(headers).add("Authorization", "Bearer " + accessToken); + verify(restTemplate).exchange(eq(authUtil.photoUrl), eq(HttpMethod.GET), any(HttpEntity.class), eq(Resource.class)); + } + +} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/util/MetricUtilTest.java b/center/test/main/java/com/microsoft/hydralab/center/util/MetricUtilTest.java new file mode 100644 index 000000000..d48ae9e24 --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/util/MetricUtilTest.java @@ -0,0 +1,102 @@ +package com.microsoft.hydralab.center.util; + +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.HashMap; + +import static org.mockito.Mockito.*; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private MeterRegistry meterRegistry; + private MetricUtil metricUtil; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testRegisterOnlineAgent() { + String metricName = GlobalConstant.PROMETHEUS_METRIC_ONLINE_AGENT_NUM; + Tags tags = Tags.empty(); + metricUtil.registerOnlineAgent(deviceAgentManagementService); + verify(meterRegistry).gauge(metricName, tags, deviceAgentManagementService, metricUtil::getOnlineAgentNum); + verify(metricUtil).getOnlineAgentNum(deviceAgentManagementService); + } + + @Test + public void testRegisterOnlineDevice() { + metricUtil.registerOnlineDevice(deviceAgentManagementService); + verify(meterRegistry).gauge(eq(GlobalConstant.PROMETHEUS_METRIC_ONLINE_DEVICE_NUM), eq(Tags.empty()), eq(deviceAgentManagementService), any()); + verify(deviceAgentManagementService).getAliveDeviceNum(); + verifyNoMoreInteractions(meterRegistry, deviceAgentManagementService); + } + + @Test + public void testRegisterAgentAliveStatusMetric() { + AgentUser agentUser = new AgentUser(); + agentUser.setId("agentId"); + agentUser.setHostname("computerName"); + agentUser.setName("agentName"); + agentUser.setTeamName("teamName"); + metricUtil.registerAgentAliveStatusMetric(agentUser); + verify(meterRegistry).gauge(eq(GlobalConstant.PROMETHEUS_METRIC_WEBSOCKET_DISCONNECT_SIGNAL), eq(Tags.empty().and("computerName", agentUser.getHostname(), "agentName", agentUser.getName(), "teamName", agentUser.getTeamName())), eq(agentUser.getId()), any()); + } + + @Test + public void testUpdateAgentAliveStatus() { + String agentId = "agent1"; + String status = "online"; + metricUtil.updateAgentAliveStatus(agentId, status); + verify(meterRegistry, times(0)).gauge(anyString(), any(Tags.class), any(), any()); + verifyNoMoreInteractions(meterRegistry); + } + + @Test + public void testGetAgentAliveStatus() { + String agentUserId = "agent1"; + String agentStatus = GlobalConstant.AgentLiveStatus.ONLINE.getStatus(); + HashMap agentAliveStatusMap = new HashMap<>(); + agentAliveStatusMap.put(agentUserId, agentStatus); + metricUtil.agentAliveStatusMap = agentAliveStatusMap; + int expected = 0; + if (GlobalConstant.AgentLiveStatus.OFFLINE.getStatus().equals(agentStatus)) { + expected = 1; + } + int actual = metricUtil.getAgentAliveStatus(agentUserId); + assertEquals(expected, actual); + } + + @Test + public void testGetOnlineAgentNum() { + int expected = 5; + when(deviceAgentManagementService.getAliveAgentNum()).thenReturn(expected); + int actual = metricUtil.getOnlineAgentNum(deviceAgentManagementService); + assertEquals(expected, actual); + } + + @Test + public void testGetAliveDeviceNum() { + int expected = 5; + when(deviceAgentManagementService.getAliveDeviceNum()).thenReturn(expected); + int actual = metricUtil.getAliveDeviceNum(deviceAgentManagementService); + assertEquals(expected, actual); + } + +} diff --git a/center/test/main/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java b/center/test/main/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java new file mode 100644 index 000000000..b2fd5b95b --- /dev/null +++ b/center/test/main/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java @@ -0,0 +1,34 @@ +package com.microsoft.hydralab.center.util; + +import com.microsoft.hydralab.center.util.SecretGenerator; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +import java.util.UUID; + +public class SecretGeneratorTest { + + private SecretGenerator secretGenerator; + private BCryptPasswordEncoder bCryptPasswordEncoder; + + @Before + public void setUp() { + secretGenerator = new SecretGenerator(); + bCryptPasswordEncoder = Mockito.mock(BCryptPasswordEncoder.class); + secretGenerator.bCryptPasswordEncoder = bCryptPasswordEncoder; + } + + @Test + public void testGenerateSecret() { + String uuid = UUID.randomUUID().toString().replace("-", ""); + String encodedUuid = "encodedUuid"; + Mockito.when(bCryptPasswordEncoder.encode(uuid)).thenReturn(encodedUuid); + + String result = secretGenerator.generateSecret(); + + Assert.assertEquals(encodedUuid.replaceAll("\\W", ""), result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java new file mode 100644 index 000000000..44093eb34 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java @@ -0,0 +1,15 @@ +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; +import org.mockito.Mockito; +import org.junit.Test; + +public class AADOauth2ConfigurationTest { +public void testConfigure() { +", " " AADOauth2Configuration configuration = new AADOauth2Configuration();", " HttpSecurity http = Mockito.mock(HttpSecurity.class);", "", " " configuration.configure(http);", "", " " " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java new file mode 100644 index 000000000..110cfb69e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java @@ -0,0 +1,29 @@ +{ + "UT-File": [ + "package com.microsoft.hydralab.center.config;", + "import org.springframework.context.annotation.Configuration;", + "import org.springframework.context.annotation.Profile;", + "import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;", + "import org.springframework.security.config.annotation.web.builders.HttpSecurity;", + "import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;", + "import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;", + "import org.mockito.Mockito;", + "import org.junit.Test;", + "", + "public class AADOauth2ConfigurationTest {", + "", + " @Test", + " public void testConfigure() throws Exception {", + " // Arrange", + " AADOauth2Configuration configuration = new AADOauth2Configuration();", + " HttpSecurity http = Mockito.mock(HttpSecurity.class);", + "", + " // Act", + " configuration.configure(http);", + "", + " // Assert", + " // Add your assertions here", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java new file mode 100644 index 000000000..5984be531 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java @@ -0,0 +1,28 @@ +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.http.MediaType; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class AppConfigTest { +@Mock +private FastJsonConfig fastJsonConfig; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testFastJsonHttpMessageConverter() { + FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); List supportedMediaTypes = new ArrayList<>(); supportedMediaTypes.add(MediaType.APPLICATION_JSON); supportedMediaTypes.add(MediaType.APPLICATION_ATOM_XML); supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); supportedMediaTypes.add(MediaType.APPLICATION_OCTET_STREAM); supportedMediaTypes.add(MediaType.APPLICATION_PDF); supportedMediaTypes.add(MediaType.APPLICATION_RSS_XML); supportedMediaTypes.add(MediaType.APPLICATION_XHTML_XML); supportedMediaTypes.add(MediaType.APPLICATION_XML); supportedMediaTypes.add(MediaType.IMAGE_GIF); supportedMediaTypes.add(MediaType.IMAGE_JPEG); supportedMediaTypes.add(MediaType.IMAGE_PNG); supportedMediaTypes.add(MediaType.TEXT_EVENT_STREAM); supportedMediaTypes.add(MediaType.TEXT_HTML); supportedMediaTypes.add(MediaType.TEXT_MARKDOWN); supportedMediaTypes.add(MediaType.TEXT_PLAIN); supportedMediaTypes.add(MediaType.TEXT_XML); fastConverter.setSupportedMediaTypes(supportedMediaTypes); when(fastJsonConfig.getSerializerFeatures()).thenReturn( SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty, SerializerFeature.WriteNullListAsEmpty, SerializerFeature.DisableCircularReferenceDetect ); fastConverter.setFastJsonConfig(fastJsonConfig); assertEquals(supportedMediaTypes, fastConverter.getSupportedMediaTypes()); assertEquals(fastJsonConfig, fastConverter.getFastJsonConfig()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java new file mode 100644 index 000000000..27431e3d4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java @@ -0,0 +1,61 @@ +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.http.MediaType; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class AppConfigTest { + + @Mock + private FastJsonConfig fastJsonConfig; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testFastJsonHttpMessageConverter() { + FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); + List supportedMediaTypes = new ArrayList<>(); + supportedMediaTypes.add(MediaType.APPLICATION_JSON); + supportedMediaTypes.add(MediaType.APPLICATION_ATOM_XML); + supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); + supportedMediaTypes.add(MediaType.APPLICATION_OCTET_STREAM); + supportedMediaTypes.add(MediaType.APPLICATION_PDF); + supportedMediaTypes.add(MediaType.APPLICATION_RSS_XML); + supportedMediaTypes.add(MediaType.APPLICATION_XHTML_XML); + supportedMediaTypes.add(MediaType.APPLICATION_XML); + supportedMediaTypes.add(MediaType.IMAGE_GIF); + supportedMediaTypes.add(MediaType.IMAGE_JPEG); + supportedMediaTypes.add(MediaType.IMAGE_PNG); + supportedMediaTypes.add(MediaType.TEXT_EVENT_STREAM); + supportedMediaTypes.add(MediaType.TEXT_HTML); + supportedMediaTypes.add(MediaType.TEXT_MARKDOWN); + supportedMediaTypes.add(MediaType.TEXT_PLAIN); + supportedMediaTypes.add(MediaType.TEXT_XML); + fastConverter.setSupportedMediaTypes(supportedMediaTypes); + + when(fastJsonConfig.getSerializerFeatures()).thenReturn( + SerializerFeature.WriteMapNullValue, + SerializerFeature.WriteNullStringAsEmpty, + SerializerFeature.WriteNullListAsEmpty, + SerializerFeature.DisableCircularReferenceDetect + ); + + fastConverter.setFastJsonConfig(fastJsonConfig); + + assertEquals(supportedMediaTypes, fastConverter.getSupportedMediaTypes()); + assertEquals(fastJsonConfig, fastConverter.getFastJsonConfig()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java new file mode 100644 index 000000000..aacc1ccc8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java @@ -0,0 +1,16 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.context.ApplicationContext; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { +@Mock +private ApplicationContext applicationContext; +@Test +public void testStorageServiceClientProxy() { + AppConfig appConfig = new AppConfig(); appConfig.storageServiceClientProxy(applicationContext); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java new file mode 100644 index 000000000..05acf80a8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java @@ -0,0 +1,18 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.context.ApplicationContext; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { + + @Mock + private ApplicationContext applicationContext; + + @Test + public void testStorageServiceClientProxy() { + AppConfig appConfig = new AppConfig(); + appConfig.storageServiceClientProxy(applicationContext); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java new file mode 100644 index 000000000..059d11e32 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java @@ -0,0 +1,17 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.session.SessionRegistry; +import org.springframework.security.core.session.SessionRegistryImpl; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { +@Mock +private SessionRegistry sessionRegistry; +@Test +public void testSessionRegistry() { + SessionRegistryImpl sessionRegistryImpl = new SessionRegistryImpl(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java new file mode 100644 index 000000000..ae83790a2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java @@ -0,0 +1,19 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.session.SessionRegistry; +import org.springframework.security.core.session.SessionRegistryImpl; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { + + @Mock + private SessionRegistry sessionRegistry; + + @Test + public void testSessionRegistry() { + SessionRegistryImpl sessionRegistryImpl = new SessionRegistryImpl(); + // Perform any necessary setup or assertions + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java new file mode 100644 index 000000000..9e8bed98e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java @@ -0,0 +1,16 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.web.session.HttpSessionEventPublisher; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { +@Mock +private HttpSessionEventPublisher httpSessionEventPublisher; +@Test +public void testEventPublisher() { + AppConfig appConfig = new AppConfig(); HttpSessionEventPublisher eventPublisher = appConfig.eventPublisher(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java new file mode 100644 index 000000000..dfcb0c922 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java @@ -0,0 +1,19 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.web.session.HttpSessionEventPublisher; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { + + @Mock + private HttpSessionEventPublisher httpSessionEventPublisher; + + @Test + public void testEventPublisher() { + AppConfig appConfig = new AppConfig(); + HttpSessionEventPublisher eventPublisher = appConfig.eventPublisher(); + // Perform assertions or verifications + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java new file mode 100644 index 000000000..acd6bda63 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java @@ -0,0 +1,12 @@ +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusProperties; +import java.net.MalformedURLException; + +public class AppConfigTest { +@Test +public void testPushGateway() { + PrometheusProperties prometheusProperties = Mockito.mock(PrometheusProperties.class); AppConfig appConfig = new AppConfig(); appConfig.pushGateway(prometheusProperties); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java new file mode 100644 index 000000000..8151fdfc5 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java @@ -0,0 +1,20 @@ +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusProperties; +import java.net.MalformedURLException; + +public class AppConfigTest { + + @Test + public void testPushGateway() throws MalformedURLException { + // Arrange + PrometheusProperties prometheusProperties = Mockito.mock(PrometheusProperties.class); + + // Act + AppConfig appConfig = new AppConfig(); + appConfig.pushGateway(prometheusProperties); + + // Assert + // Add your assertions here + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java new file mode 100644 index 000000000..4e57cb00f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java @@ -0,0 +1,18 @@ +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusProperties; +import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusPushGatewayManager; +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.exporter.PushGateway; +import java.net.MalformedURLException; +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +public class AppConfigTest { +@Test +public void testMonitorPrometheusPushGatewayManager() { + PushGateway pushGateway = Mockito.mock(PushGateway.class); PrometheusProperties prometheusProperties = Mockito.mock(PrometheusProperties.class); CollectorRegistry registry = Mockito.mock(CollectorRegistry.class); PrometheusProperties.Pushgateway pushgatewayProperties = Mockito.mock(PrometheusProperties.Pushgateway.class); Mockito.when(prometheusProperties.getPushgateway()).thenReturn(pushgatewayProperties); Mockito.when(pushgatewayProperties.getBaseUrl()).thenReturn("http: Mockito.when(pushgatewayProperties.getPushRate()).thenReturn(Duration.ofSeconds(10)); Mockito.when(pushgatewayProperties.getJob()).thenReturn("testJob"); Map groupingKey = new HashMap<>(); groupingKey.put("key1", "value1"); groupingKey.put("key2", "value2"); Mockito.when(pushgatewayProperties.getGroupingKey()).thenReturn(groupingKey); PrometheusPushGatewayManager.ShutdownOperation shutdownOperation = Mockito.mock(PrometheusPushGatewayManager.ShutdownOperation.class); Mockito.when(pushgatewayProperties.getShutdownOperation()).thenReturn(shutdownOperation); AppConfig appConfig = new AppConfig(); appConfig.monitorPrometheusPushGatewayManager(pushGateway, prometheusProperties, registry); Mockito.verify(pushGateway, Mockito.times(1)).setConnectionFactory(Mockito.any()); Mockito.verify(pushGateway, Mockito.times(1)).isBasicAuthSet(); Mockito.verify(registry, Mockito.times(1)).register(Mockito.any()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java new file mode 100644 index 000000000..4c83df8ab --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java @@ -0,0 +1,42 @@ +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus.PrometheusProperties; +import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusPushGatewayManager; +import io.prometheus.client.CollectorRegistry; +import io.prometheus.client.exporter.PushGateway; + +import java.net.MalformedURLException; +import java.time.Duration; +import java.util.HashMap; +import java.util.Map; + +public class AppConfigTest { + + @Test + public void testMonitorPrometheusPushGatewayManager() throws MalformedURLException { + PushGateway pushGateway = Mockito.mock(PushGateway.class); + PrometheusProperties prometheusProperties = Mockito.mock(PrometheusProperties.class); + CollectorRegistry registry = Mockito.mock(CollectorRegistry.class); + + PrometheusProperties.Pushgateway pushgatewayProperties = Mockito.mock(PrometheusProperties.Pushgateway.class); + Mockito.when(prometheusProperties.getPushgateway()).thenReturn(pushgatewayProperties); + Mockito.when(pushgatewayProperties.getBaseUrl()).thenReturn("http://localhost:9091"); + Mockito.when(pushgatewayProperties.getPushRate()).thenReturn(Duration.ofSeconds(10)); + Mockito.when(pushgatewayProperties.getJob()).thenReturn("testJob"); + + Map groupingKey = new HashMap<>(); + groupingKey.put("key1", "value1"); + groupingKey.put("key2", "value2"); + Mockito.when(pushgatewayProperties.getGroupingKey()).thenReturn(groupingKey); + + PrometheusPushGatewayManager.ShutdownOperation shutdownOperation = Mockito.mock(PrometheusPushGatewayManager.ShutdownOperation.class); + Mockito.when(pushgatewayProperties.getShutdownOperation()).thenReturn(shutdownOperation); + + AppConfig appConfig = new AppConfig(); + appConfig.monitorPrometheusPushGatewayManager(pushGateway, prometheusProperties, registry); + + Mockito.verify(pushGateway, Mockito.times(1)).setConnectionFactory(Mockito.any()); + Mockito.verify(pushGateway, Mockito.times(1)).isBasicAuthSet(); + Mockito.verify(registry, Mockito.times(1)).register(Mockito.any()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java new file mode 100644 index 000000000..e1a19f62a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java @@ -0,0 +1,16 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { +@Mock +private FileReporter fileReporter; +@Test +public void testFileReporter() { + AppConfig appConfig = new AppConfig(); appConfig.fileReporter(); verify(fileReporter, times(1)).init(anyString()); verify(fileReporter, times(1)).registerExceptionReporter(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java new file mode 100644 index 000000000..39802da08 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java @@ -0,0 +1,22 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { + + @Mock + private FileReporter fileReporter; + + @Test + public void testFileReporter() { + AppConfig appConfig = new AppConfig(); + appConfig.fileReporter(); + + verify(fileReporter, times(1)).init(anyString()); + verify(fileReporter, times(1)).registerExceptionReporter(); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java new file mode 100644 index 000000000..73d1fa7ec --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { +@Mock +private AppCenterReporter appCenterReporter; +@Test +public void testAppCenterReporter() { + +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java new file mode 100644 index 000000000..a231408b3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java @@ -0,0 +1,16 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AppConfigTest { + + @Mock + private AppCenterReporter appCenterReporter; + + @Test + public void testAppCenterReporter() { + // Test code for the target function + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java b/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java new file mode 100644 index 000000000..6ffb41b4a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.config.ContextStartup; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.util.MetricUtil; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; +import javax.servlet.ServletContext; +import static org.mockito.Mockito.*; + +public class ContextStartupTest { +@Mock +private MetricUtil metricUtil; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private ApplicationArguments applicationArguments; +@Mock +private ServletContext servletContext; +private ContextStartup contextStartup; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); contextStartup = new ContextStartup(); contextStartup.setServletContext(servletContext); +} + +@Test +public void testRun() { + contextStartup.run(applicationArguments); verify(deviceAgentManagementService, times(1)).registerOnlineAgent(deviceAgentManagementService); verify(deviceAgentManagementService, times(1)).registerOnlineDevice(deviceAgentManagementService); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java new file mode 100644 index 000000000..5d02a52de --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java @@ -0,0 +1,49 @@ +import com.microsoft.hydralab.center.config.ContextStartup; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.util.MetricUtil; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.servlet.ServletContext; + +import static org.mockito.Mockito.*; + +@RunWith(SpringRunner.class) +@SpringBootTest +@ActiveProfiles({"default", "release", "dev"}) +public class ContextStartupTest { + + @Mock + private MetricUtil metricUtil; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private ApplicationArguments applicationArguments; + + @Mock + private ServletContext servletContext; + + private ContextStartup contextStartup; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + contextStartup = new ContextStartup(); + contextStartup.setServletContext(servletContext); + } + + @Test + public void testRun() { + contextStartup.run(applicationArguments); + verify(deviceAgentManagementService, times(1)).registerOnlineAgent(deviceAgentManagementService); + verify(deviceAgentManagementService, times(1)).registerOnlineDevice(deviceAgentManagementService); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java new file mode 100644 index 000000000..e04b5350b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java @@ -0,0 +1,18 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { +@Mock +private InMemoryUserDetailsManager userDetailsManager; +@Test +public void testUserDetailsService() { + Mockito.when(userDetailsManager.loadUserByUsername(Mockito.anyString())).thenReturn(null); SecurityConfiguration securityConfiguration = new SecurityConfiguration(); UserDetailsService userDetailsService = securityConfiguration.userDetailsService(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java new file mode 100644 index 000000000..e4431c5a6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java @@ -0,0 +1,24 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { + + @Mock + private InMemoryUserDetailsManager userDetailsManager; + + @Test + public void testUserDetailsService() { + Mockito.when(userDetailsManager.loadUserByUsername(Mockito.anyString())).thenReturn(null); + + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); + UserDetailsService userDetailsService = securityConfiguration.userDetailsService(); + + // Perform assertions or verifications + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java new file mode 100644 index 000000000..bbadc3111 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java @@ -0,0 +1,18 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { +@Mock +private BCryptPasswordEncoder bCryptPasswordEncoder; +@Test +public void testPasswordEncoder() { + PasswordEncoder passwordEncoder = Mockito.mock(BCryptPasswordEncoder.class); SecurityConfiguration securityConfiguration = new SecurityConfiguration(); Mockito.when(passwordEncoder.encode(Mockito.anyString())).thenReturn("encodedPassword"); PasswordEncoder result = securityConfiguration.passwordEncoder(); Mockito.verify(passwordEncoder).encode(Mockito.anyString()); Mockito.verifyNoMoreInteractions(passwordEncoder); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java new file mode 100644 index 000000000..442ae1526 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java @@ -0,0 +1,26 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { + + @Mock + private BCryptPasswordEncoder bCryptPasswordEncoder; + + @Test + public void testPasswordEncoder() { + PasswordEncoder passwordEncoder = Mockito.mock(BCryptPasswordEncoder.class); + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); + Mockito.when(passwordEncoder.encode(Mockito.anyString())).thenReturn("encodedPassword"); + + PasswordEncoder result = securityConfiguration.passwordEncoder(); + + Mockito.verify(passwordEncoder).encode(Mockito.anyString()); + Mockito.verifyNoMoreInteractions(passwordEncoder); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java new file mode 100644 index 000000000..98b2ce8ec --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java @@ -0,0 +1,19 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { +@Mock +private InMemoryUserDetailsManager userDetailsManager; +@Test +public void testAuthenticationManagerBean() { + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); Mockito.when(userDetailsManager.createUser(Mockito.any())).thenReturn(null); Mockito.when(userDetailsManager.loadUserByUsername(Mockito.anyString())).thenReturn(null); AuthenticationManager authenticationManager = securityConfiguration.authenticationManagerBean(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java new file mode 100644 index 000000000..85bb22822 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java @@ -0,0 +1,27 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityConfigurationTest { + + @Mock + private InMemoryUserDetailsManager userDetailsManager; + + @Test + public void testAuthenticationManagerBean() throws Exception { + SecurityConfiguration securityConfiguration = new SecurityConfiguration(); + + Mockito.when(userDetailsManager.createUser(Mockito.any())).thenReturn(null); + Mockito.when(userDetailsManager.loadUserByUsername(Mockito.anyString())).thenReturn(null); + + AuthenticationManager authenticationManager = securityConfiguration.authenticationManagerBean(); + + // Perform assertions or verifications + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java new file mode 100644 index 000000000..b38d7ab35 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java @@ -0,0 +1,41 @@ +import com.microsoft.hydralab.center.config.WebMvcConfiguration; +import com.microsoft.hydralab.center.interceptor.BaseInterceptor; +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import com.microsoft.hydralab.common.util.Const; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import static org.mockito.Mockito.*; + +public class WebMvcConfigurationTest { +@Mock +private BaseInterceptor baseInterceptor; +@Mock +private CorsInterceptor corsInterceptor; +@Mock +private FastJsonHttpMessageConverter fastJsonHttpMessageConverter; +@Mock +private ViewControllerRegistry viewControllerRegistry; +@Mock +private InterceptorRegistry interceptorRegistry; +private WebMvcConfiguration webMvcConfiguration; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); webMvcConfiguration = new WebMvcConfiguration(); +} + +@Test +public void testAddViewControllers() { + webMvcConfiguration.addViewControllers(viewControllerRegistry); verify(viewControllerRegistry).addViewController("/portal/").setViewName("forward:" + Const.FrontEndPath.INDEX_PATH); +} + +@Test +public void testAddInterceptors() { + webMvcConfiguration.addInterceptors(interceptorRegistry); verify(interceptorRegistry).addInterceptor(baseInterceptor); verify(baseInterceptor).addPathPatterns(anyString()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java new file mode 100644 index 000000000..d1c70e797 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java @@ -0,0 +1,48 @@ +import com.microsoft.hydralab.center.config.WebMvcConfiguration; +import com.microsoft.hydralab.center.interceptor.BaseInterceptor; +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import com.microsoft.hydralab.common.util.Const; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; + +import static org.mockito.Mockito.*; + +public class WebMvcConfigurationTest { + + @Mock + private BaseInterceptor baseInterceptor; + @Mock + private CorsInterceptor corsInterceptor; + @Mock + private FastJsonHttpMessageConverter fastJsonHttpMessageConverter; + @Mock + private ViewControllerRegistry viewControllerRegistry; + @Mock + private InterceptorRegistry interceptorRegistry; + + private WebMvcConfiguration webMvcConfiguration; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + webMvcConfiguration = new WebMvcConfiguration(); + } + + @Test + public void testAddViewControllers() { + webMvcConfiguration.addViewControllers(viewControllerRegistry); + verify(viewControllerRegistry).addViewController("/portal/").setViewName("forward:" + Const.FrontEndPath.INDEX_PATH); + } + + @Test + public void testAddInterceptors() { + webMvcConfiguration.addInterceptors(interceptorRegistry); + verify(interceptorRegistry).addInterceptor(baseInterceptor); + verify(baseInterceptor).addPathPatterns(anyString()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java new file mode 100644 index 000000000..3c57b9246 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java @@ -0,0 +1,26 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import static org.mockito.Mockito.verify; + +public class WebMvcConfigurationTest { +@Mock +private BaseInterceptor baseInterceptor; +@Mock +private CorsInterceptor corsInterceptor; +@Mock +private InterceptorRegistry registry; +private WebMvcConfiguration webMvcConfiguration; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); webMvcConfiguration = new WebMvcConfiguration(); +} + +@Test +public void testAddInterceptors() { + webMvcConfiguration.addInterceptors(registry); verify(registry).addInterceptor(baseInterceptor); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java new file mode 100644 index 000000000..46c65aced --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java @@ -0,0 +1,34 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; + +import static org.mockito.Mockito.verify; + +public class WebMvcConfigurationTest { + + @Mock + private BaseInterceptor baseInterceptor; + + @Mock + private CorsInterceptor corsInterceptor; + + @Mock + private InterceptorRegistry registry; + + private WebMvcConfiguration webMvcConfiguration; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + webMvcConfiguration = new WebMvcConfiguration(); + } + + @Test + public void testAddInterceptors() { + webMvcConfiguration.addInterceptors(registry); + + verify(registry).addInterceptor(baseInterceptor); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java new file mode 100644 index 000000000..b1e76686f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java @@ -0,0 +1,19 @@ +import com.microsoft.hydralab.center.config.WebSocketConfig; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertNotNull; + +public class WebSocketConfigTest { +private WebSocketConfig webSocketConfig; +@Before +public void setUp() { + webSocketConfig = new WebSocketConfig(); +} + +@Test +public void testServerEndpointExporter() { + ServerEndpointExporter serverEndpointExporter = webSocketConfig.serverEndpointExporter(); assertNotNull(serverEndpointExporter); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java new file mode 100644 index 000000000..d316d1ab8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java @@ -0,0 +1,21 @@ +import com.microsoft.hydralab.center.config.WebSocketConfig; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.junit.Assert.assertNotNull; + +public class WebSocketConfigTest { + private WebSocketConfig webSocketConfig; + + @Before + public void setUp() { + webSocketConfig = new WebSocketConfig(); + } + + @Test + public void testServerEndpointExporter() { + ServerEndpointExporter serverEndpointExporter = webSocketConfig.serverEndpointExporter(); + assertNotNull(serverEndpointExporter); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java new file mode 100644 index 000000000..2fd884426 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java @@ -0,0 +1,16 @@ +import com.microsoft.hydralab.center.config.WebSocketConfig; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean; +import static org.mockito.Mockito.when; +import static org.mockito.Mockito.mock; + +public class WebSocketConfigTest { +private ServletServerContainerFactoryBean container; +public void testCreateWebSocketContainer() { +", " WebSocketConfig webSocketConfig = new WebSocketConfig();", " when(container.getMaxTextMessageBufferSize()).thenReturn(100000);", " when(container.getMaxBinaryMessageBufferSize()).thenReturn(100000);", " ServletServerContainerFactoryBean result = webSocketConfig.createWebSocketContainer();", " assertSame(container, result);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java new file mode 100644 index 000000000..42fd1d50d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java @@ -0,0 +1,25 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.center.config.WebSocketConfig;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.Mock;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;", + "import static org.mockito.Mockito.when;", + "import static org.mockito.Mockito.mock;", + "@RunWith(MockitoJUnitRunner.class)", + "public class WebSocketConfigTest {", + " @Mock", + " private ServletServerContainerFactoryBean container;", + " @Test", + " public void testCreateWebSocketContainer() {", + " WebSocketConfig webSocketConfig = new WebSocketConfig();", + " when(container.getMaxTextMessageBufferSize()).thenReturn(100000);", + " when(container.getMaxBinaryMessageBufferSize()).thenReturn(100000);", + " ServletServerContainerFactoryBean result = webSocketConfig.createWebSocketContainer();", + " assertSame(container, result);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java new file mode 100644 index 000000000..2ebf33f87 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java @@ -0,0 +1,32 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageControllerTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private AgentManageService agentManageService; +@InjectMocks +private AgentManageController agentManageController; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testQueryUpdateInfo() { + List updateTasks = new ArrayList<>(); when(deviceAgentManagementService.getUpdateTasks()).thenReturn(updateTasks); Result result = agentManageController.queryUpdateInfo(); assertEquals(HttpStatus.OK.value(), result.getStatusCode()); assertEquals(updateTasks, result.getData()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java new file mode 100644 index 000000000..878a94e2e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java @@ -0,0 +1,44 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageControllerTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private AgentManageService agentManageService; + + @InjectMocks + private AgentManageController agentManageController; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testQueryUpdateInfo() { + // Arrange + List updateTasks = new ArrayList<>(); + when(deviceAgentManagementService.getUpdateTasks()).thenReturn(updateTasks); + + // Act + Result result = agentManageController.queryUpdateInfo(); + + // Assert + assertEquals(HttpStatus.OK.value(), result.getStatusCode()); + assertEquals(updateTasks, result.getData()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java new file mode 100644 index 000000000..27c92fd1c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java @@ -0,0 +1,42 @@ +import com.alibaba.fastjson.JSONObject; +import com.microsoft.hydralab.center.controller.AgentManageController; +import com.microsoft.hydralab.center.service.AttachmentService; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.agent.Result; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageControllerTest { +@Mock +private AttachmentService attachmentService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private UserTeamManagementService userTeamManagementService; +@InjectMocks +private AgentManageController agentManageController; +@Before +public void setup() { + Mockito.when(attachmentService.getLatestAgentPackage()).thenReturn("agentPackage"); +} + +@Test +public void testGetCenterInfo() { + JSONObject expectedData = new JSONObject(); expectedData.put("versionName", "versionName"); expectedData.put("versionCode", "versionCode"); expectedData.put("agentPkg", "agentPackage"); Result result = agentManageController.getCenterInfo(); assert result != null; assert result.getStatus() == HttpStatus.OK.value(); assert result.getData().equals(expectedData); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java new file mode 100644 index 000000000..523627042 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java @@ -0,0 +1,60 @@ +import com.alibaba.fastjson.JSONObject; +import com.microsoft.hydralab.center.controller.AgentManageController; +import com.microsoft.hydralab.center.service.AttachmentService; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.agent.Result; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageControllerTest { + + @Mock + private AttachmentService attachmentService; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private UserTeamManagementService userTeamManagementService; + + @InjectMocks + private AgentManageController agentManageController; + + @Before + public void setup() { + Mockito.when(attachmentService.getLatestAgentPackage()).thenReturn("agentPackage"); + } + + @Test + public void testGetCenterInfo() { + // Arrange + JSONObject expectedData = new JSONObject(); + expectedData.put("versionName", "versionName"); + expectedData.put("versionCode", "versionCode"); + expectedData.put("agentPkg", "agentPackage"); + + // Act + Result result = agentManageController.getCenterInfo(); + + // Assert + assert result != null; + assert result.getStatus() == HttpStatus.OK.value(); + assert result.getData().equals(expectedData); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java new file mode 100644 index 000000000..9140939ce --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java @@ -0,0 +1,29 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class AuthControllerTest { +@Mock +private AuthUtil authUtil; +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +private AuthController authController; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); authController = new AuthController(); authController.authUtil = authUtil; +} + +@Test +public void testGetAccessToken() { + String code = "testCode"; String redirectUrl = "testRedirectUrl"; String accessToken = "testAccessToken"; Mockito.when(authUtil.verifyCode(code)).thenReturn(accessToken); Mockito.when(request.getParameter("state")).thenReturn(redirectUrl); authController.getAccessToken(code, request, response); Mockito.verify(response).sendRedirect(redirectUrl); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java new file mode 100644 index 000000000..0f3bc2a6b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java @@ -0,0 +1,48 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +public class AuthControllerTest { + + @Mock + private AuthUtil authUtil; + + @Mock + private HttpServletRequest request; + + @Mock + private HttpServletResponse response; + + private AuthController authController; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + authController = new AuthController(); + authController.authUtil = authUtil; + } + + @Test + public void testGetAccessToken() throws IOException { + // Arrange + String code = "testCode"; + String redirectUrl = "testRedirectUrl"; + String accessToken = "testAccessToken"; + + Mockito.when(authUtil.verifyCode(code)).thenReturn(accessToken); + Mockito.when(request.getParameter("state")).thenReturn(redirectUrl); + + // Act + authController.getAccessToken(code, request, response); + + // Assert + Mockito.verify(response).sendRedirect(redirectUrl); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java new file mode 100644 index 000000000..cd13bba4b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java @@ -0,0 +1,62 @@ +import com.microsoft.hydralab.center.controller.AuthController; +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.PathVariable; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { +@Mock +private AuthUtil authUtil; +@Mock +private SecretGenerator secretGenerator; +@Mock +private AuthTokenService authTokenService; +@Mock +private SecurityUserService securityUserService; +@InjectMocks +private AuthController authController; +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private SysUser sysUser; +@Mock +private Result result; +@Mock +private AuthToken authToken; +@Mock +private List authTokens; +@Before +public void setup() { + when(authUtil.verifyCode(any(String.class))).thenReturn("accessToken"); when(authUtil.getLoginUrl()).thenReturn("loginUrl"); when(authUtil.getLoginUserName(any(String.class))).thenReturn("userName"); when(request.getParameter("state")).thenReturn("state"); when(request.getSession()).thenReturn(null); when(authTokenService.getAuthToken(any(Long.class))).thenReturn(authToken); when(authToken.getCreator()).thenReturn("creator"); when(sysUser.getMailAddress()).thenReturn("mailAddress"); when(authTokenService.queryAuthToken()).thenReturn(authTokens); when(authTokenService.queryAuthTokenByName(any(String.class))).thenReturn(authTokens); +} + +@Test +public void testDeleteToken() { + when(authTokenService.deleteAuthToken(any(AuthToken.class))).thenReturn(result); Result actualResult = authController.deleteToken(sysUser, 1L); assertEquals(result, actualResult); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java new file mode 100644 index 000000000..c24f76e5a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java @@ -0,0 +1,73 @@ +import com.microsoft.hydralab.center.controller.AuthController; +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.PathVariable; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { + @Mock + private AuthUtil authUtil; + @Mock + private SecretGenerator secretGenerator; + @Mock + private AuthTokenService authTokenService; + @Mock + private SecurityUserService securityUserService; + @InjectMocks + private AuthController authController; + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private SysUser sysUser; + @Mock + private Result result; + @Mock + private AuthToken authToken; + @Mock + private List authTokens; + + @Before + public void setup() { + when(authUtil.verifyCode(any(String.class))).thenReturn("accessToken"); + when(authUtil.getLoginUrl()).thenReturn("loginUrl"); + when(authUtil.getLoginUserName(any(String.class))).thenReturn("userName"); + when(request.getParameter("state")).thenReturn("state"); + when(request.getSession()).thenReturn(null); + when(authTokenService.getAuthToken(any(Long.class))).thenReturn(authToken); + when(authToken.getCreator()).thenReturn("creator"); + when(sysUser.getMailAddress()).thenReturn("mailAddress"); + when(authTokenService.queryAuthToken()).thenReturn(authTokens); + when(authTokenService.queryAuthTokenByName(any(String.class))).thenReturn(authTokens); + } + + @Test + public void testDeleteToken() { + when(authTokenService.deleteAuthToken(any(AuthToken.class))).thenReturn(result); + Result actualResult = authController.deleteToken(sysUser, 1L); + assertEquals(result, actualResult); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java new file mode 100644 index 000000000..e2a12a95c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java @@ -0,0 +1,49 @@ +import com.microsoft.hydralab.center.controller.AuthController; +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.LogUtils; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testGetUserInfo() { + SysUser requestor = new SysUser(); requestor.setMailAddress("test@example.com"); Result expectedResult = Result.ok(requestor); when(authController.getUserInfo(requestor)).thenReturn(expectedResult); Result actualResult = authController.getUserInfo(requestor); assertEquals(expectedResult, actualResult); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java new file mode 100644 index 000000000..dda950f3c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java @@ -0,0 +1,69 @@ +import com.microsoft.hydralab.center.controller.AuthController; +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.LogUtils; +import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.StringUtils; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { + @Mock + AuthUtil authUtil; + @Mock + SecretGenerator secretGenerator; + @Mock + AuthTokenService authTokenService; + @Mock + SecurityUserService securityUserService; + @InjectMocks + AuthController authController; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testGetUserInfo() { + // Arrange + SysUser requestor = new SysUser(); + requestor.setMailAddress("test@example.com"); + Result expectedResult = Result.ok(requestor); + when(authController.getUserInfo(requestor)).thenReturn(expectedResult); + + // Act + Result actualResult = authController.getUserInfo(requestor); + + // Assert + assertEquals(expectedResult, actualResult); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java new file mode 100644 index 000000000..1c2177ec3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java @@ -0,0 +1,45 @@ +import com.microsoft.hydralab.center.controller.AuthController; +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testGetUserPhoto() { + SysUser sysUser = new SysUser(); HttpServletResponse response = mock(HttpServletResponse.class); InputStream inputStream = mock(InputStream.class); OutputStream outputStream = mock(OutputStream.class); when(authUtil.requestPhoto(anyString())).thenReturn(inputStream); when(response.getOutputStream()).thenReturn(outputStream); authController.getUserPhoto(sysUser, response); verify(authUtil, times(1)).requestPhoto(anyString()); verify(response, times(1)).setContentType(MediaType.IMAGE_JPEG_VALUE); verify(outputStream, times(1)).write(any(byte[].class), anyInt(), anyInt()); verify(outputStream, times(1)).flush(); verify(outputStream, times(1)).close(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java new file mode 100644 index 000000000..b6618ed15 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java @@ -0,0 +1,71 @@ +import com.microsoft.hydralab.center.controller.AuthController; +import com.microsoft.hydralab.center.service.AuthTokenService; +import com.microsoft.hydralab.center.service.SecurityUserService; +import com.microsoft.hydralab.center.util.AuthUtil; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.security.core.annotation.CurrentSecurityContext; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthControllerTest { + @Mock + AuthUtil authUtil; + @Mock + SecretGenerator secretGenerator; + @Mock + AuthTokenService authTokenService; + @Mock + SecurityUserService securityUserService; + @InjectMocks + AuthController authController; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testGetUserPhoto() throws IOException { + // Arrange + SysUser sysUser = new SysUser(); + HttpServletResponse response = mock(HttpServletResponse.class); + InputStream inputStream = mock(InputStream.class); + OutputStream outputStream = mock(OutputStream.class); + when(authUtil.requestPhoto(anyString())).thenReturn(inputStream); + when(response.getOutputStream()).thenReturn(outputStream); + + // Act + authController.getUserPhoto(sysUser, response); + + // Assert + verify(authUtil, times(1)).requestPhoto(anyString()); + verify(response, times(1)).setContentType(MediaType.IMAGE_JPEG_VALUE); + verify(outputStream, times(1)).write(any(byte[].class), anyInt(), anyInt()); + verify(outputStream, times(1)).flush(); + verify(outputStream, times(1)).close(); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java new file mode 100644 index 000000000..f83a1bd88 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java @@ -0,0 +1,47 @@ +import com.microsoft.hydralab.center.controller.StorageController; +import com.microsoft.hydralab.center.service.StorageTokenManageService; +import com.microsoft.hydralab.center.util.LocalStorageIOUtil; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.HydraLabRuntimeException; +import com.microsoft.hydralab.common.util.LogUtils; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.slf4j.Logger; +import org.springframework.http.HttpStatus; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; +import java.io.InputStream; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class StorageControllerTest { +@Mock +private StorageTokenManageService storageTokenManageService; +@Mock +private Logger logger; +@InjectMocks +private StorageController storageController; +private MockHttpServletRequest request; +private MockHttpServletResponse response; +private MultipartFile uploadedFile; +@Before +public void setup() { + request = new MockHttpServletRequest(); response = new MockHttpServletResponse(); uploadedFile = Mockito.mock(MultipartFile.class); +} + +@Test +public void testUploadFile() { + String fileUri = "testFile.txt"; String storageToken = "Bearer token"; InputStream inputStream = Mockito.mock(InputStream.class); Result expectedResult = Result.ok(fileUri); when(request.getHeader("Authorization")).thenReturn(storageToken); when(storageTokenManageService.validateAccessToken(storageToken)).thenReturn(true); when(uploadedFile.getInputStream()).thenReturn(inputStream); Result result = storageController.uploadFile(request, uploadedFile, fileUri); assertEquals(expectedResult, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java new file mode 100644 index 000000000..bfaaa6099 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java @@ -0,0 +1,69 @@ +import com.microsoft.hydralab.center.controller.StorageController; +import com.microsoft.hydralab.center.service.StorageTokenManageService; +import com.microsoft.hydralab.center.util.LocalStorageIOUtil; +import com.microsoft.hydralab.common.entity.agent.Result; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.HydraLabRuntimeException; +import com.microsoft.hydralab.common.util.LogUtils; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.slf4j.Logger; +import org.springframework.http.HttpStatus; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class StorageControllerTest { + + @Mock + private StorageTokenManageService storageTokenManageService; + + @Mock + private Logger logger; + + @InjectMocks + private StorageController storageController; + + private MockHttpServletRequest request; + private MockHttpServletResponse response; + private MultipartFile uploadedFile; + + @Before + public void setup() { + request = new MockHttpServletRequest(); + response = new MockHttpServletResponse(); + uploadedFile = Mockito.mock(MultipartFile.class); + } + + @Test + public void testUploadFile() throws IOException { + // Arrange + String fileUri = "testFile.txt"; + String storageToken = "Bearer token"; + InputStream inputStream = Mockito.mock(InputStream.class); + Result expectedResult = Result.ok(fileUri); + + when(request.getHeader("Authorization")).thenReturn(storageToken); + when(storageTokenManageService.validateAccessToken(storageToken)).thenReturn(true); + when(uploadedFile.getInputStream()).thenReturn(inputStream); + + // Act + Result result = storageController.uploadFile(request, uploadedFile, fileUri); + + // Assert + assertEquals(expectedResult, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java new file mode 100644 index 000000000..6112ca0b6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java @@ -0,0 +1,27 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.http.HttpStatus; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import static org.mockito.Mockito.*; + +public class StorageControllerTest { +private StorageController storageController; +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); storageController = new StorageController(); +} + +@Test +public void testPostDownloadFile() { + String fileUri = "example/file.txt"; File file = mock(File.class); when(request.getHeader("Authorization")).thenReturn("Bearer token"); when(storageController.storageTokenManageService.validateAccessToken("token")).thenReturn(true); when(LogUtils.isLegalStr(fileUri, Const.RegexString.STORAGE_FILE_REL_PATH, false)).thenReturn(true); when(new File(Const.LocalStorageURL.CENTER_LOCAL_STORAGE_ROOT + fileUri)).thenReturn(file); when(file.exists()).thenReturn(true); when(file.getName()).thenReturn("file.txt"); storageController.postDownloadFile(request, response, fileUri); verify(response).reset(); verify(response).setContentType("application/octet-stream"); verify(response).setCharacterEncoding("utf-8"); verify(response).setContentLength((int) file.length()); verify(response).setHeader("Content-Disposition", "attachment;filename=file.txt"); verify(response.getOutputStream(), times(1)).write(any(byte[].class), anyInt(), anyInt()); verify(storageController.logger).info(String.format("Output file: %s , size: %d!", fileUri, resLen)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java new file mode 100644 index 000000000..6090ae041 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java @@ -0,0 +1,47 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.http.HttpStatus; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import static org.mockito.Mockito.*; + +public class StorageControllerTest { + private StorageController storageController; + + @Mock + private HttpServletRequest request; + + @Mock + private HttpServletResponse response; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + storageController = new StorageController(); + } + + @Test + public void testPostDownloadFile() { + String fileUri = "example/file.txt"; + File file = mock(File.class); + when(request.getHeader("Authorization")).thenReturn("Bearer token"); + when(storageController.storageTokenManageService.validateAccessToken("token")).thenReturn(true); + when(LogUtils.isLegalStr(fileUri, Const.RegexString.STORAGE_FILE_REL_PATH, false)).thenReturn(true); + when(new File(Const.LocalStorageURL.CENTER_LOCAL_STORAGE_ROOT + fileUri)).thenReturn(file); + when(file.exists()).thenReturn(true); + when(file.getName()).thenReturn("file.txt"); + + storageController.postDownloadFile(request, response, fileUri); + + verify(response).reset(); + verify(response).setContentType("application/octet-stream"); + verify(response).setCharacterEncoding("utf-8"); + verify(response).setContentLength((int) file.length()); + verify(response).setHeader("Content-Disposition", "attachment;filename=file.txt"); + verify(response.getOutputStream(), times(1)).write(any(byte[].class), anyInt(), anyInt()); + verify(storageController.logger).info(String.format("Output file: %s , size: %d!", fileUri, resLen)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java new file mode 100644 index 000000000..5b5b78514 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java @@ -0,0 +1,29 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private Object handler; +private BaseInterceptor baseInterceptor; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); baseInterceptor = new BaseInterceptor(); +} + +@Test +public void testPreHandle() { + when(request.getRemoteUser()).thenReturn("user"); when(request.getRequestURI()).thenReturn("/path"); when(request.getRemoteAddr()).thenReturn("127.0.0.1"); when(request.getRemoteHost()).thenReturn("localhost"); when(baseInterceptor.isLegalStr(anyString(), anyString(), anyBoolean())).thenReturn(true); when(baseInterceptor.isIgnore(anyString())).thenReturn(false); when(baseInterceptor.verifyToken(anyString())).thenReturn(true); when(baseInterceptor.getLoginUrl()).thenReturn("http: boolean result = baseInterceptor.preHandle(request, response, handler); assertTrue(result); verify(request, times(1)).getRemoteUser(); verify(request, times(1)).getRequestURI(); verify(request, times(1)).getRemoteAddr(); verify(request, times(1)).getRemoteHost(); verify(baseInterceptor, times(1)).isLegalStr(anyString(), anyString(), anyBoolean()); verify(baseInterceptor, times(1)).isIgnore(anyString()); verify(baseInterceptor, times(1)).verifyToken(anyString()); verify(baseInterceptor, times(1)).getLoginUrl(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java new file mode 100644 index 000000000..7599f90d8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java @@ -0,0 +1,53 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + + private BaseInterceptor baseInterceptor; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + baseInterceptor = new BaseInterceptor(); + } + + @Test + public void testPreHandle() throws IOException { + // Arrange + when(request.getRemoteUser()).thenReturn("user"); + when(request.getRequestURI()).thenReturn("/path"); + when(request.getRemoteAddr()).thenReturn("127.0.0.1"); + when(request.getRemoteHost()).thenReturn("localhost"); + when(baseInterceptor.isLegalStr(anyString(), anyString(), anyBoolean())).thenReturn(true); + when(baseInterceptor.isIgnore(anyString())).thenReturn(false); + when(baseInterceptor.verifyToken(anyString())).thenReturn(true); + when(baseInterceptor.getLoginUrl()).thenReturn("http://localhost/login"); + + // Act + boolean result = baseInterceptor.preHandle(request, response, handler); + + // Assert + assertTrue(result); + verify(request, times(1)).getRemoteUser(); + verify(request, times(1)).getRequestURI(); + verify(request, times(1)).getRemoteAddr(); + verify(request, times(1)).getRemoteHost(); + verify(baseInterceptor, times(1)).isLegalStr(anyString(), anyString(), anyBoolean()); + verify(baseInterceptor, times(1)).isIgnore(anyString()); + verify(baseInterceptor, times(1)).verifyToken(anyString()); + verify(baseInterceptor, times(1)).getLoginUrl(); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java new file mode 100644 index 000000000..1f1a98c12 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java @@ -0,0 +1,32 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private Object handler; +@Mock +private ModelAndView modelAndView; +private BaseInterceptor baseInterceptor; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); baseInterceptor = new BaseInterceptor(); +} + +@Test +public void testPostHandle() { + baseInterceptor.postHandle(request, response, handler, modelAndView); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java new file mode 100644 index 000000000..bc4f38fb4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java @@ -0,0 +1,35 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.mock.web.MockHttpServletRequest; +import org.springframework.mock.web.MockHttpServletResponse; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + @Mock + private ModelAndView modelAndView; + + private BaseInterceptor baseInterceptor; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + baseInterceptor = new BaseInterceptor(); + } + + @Test + public void testPostHandle() { + baseInterceptor.postHandle(request, response, handler, modelAndView); + // Add assertions here to verify the behavior of the postHandle method + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java new file mode 100644 index 000000000..a9ca8dc10 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java @@ -0,0 +1,29 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private Object handler; +@Mock +private Exception ex; +private BaseInterceptor baseInterceptor; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); baseInterceptor = new BaseInterceptor(); +} + +@Test +public void testAfterCompletion() { + baseInterceptor.afterCompletion(request, response, handler, ex); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java new file mode 100644 index 000000000..503562269 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java @@ -0,0 +1,32 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + @Mock + private Exception ex; + + private BaseInterceptor baseInterceptor; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + baseInterceptor = new BaseInterceptor(); + } + + @Test + public void testAfterCompletion() throws Exception { + baseInterceptor.afterCompletion(request, response, handler, ex); + // Add assertions here + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java new file mode 100644 index 000000000..4d5df3265 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java @@ -0,0 +1,27 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private Object handler; +private BaseInterceptor baseInterceptor; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); baseInterceptor = new BaseInterceptor(); +} + +@Test +public void testAfterConcurrentHandlingStarted() { + baseInterceptor.afterConcurrentHandlingStarted(request, response, handler); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java new file mode 100644 index 000000000..64a92b695 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java @@ -0,0 +1,30 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class BaseInterceptorTest { + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + + private BaseInterceptor baseInterceptor; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + baseInterceptor = new BaseInterceptor(); + } + + @Test + public void testAfterConcurrentHandlingStarted() throws Exception { + baseInterceptor.afterConcurrentHandlingStarted(request, response, handler); + // Add assertions here + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java new file mode 100644 index 000000000..24012b655 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java @@ -0,0 +1,31 @@ +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.LogUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; + +public class CorsInterceptorTest { +private HttpServletRequest request; +private HttpServletResponse response; +private Object handler; +private CorsInterceptor corsInterceptor; +public void setup() { +", " MockitoAnnotations.initMocks(this);", " corsInterceptor = new CorsInterceptor();", " +} + +public void testPreHandle() { +", " when(request.getRequestURI()).thenReturn(\"/test\");", " when(request.getMethod()).thenReturn(\"GET\");", " boolean result = corsInterceptor.preHandle(request, response, handler);", " assertTrue(result);", " verify(response).addHeader(\"Access-Control-Allow-Origin\", \"*\");", " verify(response).addHeader(\"Access-Control-Allow-Methods\", \"POST, GET\");", " verify(response).addHeader(\"Access-Control-Max-Age\", \"100\");", " verify(response).addHeader(\"Access-Control-Allow-Headers\", \"Content-Type\");", " verify(response).addHeader(\"Access-Control-Allow-Credentials\", \"false\");", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java new file mode 100644 index 000000000..893ae22fb --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java @@ -0,0 +1,47 @@ +{ + "UT-File": [ + "package com.microsoft.hydralab.center.interceptor;", + "import com.microsoft.hydralab.common.util.Const;", + "import com.microsoft.hydralab.common.util.LogUtils;", + "import org.slf4j.Logger;", + "import org.slf4j.LoggerFactory;", + "import org.springframework.beans.factory.annotation.Value;", + "import org.springframework.stereotype.Component;", + "import org.springframework.web.servlet.HandlerInterceptor;", + "import org.springframework.web.servlet.ModelAndView;", + "import javax.servlet.http.HttpServletRequest;", + "import javax.servlet.http.HttpServletResponse;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.mockito.Mock;", + "import org.mockito.MockitoAnnotations;", + "import static org.mockito.Mockito.*;", + "import static org.junit.Assert.*;", + "public class CorsInterceptorTest {", + " @Mock", + " private HttpServletRequest request;", + " @Mock", + " private HttpServletResponse response;", + " @Mock", + " private Object handler;", + " private CorsInterceptor corsInterceptor;", + " @Before", + " public void setup() {", + " MockitoAnnotations.initMocks(this);", + " corsInterceptor = new CorsInterceptor();", + " }", + " @Test", + " public void testPreHandle() {", + " when(request.getRequestURI()).thenReturn(\"/test\");", + " when(request.getMethod()).thenReturn(\"GET\");", + " boolean result = corsInterceptor.preHandle(request, response, handler);", + " assertTrue(result);", + " verify(response).addHeader(\"Access-Control-Allow-Origin\", \"*\");", + " verify(response).addHeader(\"Access-Control-Allow-Methods\", \"POST, GET\");", + " verify(response).addHeader(\"Access-Control-Max-Age\", \"100\");", + " verify(response).addHeader(\"Access-Control-Allow-Headers\", \"Content-Type\");", + " verify(response).addHeader(\"Access-Control-Allow-Credentials\", \"false\");", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java new file mode 100644 index 000000000..e7793c1f6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java @@ -0,0 +1,31 @@ +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class CorsInterceptorTest { +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private Object handler; +@Mock +private ModelAndView modelAndView; +private CorsInterceptor corsInterceptor; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); corsInterceptor = new CorsInterceptor(); +} + +@Test +public void testPostHandle() { + corsInterceptor.postHandle(request, response, handler, modelAndView); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java new file mode 100644 index 000000000..fa1d68ee3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.web.servlet.ModelAndView; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import static org.mockito.Mockito.*; + +public class CorsInterceptorTest { + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + @Mock + private ModelAndView modelAndView; + + private CorsInterceptor corsInterceptor; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + corsInterceptor = new CorsInterceptor(); + } + + @Test + public void testPostHandle() { + corsInterceptor.postHandle(request, response, handler, modelAndView); + // Add assertions here to verify the behavior of the postHandle method + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java new file mode 100644 index 000000000..2d4ba98ca --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java @@ -0,0 +1,30 @@ +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class CorsInterceptorTest { +@Mock +private HttpServletRequest request; +@Mock +private HttpServletResponse response; +@Mock +private Object handler; +@Mock +private Exception ex; +private CorsInterceptor corsInterceptor; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); corsInterceptor = new CorsInterceptor(); +} + +@Test +public void testAfterCompletion() { + corsInterceptor.afterCompletion(request, response, handler, ex); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java new file mode 100644 index 000000000..d4f936ceb --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java @@ -0,0 +1,33 @@ +import com.microsoft.hydralab.center.interceptor.CorsInterceptor; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import static org.mockito.Mockito.*; + +public class CorsInterceptorTest { + @Mock + private HttpServletRequest request; + @Mock + private HttpServletResponse response; + @Mock + private Object handler; + @Mock + private Exception ex; + + private CorsInterceptor corsInterceptor; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + corsInterceptor = new CorsInterceptor(); + } + + @Test + public void testAfterCompletion() throws Exception { + corsInterceptor.afterCompletion(request, response, handler, ex); + // Add assertions here to verify the behavior of the target function + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java new file mode 100644 index 000000000..a4685c588 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.openai.AzureOpenAIServiceClient; +import com.alibaba.fastjson.JSON; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AzureOpenAIServiceClientTest { +@Mock +private OkHttpClient client; +private AzureOpenAIServiceClient serviceClient; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); serviceClient = new AzureOpenAIServiceClient("apiKey", "deployment", "endpoint"); serviceClient.client = client; +} + +@Test +public void testChatCompletion() { + ChatRequest request = new ChatRequest(); request.setMessage("Hello"); String expectedResponse = "Response"; String requestBodyString = JSON.toJSONString(request); String apiVersion = "2023-03-15-preview"; MediaType mediaType = MediaType.parse("application/json"); String url = "endpoint/openai/deployments/deployment/chat/completions?api-version=2023-03-15-preview"; RequestBody body = RequestBody.create(requestBodyString, mediaType); Request httpRequest = new Request.Builder().url(url).post(body) .addHeader("api-key", "apiKey").build(); Response response = mock(Response.class); when(response.isSuccessful()).thenReturn(true); when(response.body()).thenReturn(expectedResponse); when(client.newCall(httpRequest).execute()).thenReturn(response); String result = serviceClient.chatCompletion(request); verify(client).newCall(httpRequest).execute(); verify(response).isSuccessful(); verify(response).body(); assertEquals(expectedResponse, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java new file mode 100644 index 000000000..2f3da044f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java @@ -0,0 +1,56 @@ +import com.microsoft.hydralab.center.openai.AzureOpenAIServiceClient; +import com.alibaba.fastjson.JSON; +import okhttp3.MediaType; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.RequestBody; +import okhttp3.Response; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AzureOpenAIServiceClientTest { + @Mock + private OkHttpClient client; + + private AzureOpenAIServiceClient serviceClient; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + serviceClient = new AzureOpenAIServiceClient("apiKey", "deployment", "endpoint"); + serviceClient.client = client; + } + + @Test + public void testChatCompletion() throws Exception { + // Arrange + ChatRequest request = new ChatRequest(); + request.setMessage("Hello"); + + String expectedResponse = "Response"; + String requestBodyString = JSON.toJSONString(request); + String apiVersion = "2023-03-15-preview"; + + MediaType mediaType = MediaType.parse("application/json"); + String url = "endpoint/openai/deployments/deployment/chat/completions?api-version=2023-03-15-preview"; + RequestBody body = RequestBody.create(requestBodyString, mediaType); + Request httpRequest = new Request.Builder().url(url).post(body) + .addHeader("api-key", "apiKey").build(); + Response response = mock(Response.class); + when(response.isSuccessful()).thenReturn(true); + when(response.body()).thenReturn(expectedResponse); + when(client.newCall(httpRequest).execute()).thenReturn(response); + + // Act + String result = serviceClient.chatCompletion(request); + + // Assert + verify(client).newCall(httpRequest).execute(); + verify(response).isSuccessful(); + verify(response).body(); + assertEquals(expectedResponse, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java new file mode 100644 index 000000000..25185a2c4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java @@ -0,0 +1,11 @@ +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { +@Test +public void testGetMaxTokens() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); Mockito.when(chatRequest.getMaxTokens()).thenReturn(800); int result = chatRequest.getMaxTokens(); assertEquals(800, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java new file mode 100644 index 000000000..3042e17db --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java @@ -0,0 +1,17 @@ +import org.junit.Test; +import org.mockito.Mockito; + +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { + + @Test + public void testGetMaxTokens() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getMaxTokens()).thenReturn(800); + + int result = chatRequest.getMaxTokens(); + + assertEquals(800, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java new file mode 100644 index 000000000..c968fa3c0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testSetMaxTokens() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); int maxTokens = 1000; chatRequest.setMaxTokens(maxTokens); Mockito.verify(chatRequest).setMaxTokens(maxTokens); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java new file mode 100644 index 000000000..17f5bc3ab --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java @@ -0,0 +1,12 @@ +import com.microsoft.hydralab.center.openai.ChatRequest; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testGetStop() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); String expectedStop = "stop"; Mockito.when(chatRequest.getStop()).thenReturn(expectedStop); String actualStop = chatRequest.getStop(); Assert.assertEquals(expectedStop, actualStop); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java new file mode 100644 index 000000000..91fc9d67c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java @@ -0,0 +1,19 @@ +import com.microsoft.hydralab.center.openai.ChatRequest; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testGetStop() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + String expectedStop = "stop"; + + Mockito.when(chatRequest.getStop()).thenReturn(expectedStop); + + String actualStop = chatRequest.getStop(); + + Assert.assertEquals(expectedStop, actualStop); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java new file mode 100644 index 000000000..92cedab99 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testSetStop() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); String stop = "stop"; chatRequest.setStop(stop); Mockito.verify(chatRequest).setStop(stop); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java new file mode 100644 index 000000000..3132e28c5 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testSetStop() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + String stop = "stop"; + + chatRequest.setStop(stop); + + Mockito.verify(chatRequest).setStop(stop); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java new file mode 100644 index 000000000..411fa9b1a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testSetMaxTokens() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + int maxTokens = 1000; + + chatRequest.setMaxTokens(maxTokens); + + Mockito.verify(chatRequest).setMaxTokens(maxTokens); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java new file mode 100644 index 000000000..5d00aa018 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java @@ -0,0 +1,11 @@ +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { +@Test +public void testGetTemperature() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); Mockito.when(chatRequest.getTemperature()).thenReturn(0.75); double expectedTemperature = 0.75; double actualTemperature = chatRequest.getTemperature(); assertEquals(expectedTemperature, actualTemperature, 0.0); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java new file mode 100644 index 000000000..7808f326f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java @@ -0,0 +1,18 @@ +import org.junit.Test; +import org.mockito.Mockito; + +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { + + @Test + public void testGetTemperature() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getTemperature()).thenReturn(0.75); + + double expectedTemperature = 0.75; + double actualTemperature = chatRequest.getTemperature(); + + assertEquals(expectedTemperature, actualTemperature, 0.0); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java new file mode 100644 index 000000000..d1fdf96cf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testSetTemperature() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); double temperature = 0.5; chatRequest.setTemperature(temperature); Mockito.verify(chatRequest).setTemperature(temperature); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java new file mode 100644 index 000000000..321366301 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testSetTemperature() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double temperature = 0.5; + + chatRequest.setTemperature(temperature); + + Mockito.verify(chatRequest).setTemperature(temperature); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java new file mode 100644 index 000000000..74b3d83d7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testGetFrequencyPenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); Mockito.when(chatRequest.getFrequencyPenalty()).thenReturn(0.0); double frequencyPenalty = chatRequest.getFrequencyPenalty(); assertEquals(0.0, frequencyPenalty, 0.001); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java new file mode 100644 index 000000000..eb9144f5f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testGetFrequencyPenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getFrequencyPenalty()).thenReturn(0.0); + + double frequencyPenalty = chatRequest.getFrequencyPenalty(); + + assertEquals(0.0, frequencyPenalty, 0.001); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java new file mode 100644 index 000000000..24926c591 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testSetFrequencyPenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); double frequencyPenalty = 0.5; chatRequest.setFrequencyPenalty(frequencyPenalty); Mockito.verify(chatRequest).setFrequencyPenalty(frequencyPenalty); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java new file mode 100644 index 000000000..e6f635ea8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testSetFrequencyPenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double frequencyPenalty = 0.5; + + chatRequest.setFrequencyPenalty(frequencyPenalty); + + Mockito.verify(chatRequest).setFrequencyPenalty(frequencyPenalty); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java new file mode 100644 index 000000000..1942d3645 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java @@ -0,0 +1,11 @@ +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { +@Test +public void testGetPresencePenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); Mockito.when(chatRequest.getPresencePenalty()).thenReturn(0.0); double result = chatRequest.getPresencePenalty(); assertEquals(0.0, result, 0.0); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java new file mode 100644 index 000000000..e432246ef --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java @@ -0,0 +1,17 @@ +import org.junit.Test; +import org.mockito.Mockito; + +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { + + @Test + public void testGetPresencePenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getPresencePenalty()).thenReturn(0.0); + + double result = chatRequest.getPresencePenalty(); + + assertEquals(0.0, result, 0.0); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java new file mode 100644 index 000000000..a957fe90c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testSetPresencePenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); double presencePenalty = 0.5; chatRequest.setPresencePenalty(presencePenalty); Mockito.verify(chatRequest).setPresencePenalty(presencePenalty); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java new file mode 100644 index 000000000..85834138e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testSetPresencePenalty() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double presencePenalty = 0.5; + + chatRequest.setPresencePenalty(presencePenalty); + + Mockito.verify(chatRequest).setPresencePenalty(presencePenalty); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java new file mode 100644 index 000000000..791ee6537 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java @@ -0,0 +1,11 @@ +import org.junit.Test; +import org.mockito.Mockito; +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { +@Test +public void testGetTopP() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); Mockito.when(chatRequest.getTopP()).thenReturn(0.95); double result = chatRequest.getTopP(); assertEquals(0.95, result, 0.001); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java new file mode 100644 index 000000000..2973105cc --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java @@ -0,0 +1,17 @@ +import org.junit.Test; +import org.mockito.Mockito; + +import static org.junit.Assert.assertEquals; + +public class ChatRequestTest { + + @Test + public void testGetTopP() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + Mockito.when(chatRequest.getTopP()).thenReturn(0.95); + + double result = chatRequest.getTopP(); + + assertEquals(0.95, result, 0.001); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java new file mode 100644 index 000000000..9f31835a6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java @@ -0,0 +1,10 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { +@Test +public void testSetTopP() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); double topP = 0.95; chatRequest.setTopP(topP); Mockito.verify(chatRequest).setTopP(topP); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java new file mode 100644 index 000000000..0a0f4e85c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java @@ -0,0 +1,15 @@ +import org.junit.Test; +import org.mockito.Mockito; + +public class ChatRequestTest { + + @Test + public void testSetTopP() { + ChatRequest chatRequest = Mockito.mock(ChatRequest.class); + double topP = 0.95; + + chatRequest.setTopP(topP); + + Mockito.verify(chatRequest).setTopP(topP); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java new file mode 100644 index 000000000..989a7f170 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java @@ -0,0 +1,26 @@ +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; + +public class AuthTokenRepositoryTest { +private AuthTokenRepository authTokenRepository; +private AuthTokenRepository authTokenRepositoryMock; +public void setup() { +", " MockitoAnnotations.initMocks(this);", " +} + +public void testCountByToken() { +", " " String token = \"testToken\";", " List authTokens = new ArrayList<>();", " authTokens.add(new AuthToken());", " Mockito.when(authTokenRepositoryMock.countByToken(token)).thenReturn(authTokens.size());", " " int result = authTokenRepository.countByToken(token);", " " assertEquals(authTokens.size(), result);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java new file mode 100644 index 000000000..18f93b1cf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java @@ -0,0 +1,41 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.common.entity.center.AuthToken;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.InjectMocks;", + "import org.mockito.Mock;", + "import org.mockito.Mockito;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import org.springframework.boot.test.context.SpringBootTest;", + "import org.springframework.test.context.junit4.SpringRunner;", + "import java.util.ArrayList;", + "import java.util.List;", + "import static org.junit.Assert.assertEquals;", + "@RunWith(MockitoJUnitRunner.class)", + "@SpringBootTest", + "public class AuthTokenRepositoryTest {", + " @InjectMocks", + " private AuthTokenRepository authTokenRepository;", + " @Mock", + " private AuthTokenRepository authTokenRepositoryMock;", + " @Before", + " public void setup() {", + " MockitoAnnotations.initMocks(this);", + " }", + " @Test", + " public void testCountByToken() {", + " // Arrange", + " String token = \"testToken\";", + " List authTokens = new ArrayList<>();", + " authTokens.add(new AuthToken());", + " Mockito.when(authTokenRepositoryMock.countByToken(token)).thenReturn(authTokens.size());", + " // Act", + " int result = authTokenRepository.countByToken(token);", + " // Assert", + " assertEquals(authTokens.size(), result);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java new file mode 100644 index 000000000..5983dae3b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java @@ -0,0 +1,25 @@ +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class DeviceGroupRelationRepositoryTest { +private DeviceGroupRelationRepository deviceGroupRelationRepository; +private DeviceGroupRelationService deviceGroupRelationService; +public void setup() { +", " MockitoAnnotations.initMocks(this);", " +} + +public void testDeleteAllByGroupName() { +", " String groupName = \"TestGroup\";", " List deviceGroupRelations = new ArrayList<>();", " when(deviceGroupRelationRepository.findAllByGroupName(groupName)).thenReturn(deviceGroupRelations);", " deviceGroupRelationService.deleteAllByGroupName(groupName);", " verify(deviceGroupRelationRepository).deleteAllByGroupName(groupName);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java new file mode 100644 index 000000000..1fe5f23d6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java @@ -0,0 +1,35 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.InjectMocks;", + "import org.mockito.Mock;", + "import org.mockito.MockitoAnnotations;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import java.util.ArrayList;", + "import java.util.List;", + "import static org.mockito.Mockito.verify;", + "import static org.mockito.Mockito.when;", + "@RunWith(MockitoJUnitRunner.class)", + "public class DeviceGroupRelationRepositoryTest {", + " @Mock", + " private DeviceGroupRelationRepository deviceGroupRelationRepository;", + " @InjectMocks", + " private DeviceGroupRelationService deviceGroupRelationService;", + " @Before", + " public void setup() {", + " MockitoAnnotations.initMocks(this);", + " }", + " @Test", + " public void testDeleteAllByGroupName() {", + " String groupName = \"TestGroup\";", + " List deviceGroupRelations = new ArrayList<>();", + " when(deviceGroupRelationRepository.findAllByGroupName(groupName)).thenReturn(deviceGroupRelations);", + " deviceGroupRelationService.deleteAllByGroupName(groupName);", + " verify(deviceGroupRelationRepository).deleteAllByGroupName(groupName);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java new file mode 100644 index 000000000..392f9e978 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java @@ -0,0 +1,23 @@ +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class DeviceGroupRepositoryTest { +private DeviceGroupRepository deviceGroupRepository; +private DeviceGroupRepository deviceGroupRepositoryUnderTest; +public void setUp() { +", " MockitoAnnotations.initMocks(this);", " +} + +public void testCountByGroupName() { +", " " String groupName = \"Test Group\";", " int expectedCount = 5;", " when(deviceGroupRepository.countByGroupName(groupName)).thenReturn(expectedCount);", " " int actualCount = deviceGroupRepositoryUnderTest.countByGroupName(groupName);", " " assertEquals(expectedCount, actualCount);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java new file mode 100644 index 000000000..97561b13e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java @@ -0,0 +1,36 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.center.repository.DeviceGroupRepository;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.InjectMocks;", + "import org.mockito.Mock;", + "import org.mockito.MockitoAnnotations;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import static org.junit.Assert.assertEquals;", + "import static org.mockito.Mockito.when;", + "@RunWith(MockitoJUnitRunner.class)", + "public class DeviceGroupRepositoryTest {", + " @Mock", + " private DeviceGroupRepository deviceGroupRepository;", + " @InjectMocks", + " private DeviceGroupRepository deviceGroupRepositoryUnderTest;", + " @Before", + " public void setUp() {", + " MockitoAnnotations.initMocks(this);", + " }", + " @Test", + " public void testCountByGroupName() {", + " // Arrange", + " String groupName = \"Test Group\";", + " int expectedCount = 5;", + " when(deviceGroupRepository.countByGroupName(groupName)).thenReturn(expectedCount);", + " // Act", + " int actualCount = deviceGroupRepositoryUnderTest.countByGroupName(groupName);", + " // Assert", + " assertEquals(expectedCount, actualCount);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java new file mode 100644 index 000000000..1da92042c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java @@ -0,0 +1,25 @@ +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelationId; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.data.jpa.repository.JpaRepository; +import java.util.Optional; +import static org.mockito.Mockito.verify; + +public class RolePermissionRelationRepositoryTest { +private RolePermissionRelationRepository repository; +private RolePermissionRelation rolePermissionRelation; +private RolePermissionRelationId rolePermissionRelationId; +public void setUp() { +", " rolePermissionRelation = new RolePermissionRelation();", " rolePermissionRelationId = new RolePermissionRelationId();", " +} + +public void testDeleteAllByPermissionId() { +", " String permissionId = \"testPermissionId\";", " repository.deleteAllByPermissionId(permissionId);", " verify(repository).deleteAllByPermissionId(permissionId);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java new file mode 100644 index 000000000..c54148968 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java @@ -0,0 +1,33 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.common.entity.center.RolePermissionRelation;", + "import com.microsoft.hydralab.common.entity.center.RolePermissionRelationId;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.Mock;", + "import org.mockito.Mockito;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import org.springframework.data.jpa.repository.JpaRepository;", + "import java.util.Optional;", + "import static org.mockito.Mockito.verify;", + "@RunWith(MockitoJUnitRunner.class)", + "public class RolePermissionRelationRepositoryTest {", + " @Mock", + " private RolePermissionRelationRepository repository;", + " private RolePermissionRelation rolePermissionRelation;", + " private RolePermissionRelationId rolePermissionRelationId;", + " @Before", + " public void setUp() {", + " rolePermissionRelation = new RolePermissionRelation();", + " rolePermissionRelationId = new RolePermissionRelationId();", + " }", + " @Test", + " public void testDeleteAllByPermissionId() {", + " String permissionId = \"testPermissionId\";", + " repository.deleteAllByPermissionId(permissionId);", + " verify(repository).deleteAllByPermissionId(permissionId);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java new file mode 100644 index 000000000..e8502e0c0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java @@ -0,0 +1,24 @@ +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelationId; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; +import java.util.Optional; +import static org.mockito.Mockito.verify; + +public class RolePermissionRelationRepositoryTest { +private RolePermissionRelationRepository rolePermissionRelationRepository; +public void setup() { +", " MockitoAnnotations.initMocks(this);", " +} + +public void testDeleteAllByRoleId() { +", " String roleId = \"testRoleId\";", " rolePermissionRelationRepository.deleteAllByRoleId(roleId);", " verify(rolePermissionRelationRepository).deleteAllByRoleId(roleId);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java new file mode 100644 index 000000000..9c1bac625 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java @@ -0,0 +1,32 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.common.entity.center.RolePermissionRelation;", + "import com.microsoft.hydralab.common.entity.center.RolePermissionRelationId;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.Mock;", + "import org.mockito.Mockito;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import org.springframework.boot.test.context.SpringBootTest;", + "import org.springframework.test.context.junit4.SpringRunner;", + "import java.util.Optional;", + "import static org.mockito.Mockito.verify;", + "@RunWith(MockitoJUnitRunner.class)", + "@SpringBootTest", + "public class RolePermissionRelationRepositoryTest {", + " @Mock", + " private RolePermissionRelationRepository rolePermissionRelationRepository;", + " @Before", + " public void setup() {", + " MockitoAnnotations.initMocks(this);", + " }", + " @Test", + " public void testDeleteAllByRoleId() {", + " String roleId = \"testRoleId\";", + " rolePermissionRelationRepository.deleteAllByRoleId(roleId);", + " verify(rolePermissionRelationRepository).deleteAllByRoleId(roleId);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java new file mode 100644 index 000000000..d9b0e8faf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java @@ -0,0 +1,24 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class SysUserRepositoryTest { +private SysUserRepository sysUserRepository; +private SysUserRepository sysUserRepositoryUnderTest; +public void setUp() { +", " MockitoAnnotations.initMocks(this);", " +} + +public void testCountByRoleId() { +", " " String roleId = \"testRoleId\";", " int expectedCount = 5;", " when(sysUserRepository.countByRoleId(roleId)).thenReturn(expectedCount);", " " int actualCount = sysUserRepositoryUnderTest.countByRoleId(roleId);", " " assertEquals(expectedCount, actualCount);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java new file mode 100644 index 000000000..bb625d5e0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java @@ -0,0 +1,37 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.center.repository.SysUserRepository;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.junit.runner.RunWith;", + "import org.mockito.InjectMocks;", + "import org.mockito.Mock;", + "import org.mockito.MockitoAnnotations;", + "import org.mockito.junit.MockitoJUnitRunner;", + "import java.util.Optional;", + "import static org.junit.Assert.assertEquals;", + "import static org.mockito.Mockito.when;", + "@RunWith(MockitoJUnitRunner.class)", + "public class SysUserRepositoryTest {", + " @Mock", + " private SysUserRepository sysUserRepository;", + " @InjectMocks", + " private SysUserRepository sysUserRepositoryUnderTest;", + " @Before", + " public void setUp() {", + " MockitoAnnotations.initMocks(this);", + " }", + " @Test", + " public void testCountByRoleId() {", + " // Arrange", + " String roleId = \"testRoleId\";", + " int expectedCount = 5;", + " when(sysUserRepository.countByRoleId(roleId)).thenReturn(expectedCount);", + " // Act", + " int actualCount = sysUserRepositoryUnderTest.countByRoleId(roleId);", + " // Assert", + " assertEquals(expectedCount, actualCount);", + " }", + "}" + ] +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java new file mode 100644 index 000000000..368072ec8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java @@ -0,0 +1,30 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.common.AgentUser; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +@InjectMocks +private AgentManageService agentManageService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testCreateAgent() { + String teamId = "teamId"; String teamName = "teamName"; String mailAddress = "mailAddress"; String os = "os"; String name = "name"; AgentUser agentUserInfo = new AgentUser(); agentUserInfo.setMailAddress(mailAddress); agentUserInfo.setOs(os); agentUserInfo.setName(name); agentUserInfo.setTeamId(teamId); agentUserInfo.setTeamName(teamName); SecretGenerator secretGenerator = new SecretGenerator(); String agentSecret = secretGenerator.generateSecret(); agentUserInfo.setSecret(agentSecret); when(agentUserRepository.saveAndFlush(any(AgentUser.class))).thenReturn(agentUserInfo); AgentUser result = agentManageService.createAgent(teamId, teamName, mailAddress, os, name); assertNotNull(result); assertEquals(mailAddress, result.getMailAddress()); assertEquals(os, result.getOs()); assertEquals(name, result.getName()); assertEquals(teamId, result.getTeamId()); assertEquals(teamName, result.getTeamName()); assertEquals(agentSecret, result.getSecret()); verify(agentUserRepository, times(1)).saveAndFlush(any(AgentUser.class)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java new file mode 100644 index 000000000..6a8371ef9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java @@ -0,0 +1,59 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.common.AgentUser; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { + @Mock + private AgentUserRepository agentUserRepository; + + @InjectMocks + private AgentManageService agentManageService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCreateAgent() { + // Arrange + String teamId = "teamId"; + String teamName = "teamName"; + String mailAddress = "mailAddress"; + String os = "os"; + String name = "name"; + AgentUser agentUserInfo = new AgentUser(); + agentUserInfo.setMailAddress(mailAddress); + agentUserInfo.setOs(os); + agentUserInfo.setName(name); + agentUserInfo.setTeamId(teamId); + agentUserInfo.setTeamName(teamName); + SecretGenerator secretGenerator = new SecretGenerator(); + String agentSecret = secretGenerator.generateSecret(); + agentUserInfo.setSecret(agentSecret); + when(agentUserRepository.saveAndFlush(any(AgentUser.class))).thenReturn(agentUserInfo); + + // Act + AgentUser result = agentManageService.createAgent(teamId, teamName, mailAddress, os, name); + + // Assert + assertNotNull(result); + assertEquals(mailAddress, result.getMailAddress()); + assertEquals(os, result.getOs()); + assertEquals(name, result.getName()); + assertEquals(teamId, result.getTeamId()); + assertEquals(teamName, result.getTeamName()); + assertEquals(agentSecret, result.getSecret()); + verify(agentUserRepository, times(1)).saveAndFlush(any(AgentUser.class)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java new file mode 100644 index 000000000..9ea3ba4aa --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java @@ -0,0 +1,26 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +private AgentManageService agentManageService; +@Before +public void setUp() { + agentManageService = new AgentManageService(); agentManageService.agentUserRepository = agentUserRepository; +} + +@Test +public void testGetAgent() { + String agentId = "agent123"; AgentUser agentUser = new AgentUser(); agentUser.setId(agentId); Optional optionalAgentUser = Optional.of(agentUser); when(agentUserRepository.findById(agentId)).thenReturn(optionalAgentUser); AgentUser result = agentManageService.getAgent(agentId); assertEquals(agentUser, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java new file mode 100644 index 000000000..c92771aaa --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java @@ -0,0 +1,39 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { + @Mock + private AgentUserRepository agentUserRepository; + + private AgentManageService agentManageService; + + @Before + public void setUp() { + agentManageService = new AgentManageService(); + agentManageService.agentUserRepository = agentUserRepository; + } + + @Test + public void testGetAgent() { + // Arrange + String agentId = "agent123"; + AgentUser agentUser = new AgentUser(); + agentUser.setId(agentId); + Optional optionalAgentUser = Optional.of(agentUser); + when(agentUserRepository.findById(agentId)).thenReturn(optionalAgentUser); + + // Act + AgentUser result = agentManageService.getAgent(agentId); + + // Assert + assertEquals(agentUser, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java new file mode 100644 index 000000000..4e737518b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java @@ -0,0 +1,21 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +private AgentManageService agentManageService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); agentManageService = new AgentManageService(); agentManageService.agentUserRepository = agentUserRepository; +} + +@Test +public void testDeleteAgent() { + AgentUser agentUser = new AgentUser(); agentManageService.deleteAgent(agentUser); verify(agentUserRepository, times(1)).delete(agentUser); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java new file mode 100644 index 000000000..2772bffb4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java @@ -0,0 +1,26 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AgentManageServiceTest { + @Mock + private AgentUserRepository agentUserRepository; + + private AgentManageService agentManageService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + agentManageService = new AgentManageService(); + agentManageService.agentUserRepository = agentUserRepository; + } + + @Test + public void testDeleteAgent() { + AgentUser agentUser = new AgentUser(); + agentManageService.deleteAgent(agentUser); + verify(agentUserRepository, times(1)).delete(agentUser); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java new file mode 100644 index 000000000..c32202072 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java @@ -0,0 +1,25 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import java.util.Optional; +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.common.entity.common.AgentUser; + +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +private AgentManageService agentManageService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); agentManageService = new AgentManageService(); agentManageService.agentUserRepository = agentUserRepository; +} + +@Test +public void testIsAgentNameRegistered() { + String agentName = "agent1"; AgentUser agentUser = new AgentUser(); agentUser.setName(agentName); Mockito.when(agentUserRepository.findByName(agentName)).thenReturn(Optional.of(agentUser)); boolean result = agentManageService.isAgentNameRegistered(agentName); Assert.assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java new file mode 100644 index 000000000..df9cf5fe3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java @@ -0,0 +1,35 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import java.util.Optional; +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.common.entity.common.AgentUser; + +public class AgentManageServiceTest { + @Mock + private AgentUserRepository agentUserRepository; + + private AgentManageService agentManageService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + agentManageService = new AgentManageService(); + agentManageService.agentUserRepository = agentUserRepository; + } + + @Test + public void testIsAgentNameRegistered() { + String agentName = "agent1"; + AgentUser agentUser = new AgentUser(); + agentUser.setName(agentName); + Mockito.when(agentUserRepository.findByName(agentName)).thenReturn(Optional.of(agentUser)); + + boolean result = agentManageService.isAgentNameRegistered(agentName); + + Assert.assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java new file mode 100644 index 000000000..c13c2125b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java @@ -0,0 +1,64 @@ +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.center.util.CenterConstant; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.CriteriaTypeUtil; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.center.service.SysUserService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +@Mock +private UserTeamManagementService userTeamManagementService; +@Mock +private SysUserService sysUserService; +@InjectMocks +private AgentManageService agentManageService; +private SysUser sysUser; +private AgentUser agentUser; +@Before +public void setup() { + sysUser = new SysUser(); sysUser.setMailAddress("test@mail.com"); agentUser = new AgentUser(); agentUser.setId("agentId"); agentUser.setMailAddress("test@mail.com"); +} + +@Test +public void testCheckAgentAuthorization_WithNullRequestor_ReturnsFalse() { + assertFalse(agentManageService.checkAgentAuthorization(null, "agentId")); +} + +@Test +public void testCheckAgentAuthorization_WithNonExistingAgent_ReturnsFalse() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(null); assertFalse(agentManageService.checkAgentAuthorization(sysUser, "agentId")); +} + +@Test +public void testCheckAgentAuthorization_WithMatchingMailAddress_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); +} + +@Test +public void testCheckAgentAuthorization_WithAdminUser_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); Mockito.when(sysUserService.checkUserAdmin(sysUser)).thenReturn(true); assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); +} + +@Test +public void testCheckAgentAuthorization_WithTeamAdmin_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(sysUser, "teamId")).thenReturn(true); assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java new file mode 100644 index 000000000..827a5ffed --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java @@ -0,0 +1,82 @@ +import com.microsoft.hydralab.center.repository.AgentUserRepository; +import com.microsoft.hydralab.center.util.CenterConstant; +import com.microsoft.hydralab.center.util.SecretGenerator; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.CriteriaTypeUtil; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.center.service.SysUserService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { + + @Mock + private AgentUserRepository agentUserRepository; + + @Mock + private UserTeamManagementService userTeamManagementService; + + @Mock + private SysUserService sysUserService; + + @InjectMocks + private AgentManageService agentManageService; + + private SysUser sysUser; + private AgentUser agentUser; + + @Before + public void setup() { + sysUser = new SysUser(); + sysUser.setMailAddress("test@mail.com"); + + agentUser = new AgentUser(); + agentUser.setId("agentId"); + agentUser.setMailAddress("test@mail.com"); + } + + @Test + public void testCheckAgentAuthorization_WithNullRequestor_ReturnsFalse() { + assertFalse(agentManageService.checkAgentAuthorization(null, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithNonExistingAgent_ReturnsFalse() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(null); + assertFalse(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithMatchingMailAddress_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); + assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithAdminUser_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); + Mockito.when(sysUserService.checkUserAdmin(sysUser)).thenReturn(true); + assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } + + @Test + public void testCheckAgentAuthorization_WithTeamAdmin_ReturnsTrue() { + Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(sysUser, "teamId")).thenReturn(true); + assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java new file mode 100644 index 000000000..25b41b90a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java @@ -0,0 +1,33 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +@InjectMocks +private AgentManageService agentManageService; +private String teamId; +private String teamName; +private List agents; +@Before +public void setUp() { + teamId = "teamId"; teamName = "teamName"; agents = new ArrayList<>(); agents.add(new AgentUser()); agents.add(new AgentUser()); +} + +@Test +public void testUpdateAgentTeam() { + when(agentUserRepository.findAllByTeamId(teamId)).thenReturn(agents); agentManageService.updateAgentTeam(teamId, teamName); verify(agentUserRepository).saveAll(agents); for (AgentUser agent : agents) { assertEquals(teamName, agent.getTeamName()); } +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java new file mode 100644 index 000000000..4e6e608d2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java @@ -0,0 +1,50 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { + + @Mock + private AgentUserRepository agentUserRepository; + + @InjectMocks + private AgentManageService agentManageService; + + private String teamId; + private String teamName; + private List agents; + + @Before + public void setUp() { + teamId = "teamId"; + teamName = "teamName"; + agents = new ArrayList<>(); + agents.add(new AgentUser()); + agents.add(new AgentUser()); + } + + @Test + public void testUpdateAgentTeam() { + when(agentUserRepository.findAllByTeamId(teamId)).thenReturn(agents); + + agentManageService.updateAgentTeam(teamId, teamName); + + verify(agentUserRepository).saveAll(agents); + + for (AgentUser agent : agents) { + assertEquals(teamName, agent.getTeamName()); + } + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java new file mode 100644 index 000000000..0be45ce1e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java @@ -0,0 +1,25 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import java.io.File; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { +@Mock +private AgentUserRepository agentUserRepository; +@Mock +private UserTeamManagementService userTeamManagementService; +@Mock +private SysUserService sysUserService; +@InjectMocks +private AgentManageService agentManageService; +@Test +public void testGenerateAgentConfigFile() { + String agentId = "agentId"; String host = "localhost"; AgentUser agentUser = new AgentUser(); agentUser.setId(agentId); agentUser.setName("Agent Name"); agentUser.setSecret("Agent Secret"); when(agentUserRepository.findById(agentId)).thenReturn(Optional.of(agentUser)); File agentConfigFile = agentManageService.generateAgentConfigFile(agentId, host); assertNotNull(agentConfigFile); assertTrue(agentConfigFile.exists()); assertEquals("application.yml", agentConfigFile.getName()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java new file mode 100644 index 000000000..72db3861f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java @@ -0,0 +1,48 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; + +import java.io.File; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AgentManageServiceTest { + + @Mock + private AgentUserRepository agentUserRepository; + + @Mock + private UserTeamManagementService userTeamManagementService; + + @Mock + private SysUserService sysUserService; + + @InjectMocks + private AgentManageService agentManageService; + + @Test + public void testGenerateAgentConfigFile() { + // Arrange + String agentId = "agentId"; + String host = "localhost"; + + AgentUser agentUser = new AgentUser(); + agentUser.setId(agentId); + agentUser.setName("Agent Name"); + agentUser.setSecret("Agent Secret"); + + when(agentUserRepository.findById(agentId)).thenReturn(Optional.of(agentUser)); + + // Act + File agentConfigFile = agentManageService.generateAgentConfigFile(agentId, host); + + // Assert + assertNotNull(agentConfigFile); + assertTrue(agentConfigFile.exists()); + assertEquals("application.yml", agentConfigFile.getName()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java new file mode 100644 index 000000000..03a45900b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java @@ -0,0 +1,33 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.List; +import java.util.Optional; + +@Service +public class AuthTokenServiceTest { +@Mock +private AuthTokenRepository authTokenRepository; +@Mock +private SecurityUserService securityUserService; +private AuthTokenService authTokenService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); authTokenService = new AuthTokenService(); authTokenService.authTokenRepository = authTokenRepository; authTokenService.securityUserService = securityUserService; +} + +@Test +public void testSaveAuthToken() { + AuthToken authToken = new AuthToken(); Mockito.when(authTokenRepository.save(authToken)).thenReturn(authToken); AuthToken result = authTokenService.saveAuthToken(authToken); Mockito.verify(authTokenRepository).save(authToken); Assert.assertEquals(authToken, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java new file mode 100644 index 000000000..590e98c77 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java @@ -0,0 +1,45 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.List; +import java.util.Optional; + +@Service +public class AuthTokenServiceTest { + + @Mock + private AuthTokenRepository authTokenRepository; + + @Mock + private SecurityUserService securityUserService; + + private AuthTokenService authTokenService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + authTokenService = new AuthTokenService(); + authTokenService.authTokenRepository = authTokenRepository; + authTokenService.securityUserService = securityUserService; + } + + @Test + public void testSaveAuthToken() { + AuthToken authToken = new AuthToken(); + Mockito.when(authTokenRepository.save(authToken)).thenReturn(authToken); + + AuthToken result = authTokenService.saveAuthToken(authToken); + + Mockito.verify(authTokenRepository).save(authToken); + Assert.assertEquals(authToken, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java new file mode 100644 index 000000000..c9467ddcf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java @@ -0,0 +1,30 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthTokenServiceTest { +@Mock +private AuthTokenRepository authTokenRepository; +@InjectMocks +private AuthTokenService authTokenService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testGetAuthToken() { + Long tokenId = 1L; AuthToken authToken = new AuthToken(); authToken.setId(tokenId); Optional optionalAuthToken = Optional.of(authToken); when(authTokenRepository.findById(tokenId)).thenReturn(optionalAuthToken); AuthToken result = authTokenService.getAuthToken(tokenId); assertEquals(authToken, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java new file mode 100644 index 000000000..f5f19586f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java @@ -0,0 +1,43 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthTokenServiceTest { + + @Mock + private AuthTokenRepository authTokenRepository; + + @InjectMocks + private AuthTokenService authTokenService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testGetAuthToken() { + // Arrange + Long tokenId = 1L; + AuthToken authToken = new AuthToken(); + authToken.setId(tokenId); + Optional optionalAuthToken = Optional.of(authToken); + when(authTokenRepository.findById(tokenId)).thenReturn(optionalAuthToken); + + // Act + AuthToken result = authTokenService.getAuthToken(tokenId); + + // Assert + assertEquals(authToken, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java new file mode 100644 index 000000000..adf93fd1d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java @@ -0,0 +1,23 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AuthTokenServiceTest { +@Mock +private AuthTokenRepository authTokenRepository; +private AuthTokenService authTokenService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); authTokenService = new AuthTokenService(); authTokenService.authTokenRepository = authTokenRepository; +} + +@Test +public void testDeleteAuthToken() { + AuthToken authToken = new AuthToken(); authTokenService.deleteAuthToken(authToken); verify(authTokenRepository, times(1)).delete(authToken); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java new file mode 100644 index 000000000..1e81a69e9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java @@ -0,0 +1,30 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class AuthTokenServiceTest { + @Mock + private AuthTokenRepository authTokenRepository; + + private AuthTokenService authTokenService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + authTokenService = new AuthTokenService(); + authTokenService.authTokenRepository = authTokenRepository; + } + + @Test + public void testDeleteAuthToken() { + AuthToken authToken = new AuthToken(); + + authTokenService.deleteAuthToken(authToken); + + verify(authTokenRepository, times(1)).delete(authToken); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java new file mode 100644 index 000000000..1b49336ae --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java @@ -0,0 +1,32 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +@Service +public class AuthTokenServiceTest { +@Mock +private AuthTokenRepository authTokenRepository; +@Mock +private SecurityUserService securityUserService; +private AuthTokenService authTokenService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); authTokenService = new AuthTokenService(); authTokenService.authTokenRepository = authTokenRepository; authTokenService.securityUserService = securityUserService; +} + +@Test +public void testCheckAuthToken() { + String authToken = "token"; List authTokens = new ArrayList<>(); AuthToken token = new AuthToken(); token.setToken(authToken); authTokens.add(token); Mockito.when(authTokenRepository.queryByToken(authToken)).thenReturn(authTokens); Authentication authObj = Mockito.mock(Authentication.class); Mockito.when(securityUserService.loadUserAuthentication(Mockito.anyString(), Mockito.isNull())).thenReturn(authObj); boolean result = authTokenService.checkAuthToken(authToken); Mockito.verify(authTokenRepository).queryByToken(authToken); Mockito.verify(securityUserService).loadUserAuthentication(Mockito.anyString(), Mockito.isNull()); Mockito.verify(SecurityContextHolder.getContext()).setAuthentication(authObj); Assert.assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java new file mode 100644 index 000000000..ec7d68288 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java @@ -0,0 +1,55 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; + +@Service +public class AuthTokenServiceTest { + + @Mock + private AuthTokenRepository authTokenRepository; + + @Mock + private SecurityUserService securityUserService; + + private AuthTokenService authTokenService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + authTokenService = new AuthTokenService(); + authTokenService.authTokenRepository = authTokenRepository; + authTokenService.securityUserService = securityUserService; + } + + @Test + public void testCheckAuthToken() { + // Arrange + String authToken = "token"; + List authTokens = new ArrayList<>(); + AuthToken token = new AuthToken(); + token.setToken(authToken); + authTokens.add(token); + Mockito.when(authTokenRepository.queryByToken(authToken)).thenReturn(authTokens); + Authentication authObj = Mockito.mock(Authentication.class); + Mockito.when(securityUserService.loadUserAuthentication(Mockito.anyString(), Mockito.isNull())).thenReturn(authObj); + + // Act + boolean result = authTokenService.checkAuthToken(authToken); + + // Assert + Mockito.verify(authTokenRepository).queryByToken(authToken); + Mockito.verify(securityUserService).loadUserAuthentication(Mockito.anyString(), Mockito.isNull()); + Mockito.verify(SecurityContextHolder.getContext()).setAuthentication(authObj); + Assert.assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java new file mode 100644 index 000000000..15e1b5fd1 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.List; +import java.util.Optional; + +@Service +public class AuthTokenServiceTest { +@Mock +private AuthTokenRepository authTokenRepository; +@Mock +private SecurityUserService securityUserService; +@Mock +private HttpSession session; +private AuthTokenService authTokenService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); authTokenService = new AuthTokenService(); authTokenService.authTokenRepository = authTokenRepository; authTokenService.securityUserService = securityUserService; +} + +@Test +public void testLoadDefaultUser() { + AuthToken authToken = new AuthToken(); Mockito.when(authTokenRepository.save(Mockito.any(AuthToken.class))).thenReturn(authToken); authTokenService.loadDefaultUser(session); Mockito.verify(securityUserService).addDefaultUserSession(session); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java new file mode 100644 index 000000000..92938697f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java @@ -0,0 +1,50 @@ +import com.microsoft.hydralab.center.repository.AuthTokenRepository; +import com.microsoft.hydralab.common.entity.center.AuthToken; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import javax.servlet.http.HttpSession; +import java.util.List; +import java.util.Optional; + +@Service +public class AuthTokenServiceTest { + + @Mock + private AuthTokenRepository authTokenRepository; + + @Mock + private SecurityUserService securityUserService; + + @Mock + private HttpSession session; + + private AuthTokenService authTokenService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + authTokenService = new AuthTokenService(); + authTokenService.authTokenRepository = authTokenRepository; + authTokenService.securityUserService = securityUserService; + } + + @Test + public void testLoadDefaultUser() { + // Arrange + AuthToken authToken = new AuthToken(); + Mockito.when(authTokenRepository.save(Mockito.any(AuthToken.class))).thenReturn(authToken); + + // Act + authTokenService.loadDefaultUser(session); + + // Assert + Mockito.verify(securityUserService).addDefaultUserSession(session); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java new file mode 100644 index 000000000..ef22ffa06 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java @@ -0,0 +1,27 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Mock +private DeviceGroupRelationRepository deviceGroupRelationRepository; +@Mock +private SysUserService sysUserService; +@Mock +private UserTeamManagementService userTeamManagementService; +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); deviceGroupService = new DeviceGroupService(); deviceGroupService.deviceGroupRepository = deviceGroupRepository; deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; deviceGroupService.sysUserService = sysUserService; deviceGroupService.userTeamManagementService = userTeamManagementService; +} + +@Test +public void testCreateGroup() { + String teamId = "teamId"; String teamName = "teamName"; String groupName = "groupName"; String owner = "owner"; DeviceGroup deviceGroup = new DeviceGroup(); deviceGroup.setTeamId(teamId); deviceGroup.setTeamName(teamName); deviceGroup.setGroupName(Const.DeviceGroup.GROUP_NAME_PREFIX + groupName); deviceGroup.setGroupDisplayName(groupName); deviceGroup.setGroupType(Const.DeviceGroup.USER_GROUP); when(deviceGroupRepository.save(any(DeviceGroup.class))).thenReturn(deviceGroup); DeviceGroup result = deviceGroupService.createGroup(teamId, teamName, groupName, owner); verify(deviceGroupRepository, times(1)).save(any(DeviceGroup.class)); assertEquals(deviceGroup, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java new file mode 100644 index 000000000..a55924200 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java @@ -0,0 +1,54 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + + @Mock + private SysUserService sysUserService; + + @Mock + private UserTeamManagementService userTeamManagementService; + + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + deviceGroupService = new DeviceGroupService(); + deviceGroupService.deviceGroupRepository = deviceGroupRepository; + deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; + deviceGroupService.sysUserService = sysUserService; + deviceGroupService.userTeamManagementService = userTeamManagementService; + } + + @Test + public void testCreateGroup() { + // Arrange + String teamId = "teamId"; + String teamName = "teamName"; + String groupName = "groupName"; + String owner = "owner"; + DeviceGroup deviceGroup = new DeviceGroup(); + deviceGroup.setTeamId(teamId); + deviceGroup.setTeamName(teamName); + deviceGroup.setGroupName(Const.DeviceGroup.GROUP_NAME_PREFIX + groupName); + deviceGroup.setGroupDisplayName(groupName); + deviceGroup.setGroupType(Const.DeviceGroup.USER_GROUP); + when(deviceGroupRepository.save(any(DeviceGroup.class))).thenReturn(deviceGroup); + + // Act + DeviceGroup result = deviceGroupService.createGroup(teamId, teamName, groupName, owner); + + // Assert + verify(deviceGroupRepository, times(1)).save(any(DeviceGroup.class)); + assertEquals(deviceGroup, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java new file mode 100644 index 000000000..576602e2e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java @@ -0,0 +1,22 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; + +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +private DeviceGroupService deviceGroupService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); deviceGroupService = new DeviceGroupService(); deviceGroupService.setDeviceGroupRepository(deviceGroupRepository); +} + +@Test +public void testUpdateGroup() { + DeviceGroup deviceGroup = new DeviceGroup(); deviceGroup.setTeamId("teamId"); deviceGroup.setTeamName("teamName"); deviceGroup.setGroupName("groupName"); deviceGroup.setOwner("owner"); when(deviceGroupRepository.save(deviceGroup)).thenReturn(deviceGroup); DeviceGroup result = deviceGroupService.updateGroup(deviceGroup); verify(deviceGroupRepository, times(1)).save(deviceGroup); assertEquals(deviceGroup, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java new file mode 100644 index 000000000..f6807722a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java @@ -0,0 +1,21 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); deviceGroupService = new DeviceGroupService(); deviceGroupService.setDeviceGroupRepository(deviceGroupRepository); +} + +@Test +public void testUpdateGroupTeam() { + String teamId = "teamId"; String teamName = "teamName"; deviceGroupService.updateGroupTeam(teamId, teamName); verify(deviceGroupRepository, times(1)).saveAll(anyList()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java new file mode 100644 index 000000000..7be265b95 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java @@ -0,0 +1,29 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + deviceGroupService = new DeviceGroupService(); + deviceGroupService.setDeviceGroupRepository(deviceGroupRepository); + } + + @Test + public void testUpdateGroupTeam() { + String teamId = "teamId"; + String teamName = "teamName"; + + deviceGroupService.updateGroupTeam(teamId, teamName); + + verify(deviceGroupRepository, times(1)).saveAll(anyList()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java new file mode 100644 index 000000000..1b74000a5 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java @@ -0,0 +1,42 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; +import static org.junit.Assert.*; + +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + + private DeviceGroupService deviceGroupService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + deviceGroupService = new DeviceGroupService(); + deviceGroupService.setDeviceGroupRepository(deviceGroupRepository); + } + + @Test + public void testUpdateGroup() { + // Create a sample device group + DeviceGroup deviceGroup = new DeviceGroup(); + deviceGroup.setTeamId("teamId"); + deviceGroup.setTeamName("teamName"); + deviceGroup.setGroupName("groupName"); + deviceGroup.setOwner("owner"); + + // Mock the save method of deviceGroupRepository + when(deviceGroupRepository.save(deviceGroup)).thenReturn(deviceGroup); + + // Call the target function + DeviceGroup result = deviceGroupService.updateGroup(deviceGroup); + + // Verify that the save method of deviceGroupRepository is called with the correct argument + verify(deviceGroupRepository, times(1)).save(deviceGroup); + + // Verify that the returned result is the same as the input device group + assertEquals(deviceGroup, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java new file mode 100644 index 000000000..1427bde13 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java @@ -0,0 +1,25 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.anyString; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +private DeviceGroupService deviceGroupService; +@Before +public void setUp() { + deviceGroupService = new DeviceGroupService(); deviceGroupService.deviceGroupRepository = deviceGroupRepository; +} + +@Test +public void testGetGroupByName() { + String groupName = "TestGroup"; DeviceGroup expectedGroup = new DeviceGroup(); expectedGroup.setGroupName(groupName); Mockito.when(deviceGroupRepository.findById(anyString())).thenReturn(java.util.Optional.of(expectedGroup)); DeviceGroup actualGroup = deviceGroupService.getGroupByName(groupName); assertEquals(expectedGroup, actualGroup); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java new file mode 100644 index 000000000..01fc49adc --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java @@ -0,0 +1,40 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.anyString; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + + @Mock + private DeviceGroupRepository deviceGroupRepository; + + private DeviceGroupService deviceGroupService; + + @Before + public void setUp() { + deviceGroupService = new DeviceGroupService(); + deviceGroupService.deviceGroupRepository = deviceGroupRepository; + } + + @Test + public void testGetGroupByName() { + // Arrange + String groupName = "TestGroup"; + DeviceGroup expectedGroup = new DeviceGroup(); + expectedGroup.setGroupName(groupName); + + Mockito.when(deviceGroupRepository.findById(anyString())).thenReturn(java.util.Optional.of(expectedGroup)); + + // Act + DeviceGroup actualGroup = deviceGroupService.getGroupByName(groupName); + + // Assert + assertEquals(expectedGroup, actualGroup); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java new file mode 100644 index 000000000..46cbc8d64 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java @@ -0,0 +1,30 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import java.util.List; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Mock +private DeviceGroupRelationRepository deviceGroupRelationRepository; +@InjectMocks +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testDeleteGroup() { + String groupName = "TestGroup"; deviceGroupService.deleteGroup(groupName); Mockito.verify(deviceGroupRepository).deleteById(groupName); Mockito.verify(deviceGroupRelationRepository).deleteAllByGroupName(groupName); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java new file mode 100644 index 000000000..559ae2be3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java @@ -0,0 +1,35 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import java.util.List; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + @InjectMocks + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDeleteGroup() { + String groupName = "TestGroup"; + + deviceGroupService.deleteGroup(groupName); + + Mockito.verify(deviceGroupRepository).deleteById(groupName); + Mockito.verify(deviceGroupRelationRepository).deleteAllByGroupName(groupName); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java new file mode 100644 index 000000000..a564bedd2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java @@ -0,0 +1,30 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import com.microsoft.hydralab.common.entity.center.DeviceGroup; +import com.microsoft.hydralab.common.entity.center.DeviceGroupRelation; +import com.microsoft.hydralab.common.util.Const; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Mock +private DeviceGroupRelationRepository deviceGroupRelationRepository; +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + deviceGroupService = new DeviceGroupService(); deviceGroupService.deviceGroupRepository = deviceGroupRepository; deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; +} + +@Test +public void testSaveRelation() { + String groupName = "TestGroup"; String deviceSerial = "TestSerial"; DeviceGroupRelation expectedRelation = new DeviceGroupRelation(groupName, deviceSerial); Mockito.when(deviceGroupRelationRepository.save(Mockito.any(DeviceGroupRelation.class))).thenReturn(expectedRelation); DeviceGroupRelation actualRelation = deviceGroupService.saveRelation(groupName, deviceSerial); Mockito.verify(deviceGroupRelationRepository).save(Mockito.any(DeviceGroupRelation.class)); Mockito.verify(deviceGroupRelationRepository, Mockito.times(1)).save(Mockito.any(DeviceGroupRelation.class)); Mockito.verifyNoMoreInteractions(deviceGroupRelationRepository); Assert.assertEquals(expectedRelation, actualRelation); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java new file mode 100644 index 000000000..047d6f560 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java @@ -0,0 +1,49 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import com.microsoft.hydralab.common.entity.center.DeviceGroup; +import com.microsoft.hydralab.common.entity.center.DeviceGroupRelation; +import com.microsoft.hydralab.common.util.Const; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + + @Mock + private DeviceGroupRepository deviceGroupRepository; + + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + deviceGroupService = new DeviceGroupService(); + deviceGroupService.deviceGroupRepository = deviceGroupRepository; + deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; + } + + @Test + public void testSaveRelation() { + // Arrange + String groupName = "TestGroup"; + String deviceSerial = "TestSerial"; + DeviceGroupRelation expectedRelation = new DeviceGroupRelation(groupName, deviceSerial); + Mockito.when(deviceGroupRelationRepository.save(Mockito.any(DeviceGroupRelation.class))).thenReturn(expectedRelation); + + // Act + DeviceGroupRelation actualRelation = deviceGroupService.saveRelation(groupName, deviceSerial); + + // Assert + Mockito.verify(deviceGroupRelationRepository).save(Mockito.any(DeviceGroupRelation.class)); + Mockito.verify(deviceGroupRelationRepository, Mockito.times(1)).save(Mockito.any(DeviceGroupRelation.class)); + Mockito.verifyNoMoreInteractions(deviceGroupRelationRepository); + Assert.assertEquals(expectedRelation, actualRelation); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java new file mode 100644 index 000000000..14f11c46f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java @@ -0,0 +1,25 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRelationRepository deviceGroupRelationRepository; +@InjectMocks +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testDeleteRelation() { + String groupName = "TestGroup"; String deviceSerial = "TestSerial"; deviceGroupService.deleteRelation(groupName, deviceSerial); Mockito.verify(deviceGroupRelationRepository).delete(Mockito.any(DeviceGroupRelation.class)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java new file mode 100644 index 000000000..7ef273227 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java @@ -0,0 +1,35 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + + @InjectMocks + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDeleteRelation() { + // Arrange + String groupName = "TestGroup"; + String deviceSerial = "TestSerial"; + + // Act + deviceGroupService.deleteRelation(groupName, deviceSerial); + + // Assert + Mockito.verify(deviceGroupRelationRepository).delete(Mockito.any(DeviceGroupRelation.class)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java new file mode 100644 index 000000000..aeb497e89 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java @@ -0,0 +1,27 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Mock +private DeviceGroupRelationRepository deviceGroupRelationRepository; +@Mock +private SysUserService sysUserService; +@Mock +private UserTeamManagementService userTeamManagementService; +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); deviceGroupService = new DeviceGroupService(); deviceGroupService.deviceGroupRepository = deviceGroupRepository; deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; deviceGroupService.sysUserService = sysUserService; deviceGroupService.userTeamManagementService = userTeamManagementService; +} + +@Test +public void testGetRelation() { + String groupName = "group1"; String deviceSerial = "serial1"; DeviceGroupRelationId id = new DeviceGroupRelationId(); id.setDeviceSerial(deviceSerial); id.setGroupName(groupName); DeviceGroupRelation expectedRelation = new DeviceGroupRelation(groupName, deviceSerial); when(deviceGroupRelationRepository.findById(id)).thenReturn(java.util.Optional.of(expectedRelation)); DeviceGroupRelation actualRelation = deviceGroupService.getRelation(groupName, deviceSerial); assertEquals(expectedRelation, actualRelation); verify(deviceGroupRelationRepository, times(1)).findById(id); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java new file mode 100644 index 000000000..614d4ecb4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java @@ -0,0 +1,45 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + @Mock + private SysUserService sysUserService; + @Mock + private UserTeamManagementService userTeamManagementService; + + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + deviceGroupService = new DeviceGroupService(); + deviceGroupService.deviceGroupRepository = deviceGroupRepository; + deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; + deviceGroupService.sysUserService = sysUserService; + deviceGroupService.userTeamManagementService = userTeamManagementService; + } + + @Test + public void testGetRelation() { + String groupName = "group1"; + String deviceSerial = "serial1"; + DeviceGroupRelationId id = new DeviceGroupRelationId(); + id.setDeviceSerial(deviceSerial); + id.setGroupName(groupName); + DeviceGroupRelation expectedRelation = new DeviceGroupRelation(groupName, deviceSerial); + + when(deviceGroupRelationRepository.findById(id)).thenReturn(java.util.Optional.of(expectedRelation)); + + DeviceGroupRelation actualRelation = deviceGroupService.getRelation(groupName, deviceSerial); + + assertEquals(expectedRelation, actualRelation); + verify(deviceGroupRelationRepository, times(1)).findById(id); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java new file mode 100644 index 000000000..87704608b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java @@ -0,0 +1,48 @@ +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import com.microsoft.hydralab.common.entity.center.DeviceGroup; +import com.microsoft.hydralab.common.entity.center.DeviceGroupRelation; +import com.microsoft.hydralab.common.entity.center.DeviceGroupRelationId; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.CriteriaTypeUtil; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Mock +private DeviceGroupRelationRepository deviceGroupRelationRepository; +@Mock +private SysUserService sysUserService; +@Mock +private UserTeamManagementService userTeamManagementService; +private DeviceGroupService deviceGroupService; +@Before +public void setup() { + deviceGroupService = new DeviceGroupService(); deviceGroupService.deviceGroupRepository = deviceGroupRepository; deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; deviceGroupService.sysUserService = sysUserService; deviceGroupService.userTeamManagementService = userTeamManagementService; +} + +@Test +public void testCheckGroupAuthorization() { + SysUser requestor = new SysUser(); String groupName = "testGroup"; boolean teamAdminRequired = true; DeviceGroup deviceGroup = new DeviceGroup(); deviceGroup.setTeamId("testTeamId"); Mockito.when(deviceGroupRepository.findById(groupName)).thenReturn(deviceGroup); Mockito.when(sysUserService.checkUserAdmin(requestor)).thenReturn(false); Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, deviceGroup.getTeamId())).thenReturn(true); boolean result = deviceGroupService.checkGroupAuthorization(requestor, groupName, teamAdminRequired); Mockito.verify(deviceGroupRepository).findById(groupName); Mockito.verify(sysUserService).checkUserAdmin(requestor); Mockito.verify(userTeamManagementService).checkRequestorTeamAdmin(requestor, deviceGroup.getTeamId()); Mockito.verifyNoMoreInteractions(deviceGroupRepository, sysUserService, userTeamManagementService); Assert.assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java new file mode 100644 index 000000000..35ef727ad --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java @@ -0,0 +1,79 @@ +import com.microsoft.hydralab.center.repository.DeviceGroupRelationRepository; +import com.microsoft.hydralab.center.repository.DeviceGroupRepository; +import com.microsoft.hydralab.common.entity.center.DeviceGroup; +import com.microsoft.hydralab.common.entity.center.DeviceGroupRelation; +import com.microsoft.hydralab.common.entity.center.DeviceGroupRelationId; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.Const; +import com.microsoft.hydralab.common.util.CriteriaTypeUtil; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + + @Mock + private DeviceGroupRepository deviceGroupRepository; + + @Mock + private DeviceGroupRelationRepository deviceGroupRelationRepository; + + @Mock + private SysUserService sysUserService; + + @Mock + private UserTeamManagementService userTeamManagementService; + + private DeviceGroupService deviceGroupService; + + @Before + public void setup() { + deviceGroupService = new DeviceGroupService(); + deviceGroupService.deviceGroupRepository = deviceGroupRepository; + deviceGroupService.deviceGroupRelationRepository = deviceGroupRelationRepository; + deviceGroupService.sysUserService = sysUserService; + deviceGroupService.userTeamManagementService = userTeamManagementService; + } + + @Test + public void testCheckGroupAuthorization() { + // Arrange + SysUser requestor = new SysUser(); + String groupName = "testGroup"; + boolean teamAdminRequired = true; + + DeviceGroup deviceGroup = new DeviceGroup(); + deviceGroup.setTeamId("testTeamId"); + + Mockito.when(deviceGroupRepository.findById(groupName)).thenReturn(deviceGroup); + Mockito.when(sysUserService.checkUserAdmin(requestor)).thenReturn(false); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, deviceGroup.getTeamId())).thenReturn(true); + + // Act + boolean result = deviceGroupService.checkGroupAuthorization(requestor, groupName, teamAdminRequired); + + // Assert + Mockito.verify(deviceGroupRepository).findById(groupName); + Mockito.verify(sysUserService).checkUserAdmin(requestor); + Mockito.verify(userTeamManagementService).checkRequestorTeamAdmin(requestor, deviceGroup.getTeamId()); + Mockito.verifyNoMoreInteractions(deviceGroupRepository, sysUserService, userTeamManagementService); + + Assert.assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java new file mode 100644 index 000000000..bdec5bf23 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java @@ -0,0 +1,17 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Test +public void testCheckGroupName() { + String groupName = "testGroup"; int count = 1; when(deviceGroupRepository.countByGroupName(groupName)).thenReturn(count); DeviceGroupService deviceGroupService = new DeviceGroupService(); deviceGroupService.deviceGroupRepository = deviceGroupRepository; boolean result = deviceGroupService.checkGroupName(groupName); assertTrue(result); verify(deviceGroupRepository, times(1)).countByGroupName(groupName); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java new file mode 100644 index 000000000..cf162a657 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java @@ -0,0 +1,29 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + + @Test + public void testCheckGroupName() { + // Arrange + String groupName = "testGroup"; + int count = 1; + when(deviceGroupRepository.countByGroupName(groupName)).thenReturn(count); + DeviceGroupService deviceGroupService = new DeviceGroupService(); + deviceGroupService.deviceGroupRepository = deviceGroupRepository; + + // Act + boolean result = deviceGroupService.checkGroupName(groupName); + + // Assert + assertTrue(result); + verify(deviceGroupRepository, times(1)).countByGroupName(groupName); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java new file mode 100644 index 000000000..3c905cdca --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java @@ -0,0 +1,17 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { +@Mock +private DeviceGroupRepository deviceGroupRepository; +@Test +public void testIsGroupNameIllegal() { + DeviceGroupService deviceGroupService = new DeviceGroupService(); String groupName = "TestGroup"; boolean expected = false; boolean actual = deviceGroupService.isGroupNameIllegal(groupName); assertEquals(expected, actual); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java new file mode 100644 index 000000000..0c33cc8b9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java @@ -0,0 +1,23 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class DeviceGroupServiceTest { + @Mock + private DeviceGroupRepository deviceGroupRepository; + + @Test + public void testIsGroupNameIllegal() { + DeviceGroupService deviceGroupService = new DeviceGroupService(); + String groupName = "TestGroup"; + boolean expected = false; + + boolean actual = deviceGroupService.isGroupNameIllegal(groupName); + + assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java new file mode 100644 index 000000000..26c3211e0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java @@ -0,0 +1,36 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.test.context.SpringBootTest; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@SpringBootTest +public class RolePermissionManagementServiceTest { +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Mock +private SysPermissionService sysPermissionService; +@Mock +private SysRoleService sysRoleService; +private RolePermissionManagementService rolePermissionManagementService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); rolePermissionManagementService = new RolePermissionManagementService(); rolePermissionManagementService.rolePermissionRelationRepository = rolePermissionRelationRepository; rolePermissionManagementService.sysPermissionService = sysPermissionService; rolePermissionManagementService.sysRoleService = sysRoleService; +} + +@Test +public void testInitList() { + RolePermissionRelation relation1 = new RolePermissionRelation("role1", "permission1"); RolePermissionRelation relation2 = new RolePermissionRelation("role2", "permission2"); List relationList = List.of(relation1, relation2); SysPermission permission1 = new SysPermission("permission1"); SysPermission permission2 = new SysPermission("permission2"); when(rolePermissionRelationRepository.findAll()).thenReturn(relationList); when(sysPermissionService.queryPermissionById("permission1")).thenReturn(permission1); when(sysPermissionService.queryPermissionById("permission2")).thenReturn(permission2); rolePermissionManagementService.initList(); Map> rolePermissionListMap = rolePermissionManagementService.rolePermissionListMap; assertEquals(2, rolePermissionListMap.size()); Set role1Permissions = rolePermissionListMap.get("role1"); assertEquals(1, role1Permissions.size()); assertEquals(permission1, role1Permissions.iterator().next()); Set role2Permissions = rolePermissionListMap.get("role2"); assertEquals(1, role2Permissions.size()); assertEquals(permission2, role2Permissions.iterator().next()); verify(rolePermissionRelationRepository, times(1)).findAll(); verify(sysPermissionService, times(2)).queryPermissionById(anyString()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java new file mode 100644 index 000000000..5ff296565 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java @@ -0,0 +1,74 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@SpringBootTest +public class RolePermissionManagementServiceTest { + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Mock + private SysPermissionService sysPermissionService; + + @Mock + private SysRoleService sysRoleService; + + private RolePermissionManagementService rolePermissionManagementService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + rolePermissionManagementService = new RolePermissionManagementService(); + rolePermissionManagementService.rolePermissionRelationRepository = rolePermissionRelationRepository; + rolePermissionManagementService.sysPermissionService = sysPermissionService; + rolePermissionManagementService.sysRoleService = sysRoleService; + } + + @Test + public void testInitList() { + // Arrange + RolePermissionRelation relation1 = new RolePermissionRelation("role1", "permission1"); + RolePermissionRelation relation2 = new RolePermissionRelation("role2", "permission2"); + List relationList = List.of(relation1, relation2); + + SysPermission permission1 = new SysPermission("permission1"); + SysPermission permission2 = new SysPermission("permission2"); + + when(rolePermissionRelationRepository.findAll()).thenReturn(relationList); + when(sysPermissionService.queryPermissionById("permission1")).thenReturn(permission1); + when(sysPermissionService.queryPermissionById("permission2")).thenReturn(permission2); + + // Act + rolePermissionManagementService.initList(); + + // Assert + Map> rolePermissionListMap = rolePermissionManagementService.rolePermissionListMap; + assertEquals(2, rolePermissionListMap.size()); + + Set role1Permissions = rolePermissionListMap.get("role1"); + assertEquals(1, role1Permissions.size()); + assertEquals(permission1, role1Permissions.iterator().next()); + + Set role2Permissions = rolePermissionListMap.get("role2"); + assertEquals(1, role2Permissions.size()); + assertEquals(permission2, role2Permissions.iterator().next()); + + verify(rolePermissionRelationRepository, times(1)).findAll(); + verify(sysPermissionService, times(2)).queryPermissionById(anyString()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java new file mode 100644 index 000000000..4ca7ae3ce --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.HashSet; +import java.util.Set; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class RolePermissionManagementServiceTest { +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Mock +private SysPermissionService sysPermissionService; +@Mock +private SysRoleService sysRoleService; +private RolePermissionManagementService rolePermissionManagementService; +@Before +public void setUp() { + rolePermissionManagementService = new RolePermissionManagementService(); rolePermissionManagementService.rolePermissionRelationRepository = rolePermissionRelationRepository; rolePermissionManagementService.sysPermissionService = sysPermissionService; rolePermissionManagementService.sysRoleService = sysRoleService; +} + +@Test +public void testAddRolePermissionRelation() { + String roleId = "role1"; String permissionId = "permission1"; RolePermissionRelation rolePermissionRelation = new RolePermissionRelation(roleId, permissionId); Set permissions = new HashSet<>(); permissions.add(new SysPermission(permissionId)); when(sysPermissionService.queryPermissionById(permissionId)).thenReturn(new SysPermission(permissionId)); when(rolePermissionRelationRepository.save(rolePermissionRelation)).thenReturn(rolePermissionRelation); RolePermissionRelation result = rolePermissionManagementService.addRolePermissionRelation(roleId, permissionId); assertEquals(rolePermissionRelation, result); assertEquals(permissions, rolePermissionManagementService.rolePermissionListMap.get(roleId)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java new file mode 100644 index 000000000..e6b3cd98a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java @@ -0,0 +1,56 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class RolePermissionManagementServiceTest { + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Mock + private SysPermissionService sysPermissionService; + + @Mock + private SysRoleService sysRoleService; + + private RolePermissionManagementService rolePermissionManagementService; + + @Before + public void setUp() { + rolePermissionManagementService = new RolePermissionManagementService(); + rolePermissionManagementService.rolePermissionRelationRepository = rolePermissionRelationRepository; + rolePermissionManagementService.sysPermissionService = sysPermissionService; + rolePermissionManagementService.sysRoleService = sysRoleService; + } + + @Test + public void testAddRolePermissionRelation() { + String roleId = "role1"; + String permissionId = "permission1"; + + RolePermissionRelation rolePermissionRelation = new RolePermissionRelation(roleId, permissionId); + Set permissions = new HashSet<>(); + permissions.add(new SysPermission(permissionId)); + + when(sysPermissionService.queryPermissionById(permissionId)).thenReturn(new SysPermission(permissionId)); + when(rolePermissionRelationRepository.save(rolePermissionRelation)).thenReturn(rolePermissionRelation); + + RolePermissionRelation result = rolePermissionManagementService.addRolePermissionRelation(roleId, permissionId); + + assertEquals(rolePermissionRelation, result); + assertEquals(permissions, rolePermissionManagementService.rolePermissionListMap.get(roleId)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java new file mode 100644 index 000000000..1da6fcb0f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java @@ -0,0 +1,33 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.HashSet; +import java.util.Set; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class RolePermissionManagementServiceTest { +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Mock +private SysPermissionService sysPermissionService; +@InjectMocks +private RolePermissionManagementService rolePermissionManagementService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testDeleteRolePermissionRelation() { + RolePermissionRelation relation = new RolePermissionRelation("roleId", "permissionId"); Set permissions = new HashSet<>(); permissions.add(new SysPermission("permissionId", "permissionName")); when(rolePermissionManagementService.queryPermissionsByRole("roleId")).thenReturn(new ArrayList<>(permissions)); rolePermissionManagementService.deleteRolePermissionRelation(relation); verify(rolePermissionRelationRepository, times(1)).delete(relation); verify(sysPermissionService, times(1)).queryPermissionById("permissionId"); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java new file mode 100644 index 000000000..d5136974f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java @@ -0,0 +1,46 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.HashSet; +import java.util.Set; + +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class RolePermissionManagementServiceTest { + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Mock + private SysPermissionService sysPermissionService; + + @InjectMocks + private RolePermissionManagementService rolePermissionManagementService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDeleteRolePermissionRelation() { + RolePermissionRelation relation = new RolePermissionRelation("roleId", "permissionId"); + Set permissions = new HashSet<>(); + permissions.add(new SysPermission("permissionId", "permissionName")); + when(rolePermissionManagementService.queryPermissionsByRole("roleId")).thenReturn(new ArrayList<>(permissions)); + + rolePermissionManagementService.deleteRolePermissionRelation(relation); + + verify(rolePermissionRelationRepository, times(1)).delete(relation); + verify(sysPermissionService, times(1)).queryPermissionById("permissionId"); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java new file mode 100644 index 000000000..497b41ccb --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java @@ -0,0 +1,31 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class RolePermissionManagementServiceTest { +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@InjectMocks +private RolePermissionManagementService rolePermissionManagementService; +@Before +public void setup() { + SysPermission sysPermission = new SysPermission(); sysPermission.setId("permissionId"); sysPermission.setName("permissionName"); RolePermissionRelation rolePermissionRelation = new RolePermissionRelation(); rolePermissionRelation.setRoleId("roleId"); rolePermissionRelation.setPermissionId("permissionId"); when(rolePermissionRelationRepository.findByRoleIdAndPermissionId("roleId", "permissionId")) .thenReturn(Optional.of(rolePermissionRelation)); when(rolePermissionManagementService.queryRelation("roleId", "permissionId")) .thenReturn(rolePermissionRelation); +} + +@Test +public void testQueryRelation() { + RolePermissionRelation result = rolePermissionManagementService.queryRelation("roleId", "permissionId"); assertEquals("roleId", result.getRoleId()); assertEquals("permissionId", result.getPermissionId()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java new file mode 100644 index 000000000..e978825de --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java @@ -0,0 +1,48 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.common.entity.center.RolePermissionRelation; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class RolePermissionManagementServiceTest { + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @InjectMocks + private RolePermissionManagementService rolePermissionManagementService; + + @Before + public void setup() { + SysPermission sysPermission = new SysPermission(); + sysPermission.setId("permissionId"); + sysPermission.setName("permissionName"); + + RolePermissionRelation rolePermissionRelation = new RolePermissionRelation(); + rolePermissionRelation.setRoleId("roleId"); + rolePermissionRelation.setPermissionId("permissionId"); + + when(rolePermissionRelationRepository.findByRoleIdAndPermissionId("roleId", "permissionId")) + .thenReturn(Optional.of(rolePermissionRelation)); + when(rolePermissionManagementService.queryRelation("roleId", "permissionId")) + .thenReturn(rolePermissionRelation); + } + + @Test + public void testQueryRelation() { + RolePermissionRelation result = rolePermissionManagementService.queryRelation("roleId", "permissionId"); + assertEquals("roleId", result.getRoleId()); + assertEquals("permissionId", result.getPermissionId()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java new file mode 100644 index 000000000..254ffe253 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java @@ -0,0 +1,71 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@Mock +private SysTeamService sysTeamService; +@Mock +private AuthUtil authUtil; +@Mock +private RolePermissionManagementService rolePermissionManagementService; +@Mock +private UserTeamManagementService userTeamManagementService; +@Mock +private SessionManageService sessionManageService; +@Mock +private SessionRegistry sessionRegistry; +@InjectMocks +private SecurityUserService securityUserService; +@Mock +private HttpSession session; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testLoadUserAuthentication() { + String mailAddress = "test@example.com"; String accessToken = "1234567890"; SysUser user = new SysUser(); user.setMailAddress(mailAddress); user.setAccessToken(accessToken); List authorities = new ArrayList<>(); authorities.add(new SimpleGrantedAuthority("ROLE_USER")); when(sysUserService.queryUserByMailAddress(mailAddress)).thenReturn(user); when(sysRoleService.getOrCreateDefaultRole(anyString(), anyInt())).thenReturn(new SysRole()); when(sysTeamService.getOrCreateDefaultTeam(anyString())).thenReturn(new SysTeam()); when(userTeamManagementService.addUserTeamRelation(anyString(), any(SysUser.class), anyBoolean())).thenReturn(new UserTeamRelation()); when(sysRoleService.queryRoleById(anyString())).thenReturn(new SysRole()); when(rolePermissionManagementService.queryPermissionsByRole(anyString())).thenReturn(new ArrayList<>()); Authentication result = securityUserService.loadUserAuthentication(mailAddress, accessToken); assertEquals(user, result); assertEquals(authorities, user.getAuthorities()); verify(sysUserService, times(1)).queryUserByMailAddress(mailAddress); verify(sysRoleService, times(1)).getOrCreateDefaultRole(anyString(), anyInt()); verify(sysTeamService, times(1)).getOrCreateDefaultTeam(anyString()); verify(userTeamManagementService, times(1)).addUserTeamRelation(anyString(), any(SysUser.class), anyBoolean()); verify(sysRoleService, times(1)).queryRoleById(anyString()); verify(rolePermissionManagementService, times(1)).queryPermissionsByRole(anyString()); +} + +@Test +public void testAddSessionAndUserAuth() { + String mailAddress = "test@example.com"; String accessToken = "1234567890"; Authentication authObj = mock(Authentication.class); when(securityUserService.loadUserAuthentication(mailAddress, accessToken)).thenReturn(authObj); securityUserService.addSessionAndUserAuth(mailAddress, accessToken, session); verify(sessionManageService, times(1)).putUserSession(mailAddress, session); verify(securityUserService, times(1)).loadUserAuthentication(mailAddress, accessToken); verify(sessionRegistry, times(1)).registerNewSession(session.getId(), mailAddress); assertEquals(authObj, SecurityContextHolder.getContext().getAuthentication()); +} + +@Test +public void testAddDefaultUserSession() { + Authentication authObj = mock(Authentication.class); when(securityUserService.loadUserAuthentication(anyString(), anyString())).thenReturn(authObj); securityUserService.addDefaultUserSession(session); verify(sessionManageService, times(1)).putUserSession(anyString(), eq(session)); verify(securityUserService, times(1)).loadUserAuthentication(anyString(), anyString()); verify(sessionRegistry, times(1)).registerNewSession(session.getId(), anyString()); assertEquals(authObj, SecurityContextHolder.getContext().getAuthentication()); +} + +@Test +public void testReloadUserAuthentication() { + String mailAddress = "test@example.com"; String updateContent = "default_team"; HttpSession session1 = mock(HttpSession.class); HttpSession session2 = mock(HttpSession.class); List sessions = new ArrayList<>(); sessions.add(session1); sessions.add(session2); when(sessionManageService.getUserSessions(mailAddress)).thenReturn(sessions); securityUserService.reloadUserAuthentication(mailAddress, updateContent); verify(sessionManageService, times(1)).getUserSessions(mailAddress); verify(securityUserService, times(1)).reloadUserAuthenticationToSession(session1, updateContent); verify(securityUserService, times(1)).reloadUserAuthenticationToSession(session2, updateContent); +} + +@Test +public void testReloadUserAuthenticationToSession() { + String updateContent = "default_team"; HttpSession session = mock(HttpSession.class); SecurityContext securityContext = mock(SecurityContext.class); Authentication authentication = mock(Authentication.class); SysUser authUser = mock(SysUser.class); when(session.getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)).thenReturn(securityContext); when(securityContext.getAuthentication()).thenReturn(authentication); when(authentication instanceof SysUser).thenReturn(true); when(authentication.getPrincipal()).thenReturn(authUser); securityUserService.reloadUserAuthenticationToSession(session, updateContent); verify(session, times(1)).getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY); verify(securityContext, times(1)).getAuthentication(); verify(authentication, times(1)).getPrincipal(); verify(authUser, times(1)).getMailAddress(); verify(authUser, times(1)).getAccessToken(); verify(securityUserService, times(1)).loadUserAuthentication(authUser.getMailAddress(), authUser.getAccessToken()); verify(securityContext, times(1)).setAuthentication(any(Authentication.class)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java new file mode 100644 index 000000000..2a34ccfcf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java @@ -0,0 +1,163 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; + +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { + + @Mock + private SysUserService sysUserService; + @Mock + private SysRoleService sysRoleService; + @Mock + private SysTeamService sysTeamService; + @Mock + private AuthUtil authUtil; + @Mock + private RolePermissionManagementService rolePermissionManagementService; + @Mock + private UserTeamManagementService userTeamManagementService; + @Mock + private SessionManageService sessionManageService; + @Mock + private SessionRegistry sessionRegistry; + + @InjectMocks + private SecurityUserService securityUserService; + + @Mock + private HttpSession session; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testLoadUserAuthentication() { + // Arrange + String mailAddress = "test@example.com"; + String accessToken = "1234567890"; + SysUser user = new SysUser(); + user.setMailAddress(mailAddress); + user.setAccessToken(accessToken); + List authorities = new ArrayList<>(); + authorities.add(new SimpleGrantedAuthority("ROLE_USER")); + when(sysUserService.queryUserByMailAddress(mailAddress)).thenReturn(user); + when(sysRoleService.getOrCreateDefaultRole(anyString(), anyInt())).thenReturn(new SysRole()); + when(sysTeamService.getOrCreateDefaultTeam(anyString())).thenReturn(new SysTeam()); + when(userTeamManagementService.addUserTeamRelation(anyString(), any(SysUser.class), anyBoolean())).thenReturn(new UserTeamRelation()); + when(sysRoleService.queryRoleById(anyString())).thenReturn(new SysRole()); + when(rolePermissionManagementService.queryPermissionsByRole(anyString())).thenReturn(new ArrayList<>()); + + // Act + Authentication result = securityUserService.loadUserAuthentication(mailAddress, accessToken); + + // Assert + assertEquals(user, result); + assertEquals(authorities, user.getAuthorities()); + verify(sysUserService, times(1)).queryUserByMailAddress(mailAddress); + verify(sysRoleService, times(1)).getOrCreateDefaultRole(anyString(), anyInt()); + verify(sysTeamService, times(1)).getOrCreateDefaultTeam(anyString()); + verify(userTeamManagementService, times(1)).addUserTeamRelation(anyString(), any(SysUser.class), anyBoolean()); + verify(sysRoleService, times(1)).queryRoleById(anyString()); + verify(rolePermissionManagementService, times(1)).queryPermissionsByRole(anyString()); + } + + @Test + public void testAddSessionAndUserAuth() { + // Arrange + String mailAddress = "test@example.com"; + String accessToken = "1234567890"; + Authentication authObj = mock(Authentication.class); + when(securityUserService.loadUserAuthentication(mailAddress, accessToken)).thenReturn(authObj); + + // Act + securityUserService.addSessionAndUserAuth(mailAddress, accessToken, session); + + // Assert + verify(sessionManageService, times(1)).putUserSession(mailAddress, session); + verify(securityUserService, times(1)).loadUserAuthentication(mailAddress, accessToken); + verify(sessionRegistry, times(1)).registerNewSession(session.getId(), mailAddress); + assertEquals(authObj, SecurityContextHolder.getContext().getAuthentication()); + } + + @Test + public void testAddDefaultUserSession() { + // Arrange + Authentication authObj = mock(Authentication.class); + when(securityUserService.loadUserAuthentication(anyString(), anyString())).thenReturn(authObj); + + // Act + securityUserService.addDefaultUserSession(session); + + // Assert + verify(sessionManageService, times(1)).putUserSession(anyString(), eq(session)); + verify(securityUserService, times(1)).loadUserAuthentication(anyString(), anyString()); + verify(sessionRegistry, times(1)).registerNewSession(session.getId(), anyString()); + assertEquals(authObj, SecurityContextHolder.getContext().getAuthentication()); + } + + @Test + public void testReloadUserAuthentication() { + // Arrange + String mailAddress = "test@example.com"; + String updateContent = "default_team"; + HttpSession session1 = mock(HttpSession.class); + HttpSession session2 = mock(HttpSession.class); + List sessions = new ArrayList<>(); + sessions.add(session1); + sessions.add(session2); + when(sessionManageService.getUserSessions(mailAddress)).thenReturn(sessions); + + // Act + securityUserService.reloadUserAuthentication(mailAddress, updateContent); + + // Assert + verify(sessionManageService, times(1)).getUserSessions(mailAddress); + verify(securityUserService, times(1)).reloadUserAuthenticationToSession(session1, updateContent); + verify(securityUserService, times(1)).reloadUserAuthenticationToSession(session2, updateContent); + } + + @Test + public void testReloadUserAuthenticationToSession() { + // Arrange + String updateContent = "default_team"; + HttpSession session = mock(HttpSession.class); + SecurityContext securityContext = mock(SecurityContext.class); + Authentication authentication = mock(Authentication.class); + SysUser authUser = mock(SysUser.class); + when(session.getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)).thenReturn(securityContext); + when(securityContext.getAuthentication()).thenReturn(authentication); + when(authentication instanceof SysUser).thenReturn(true); + when(authentication.getPrincipal()).thenReturn(authUser); + + // Act + securityUserService.reloadUserAuthenticationToSession(session, updateContent); + + // Assert + verify(session, times(1)).getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY); + verify(securityContext, times(1)).getAuthentication(); + verify(authentication, times(1)).getPrincipal(); + verify(authUser, times(1)).getMailAddress(); + verify(authUser, times(1)).getAccessToken(); + verify(securityUserService, times(1)).loadUserAuthentication(authUser.getMailAddress(), authUser.getAccessToken()); + verify(securityContext, times(1)).setAuthentication(any(Authentication.class)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java new file mode 100644 index 000000000..085c3be99 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java @@ -0,0 +1,45 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.session.SessionRegistry; +import javax.servlet.http.HttpSession; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@Mock +private SysTeamService sysTeamService; +@Mock +private AuthUtil authUtil; +@Mock +private RolePermissionManagementService rolePermissionManagementService; +@Mock +private UserTeamManagementService userTeamManagementService; +@Mock +private SessionManageService sessionManageService; +@Mock +private SessionRegistry sessionRegistry; +@InjectMocks +private SecurityUserService securityUserService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testAddSessionAndUserAuth() { + String mailAddress = "test@example.com"; String accessToken = "123456"; HttpSession session = mock(HttpSession.class); SysUser user = new SysUser(); user.setMailAddress(mailAddress); user.setAccessToken(accessToken); when(sysUserService.queryUserByMailAddress(mailAddress)).thenReturn(null); when(authUtil.getLoginUserDisplayName(accessToken)).thenReturn("Test User"); when(sysRoleService.getOrCreateDefaultRole(Const.DefaultRole.USER, 100)).thenReturn(new SysRole()); when(sysTeamService.getOrCreateDefaultTeam(Const.DefaultTeam.DEFAULT_TEAM_NAME)).thenReturn(new SysTeam()); when(sysUserService.createUserWithDefaultRole(anyString(), anyString(), anyInt(), anyString())).thenReturn(user); securityUserService.addSessionAndUserAuth(mailAddress, accessToken, session); verify(sessionManageService, times(1)).putUserSession(mailAddress, session); verify(sessionRegistry, times(1)).registerNewSession(session.getId(), mailAddress); verify(sysUserService, times(1)).queryUserByMailAddress(mailAddress); verify(authUtil, times(1)).getLoginUserDisplayName(accessToken); verify(sysRoleService, times(1)).getOrCreateDefaultRole(Const.DefaultRole.USER, 100); verify(sysTeamService, times(1)).getOrCreateDefaultTeam(Const.DefaultTeam.DEFAULT_TEAM_NAME); verify(sysUserService, times(1)).createUserWithDefaultRole(anyString(), anyString(), anyInt(), anyString()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java new file mode 100644 index 000000000..735dab5c3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java @@ -0,0 +1,71 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.session.SessionRegistry; + +import javax.servlet.http.HttpSession; + +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { + + @Mock + private SysUserService sysUserService; + @Mock + private SysRoleService sysRoleService; + @Mock + private SysTeamService sysTeamService; + @Mock + private AuthUtil authUtil; + @Mock + private RolePermissionManagementService rolePermissionManagementService; + @Mock + private UserTeamManagementService userTeamManagementService; + @Mock + private SessionManageService sessionManageService; + @Mock + private SessionRegistry sessionRegistry; + + @InjectMocks + private SecurityUserService securityUserService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testAddSessionAndUserAuth() { + String mailAddress = "test@example.com"; + String accessToken = "123456"; + HttpSession session = mock(HttpSession.class); + + SysUser user = new SysUser(); + user.setMailAddress(mailAddress); + user.setAccessToken(accessToken); + + when(sysUserService.queryUserByMailAddress(mailAddress)).thenReturn(null); + when(authUtil.getLoginUserDisplayName(accessToken)).thenReturn("Test User"); + when(sysRoleService.getOrCreateDefaultRole(Const.DefaultRole.USER, 100)).thenReturn(new SysRole()); + when(sysTeamService.getOrCreateDefaultTeam(Const.DefaultTeam.DEFAULT_TEAM_NAME)).thenReturn(new SysTeam()); + when(sysUserService.createUserWithDefaultRole(anyString(), anyString(), anyInt(), anyString())).thenReturn(user); + + securityUserService.addSessionAndUserAuth(mailAddress, accessToken, session); + + verify(sessionManageService, times(1)).putUserSession(mailAddress, session); + verify(sessionRegistry, times(1)).registerNewSession(session.getId(), mailAddress); + verify(sysUserService, times(1)).queryUserByMailAddress(mailAddress); + verify(authUtil, times(1)).getLoginUserDisplayName(accessToken); + verify(sysRoleService, times(1)).getOrCreateDefaultRole(Const.DefaultRole.USER, 100); + verify(sysTeamService, times(1)).getOrCreateDefaultTeam(Const.DefaultTeam.DEFAULT_TEAM_NAME); + verify(sysUserService, times(1)).createUserWithDefaultRole(anyString(), anyString(), anyInt(), anyString()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java new file mode 100644 index 000000000..d37233edf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java @@ -0,0 +1,29 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.session.SessionRegistry; +import javax.servlet.http.HttpSession; +import static org.mockito.Mockito.*; + +public class SecurityUserServiceTest { +@Mock +private HttpSession mockSession; +@Mock +private SessionRegistry mockSessionRegistry; +@Mock +private Authentication mockAuthentication; +private SecurityUserService securityUserService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); securityUserService = new SecurityUserService(); SecurityContextHolder.getContext().setAuthentication(mockAuthentication); securityUserService.sessionRegistry = mockSessionRegistry; +} + +@Test +public void testAddDefaultUserSession() { + securityUserService.addDefaultUserSession(mockSession); verify(securityUserService.sessionManageService).putUserSession(eq("defaultUser"), eq(mockSession)); verify(securityUserService).loadUserAuthentication(eq("defaultUser"), isNull()); verify(mockSessionRegistry).registerNewSession(eq(mockSession.getId()), eq("defaultUser")); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java new file mode 100644 index 000000000..1ab3e8f90 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java @@ -0,0 +1,41 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.session.SessionRegistry; + +import javax.servlet.http.HttpSession; + +import static org.mockito.Mockito.*; + +public class SecurityUserServiceTest { + + @Mock + private HttpSession mockSession; + + @Mock + private SessionRegistry mockSessionRegistry; + + @Mock + private Authentication mockAuthentication; + + private SecurityUserService securityUserService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + securityUserService = new SecurityUserService(); + SecurityContextHolder.getContext().setAuthentication(mockAuthentication); + securityUserService.sessionRegistry = mockSessionRegistry; + } + + @Test + public void testAddDefaultUserSession() { + securityUserService.addDefaultUserSession(mockSession); + verify(securityUserService.sessionManageService).putUserSession(eq("defaultUser"), eq(mockSession)); + verify(securityUserService).loadUserAuthentication(eq("defaultUser"), isNull()); + verify(mockSessionRegistry).registerNewSession(eq(mockSession.getId()), eq("defaultUser")); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java new file mode 100644 index 000000000..03a006837 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java @@ -0,0 +1,49 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.mock.web.MockHttpSession; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { +@Mock +private HttpSession session; +@Mock +private SessionManageService sessionManageService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@Mock +private SysTeamService sysTeamService; +@Mock +private AuthUtil authUtil; +@Mock +private RolePermissionManagementService rolePermissionManagementService; +@Mock +private UserTeamManagementService userTeamManagementService; +@Mock +private SessionRegistry sessionRegistry; +@InjectMocks +private SecurityUserService securityUserService; +@Before +public void setup() { + SecurityContext securityContext = Mockito.mock(SecurityContext.class); Mockito.when(session.getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)) .thenReturn(securityContext); SecurityContextHolder.setContext(securityContext); +} + +@Test +public void testReloadUserAuthentication() { + String mailAddress = "test@example.com"; String updateContent = "default_team"; SysUser authUser = new SysUser(); authUser.setMailAddress(mailAddress); authUser.setAccessToken("test_token"); Authentication authentication = Mockito.mock(Authentication.class); Mockito.when(authentication instanceof SysUser).thenReturn(true); Mockito.when(authentication.getPrincipal()).thenReturn(authUser); Mockito.when(sessionManageService.getUserSessions(mailAddress)).thenReturn(new ArrayList<>()); securityUserService.reloadUserAuthentication(mailAddress, updateContent); Mockito.verify(sessionManageService, Mockito.times(1)).getUserSessions(mailAddress); Mockito.verify(session, Mockito.never()).setAttribute(Mockito.anyString(), Mockito.any()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java new file mode 100644 index 000000000..3126460f9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java @@ -0,0 +1,79 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.mock.web.MockHttpSession; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.web.context.HttpSessionSecurityContextRepository; + +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.List; + +@RunWith(MockitoJUnitRunner.class) +public class SecurityUserServiceTest { + + @Mock + private HttpSession session; + + @Mock + private SessionManageService sessionManageService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private AuthUtil authUtil; + + @Mock + private RolePermissionManagementService rolePermissionManagementService; + + @Mock + private UserTeamManagementService userTeamManagementService; + + @Mock + private SessionRegistry sessionRegistry; + + @InjectMocks + private SecurityUserService securityUserService; + + @Before + public void setup() { + SecurityContext securityContext = Mockito.mock(SecurityContext.class); + Mockito.when(session.getAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)) + .thenReturn(securityContext); + SecurityContextHolder.setContext(securityContext); + } + + @Test + public void testReloadUserAuthentication() { + String mailAddress = "test@example.com"; + String updateContent = "default_team"; + + SysUser authUser = new SysUser(); + authUser.setMailAddress(mailAddress); + authUser.setAccessToken("test_token"); + + Authentication authentication = Mockito.mock(Authentication.class); + Mockito.when(authentication instanceof SysUser).thenReturn(true); + Mockito.when(authentication.getPrincipal()).thenReturn(authUser); + + Mockito.when(sessionManageService.getUserSessions(mailAddress)).thenReturn(new ArrayList<>()); + + securityUserService.reloadUserAuthentication(mailAddress, updateContent); + + Mockito.verify(sessionManageService, Mockito.times(1)).getUserSessions(mailAddress); + Mockito.verify(session, Mockito.never()).setAttribute(Mockito.anyString(), Mockito.any()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java new file mode 100644 index 000000000..16be287d7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java @@ -0,0 +1,22 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpSession; + +public class SecurityUserServiceTest { +@Mock +private HttpSession session; +private SecurityUserService securityUserService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); securityUserService = new SecurityUserService(); +} + +@Test +public void testReloadUserAuthenticationToSession() { + String updateContent = "updateContent"; securityUserService.reloadUserAuthenticationToSession(session, updateContent); Mockito.verify(session, Mockito.times(1)).getAttribute(Mockito.eq(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)); Mockito.verify(session, Mockito.times(1)).setAttribute(Mockito.eq(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY), Mockito.any()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java new file mode 100644 index 000000000..89aa98223 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java @@ -0,0 +1,23 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import javax.servlet.http.HttpSession; +public class SecurityUserServiceTest { + @Mock + private HttpSession session; + private SecurityUserService securityUserService; + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + securityUserService = new SecurityUserService(); + } + @Test + public void testReloadUserAuthenticationToSession() { + String updateContent = "updateContent"; + securityUserService.reloadUserAuthenticationToSession(session, updateContent); + Mockito.verify(session, Mockito.times(1)).getAttribute(Mockito.eq(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY)); + Mockito.verify(session, Mockito.times(1)).setAttribute(Mockito.eq(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY), Mockito.any()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java new file mode 100644 index 000000000..64f769a0e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java @@ -0,0 +1,31 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.session.SessionInformation; +import org.springframework.security.core.session.SessionRegistry; +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SessionManageServiceTest { +private SessionManageService sessionManageService; +@Mock +private SessionRegistry sessionRegistry; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); sessionManageService = new SessionManageService(); sessionManageService.sessionRegistry = sessionRegistry; +} + +@Test +public void testPutUserSession() { + String mailAddress = "test@example.com"; HttpSession httpSession = mock(HttpSession.class); SessionInformation sessionInformation = mock(SessionInformation.class); List userSessions = new ArrayList<>(); userSessions.add(httpSession); when(sessionRegistry.getAllSessions(mailAddress, false)).thenReturn(new ArrayList<>()); when(httpSession.getId()).thenReturn("12345"); when(sessionInformation.getSessionId()).thenReturn("12345"); sessionManageService.putUserSession(mailAddress, httpSession); verify(sessionRegistry, times(1)).getAllSessions(mailAddress, false); verify(httpSession, times(1)).getId(); verify(sessionInformation, times(1)).getSessionId(); assertEquals(userSessions, sessionManageService.getUserSessions(mailAddress)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java new file mode 100644 index 000000000..37702f6ce --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java @@ -0,0 +1,52 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.security.core.session.SessionInformation; +import org.springframework.security.core.session.SessionRegistry; +import javax.servlet.http.HttpSession; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SessionManageServiceTest { + + private SessionManageService sessionManageService; + + @Mock + private SessionRegistry sessionRegistry; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + sessionManageService = new SessionManageService(); + sessionManageService.sessionRegistry = sessionRegistry; + } + + @Test + public void testPutUserSession() { + String mailAddress = "test@example.com"; + HttpSession httpSession = mock(HttpSession.class); + SessionInformation sessionInformation = mock(SessionInformation.class); + List userSessions = new ArrayList<>(); + userSessions.add(httpSession); + + when(sessionRegistry.getAllSessions(mailAddress, false)).thenReturn(new ArrayList<>()); + when(httpSession.getId()).thenReturn("12345"); + when(sessionInformation.getSessionId()).thenReturn("12345"); + + sessionManageService.putUserSession(mailAddress, httpSession); + + verify(sessionRegistry, times(1)).getAllSessions(mailAddress, false); + verify(httpSession, times(1)).getId(); + verify(sessionInformation, times(1)).getSessionId(); + + assertEquals(userSessions, sessionManageService.getUserSessions(mailAddress)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java new file mode 100644 index 000000000..f7d32faa7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +public class StorageTokenManageServiceTest { +@Mock +private StorageServiceClientProxy storageServiceClientProxy; +private StorageTokenManageService storageTokenManageService; +private ConcurrentMap accessTokenMap; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); storageTokenManageService = new StorageTokenManageService(); storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; accessTokenMap = new ConcurrentHashMap<>(); storageTokenManageService.accessTokenMap = accessTokenMap; +} + +@Test +public void testGenerateReadToken() { + String uniqueId = "123"; AccessToken accessToken = new AccessToken(); accessTokenMap.put(uniqueId, accessToken); AccessToken result = storageTokenManageService.generateReadToken(uniqueId); Assert.assertEquals(accessToken, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java new file mode 100644 index 000000000..699b03b46 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java @@ -0,0 +1,46 @@ +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +public class StorageTokenManageServiceTest { + + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + + private StorageTokenManageService storageTokenManageService; + + private ConcurrentMap accessTokenMap; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + storageTokenManageService = new StorageTokenManageService(); + storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; + accessTokenMap = new ConcurrentHashMap<>(); + storageTokenManageService.accessTokenMap = accessTokenMap; + } + + @Test + public void testGenerateReadToken() { + // Arrange + String uniqueId = "123"; + + AccessToken accessToken = new AccessToken(); + accessTokenMap.put(uniqueId, accessToken); + + // Act + AccessToken result = storageTokenManageService.generateReadToken(uniqueId); + + // Assert + Assert.assertEquals(accessToken, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java new file mode 100644 index 000000000..f0df8286a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +public class StorageTokenManageServiceTest { +@Mock +private StorageServiceClientProxy storageServiceClientProxy; +private StorageTokenManageService storageTokenManageService; +private ConcurrentMap accessTokenMap; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); storageTokenManageService = new StorageTokenManageService(); storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; accessTokenMap = new ConcurrentHashMap<>(); storageTokenManageService.accessTokenMap = accessTokenMap; +} + +@Test +public void testGenerateWriteToken() { + String uniqueId = "testUniqueId"; AccessToken accessToken = new AccessToken(); accessTokenMap.put(uniqueId, accessToken); Mockito.when(storageServiceClientProxy.isAccessTokenExpired(accessToken)).thenReturn(false); Mockito.when(storageServiceClientProxy.generateAccessToken(Const.FilePermission.WRITE)).thenReturn(accessToken); AccessToken result = storageTokenManageService.generateWriteToken(uniqueId); Assert.assertNotNull(result); Assert.assertEquals(accessToken, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java new file mode 100644 index 000000000..927283058 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java @@ -0,0 +1,50 @@ +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +public class StorageTokenManageServiceTest { + + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + + private StorageTokenManageService storageTokenManageService; + + private ConcurrentMap accessTokenMap; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + storageTokenManageService = new StorageTokenManageService(); + storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; + accessTokenMap = new ConcurrentHashMap<>(); + storageTokenManageService.accessTokenMap = accessTokenMap; + } + + @Test + public void testGenerateWriteToken() { + // Arrange + String uniqueId = "testUniqueId"; + AccessToken accessToken = new AccessToken(); + accessTokenMap.put(uniqueId, accessToken); + + // Mock the behavior of storageServiceClientProxy + Mockito.when(storageServiceClientProxy.isAccessTokenExpired(accessToken)).thenReturn(false); + Mockito.when(storageServiceClientProxy.generateAccessToken(Const.FilePermission.WRITE)).thenReturn(accessToken); + + // Act + AccessToken result = storageTokenManageService.generateWriteToken(uniqueId); + + // Assert + Assert.assertNotNull(result); + Assert.assertEquals(accessToken, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java new file mode 100644 index 000000000..1c36bd7ed --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java @@ -0,0 +1,26 @@ +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import static org.mockito.Mockito.when; + +public class StorageTokenManageServiceTest { +private StorageTokenManageService storageTokenManageService; +@Mock +private StorageServiceClientProxy storageServiceClientProxy; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); storageTokenManageService = new StorageTokenManageService(); storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; +} + +@Test +public void testValidateAccessToken() { + String accessToken = "validAccessToken"; boolean expected = true; boolean actual = storageTokenManageService.validateAccessToken(accessToken); Assert.assertEquals(expected, actual); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java new file mode 100644 index 000000000..ea8b0a6f3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.common.file.AccessToken; +import com.microsoft.hydralab.common.file.StorageServiceClientProxy; +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import static org.mockito.Mockito.when; + +public class StorageTokenManageServiceTest { + private StorageTokenManageService storageTokenManageService; + + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + storageTokenManageService = new StorageTokenManageService(); + storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; + } + + @Test + public void testValidateAccessToken() { + String accessToken = "validAccessToken"; + boolean expected = true; + + boolean actual = storageTokenManageService.validateAccessToken(accessToken); + + Assert.assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java new file mode 100644 index 000000000..ab7ca734e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java @@ -0,0 +1,26 @@ +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class StorageTokenManageServiceTest { +@Mock +private StorageServiceClientProxy storageServiceClientProxy; +private StorageTokenManageService storageTokenManageService; +@Before +public void setUp() { + storageTokenManageService = new StorageTokenManageService(); storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; +} + +@Test +public void testValidateTokenVal() { + String token = "exampleToken"; boolean expectedResult = true; boolean actualResult = storageTokenManageService.validateTokenVal(token); Assert.assertEquals(expectedResult, actualResult); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java new file mode 100644 index 000000000..f7220f12d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.common.util.Const; +import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class StorageTokenManageServiceTest { + + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + + private StorageTokenManageService storageTokenManageService; + + @Before + public void setUp() { + storageTokenManageService = new StorageTokenManageService(); + storageTokenManageService.storageServiceClientProxy = storageServiceClientProxy; + } + + @Test + public void testValidateTokenVal() { + String token = "exampleToken"; + boolean expectedResult = true; + + boolean actualResult = storageTokenManageService.validateTokenVal(token); + + Assert.assertEquals(expectedResult, actualResult); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java new file mode 100644 index 000000000..6ce058de7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java @@ -0,0 +1,32 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.mockito.Mockito.*; + +public class SysPermissionServiceTest { +@Mock +private SysPermissionRepository sysPermissionRepository; +@Mock +private RolePermissionRelationRepository permissionPermissionRelationRepository; +private SysPermissionService sysPermissionService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysPermissionService = new SysPermissionService(sysPermissionRepository, permissionPermissionRelationRepository); +} + +@Test +public void testInitList() { + List permissionList = new ArrayList<>(); SysPermission permission1 = new SysPermission(); permission1.setPermissionId("1"); permission1.setPermissionType("Type1"); permission1.setPermissionContent("Content1"); permission1.setCreateTime(new Date()); permission1.setUpdateTime(new Date()); permissionList.add(permission1); when(sysPermissionRepository.findAll()).thenReturn(permissionList); sysPermissionService.initList(); verify(sysPermissionRepository, times(1)).findAll(); verify(sysPermissionRepository, times(1)).save(permission1); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java new file mode 100644 index 000000000..038329409 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java @@ -0,0 +1,50 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.mockito.Mockito.*; + +public class SysPermissionServiceTest { + @Mock + private SysPermissionRepository sysPermissionRepository; + @Mock + private RolePermissionRelationRepository permissionPermissionRelationRepository; + + private SysPermissionService sysPermissionService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysPermissionService = new SysPermissionService(sysPermissionRepository, permissionPermissionRelationRepository); + } + + @Test + public void testInitList() { + // Arrange + List permissionList = new ArrayList<>(); + SysPermission permission1 = new SysPermission(); + permission1.setPermissionId("1"); + permission1.setPermissionType("Type1"); + permission1.setPermissionContent("Content1"); + permission1.setCreateTime(new Date()); + permission1.setUpdateTime(new Date()); + permissionList.add(permission1); + when(sysPermissionRepository.findAll()).thenReturn(permissionList); + + // Act + sysPermissionService.initList(); + + // Assert + verify(sysPermissionRepository, times(1)).findAll(); + verify(sysPermissionRepository, times(1)).save(permission1); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java new file mode 100644 index 000000000..e7bf75c8c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { +@Mock +private SysPermissionRepository sysPermissionRepository; +@Mock +private RolePermissionRelationRepository permissionPermissionRelationRepository; +private SysPermissionService sysPermissionService; +private Map permissionListMap; +@Before +public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); sysPermissionService = new SysPermissionService(); sysPermissionService.sysPermissionRepository = sysPermissionRepository; sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; sysPermissionService.permissionListMap = permissionListMap; +} + +@Test +public void testCreatePermission() { + String permissionType = "type"; String permissionContent = "content"; SysPermission sysPermission = new SysPermission(); sysPermission.setPermissionType(permissionType); sysPermission.setPermissionContent(permissionContent); sysPermission.setCreateTime(new Date()); sysPermission.setUpdateTime(new Date()); when(sysPermissionRepository.save(Mockito.any(SysPermission.class))).thenReturn(sysPermission); SysPermission result = sysPermissionService.createPermission(permissionType, permissionContent); assertEquals(sysPermission, result); assertEquals(sysPermission, permissionListMap.get(sysPermission.getPermissionId())); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java new file mode 100644 index 000000000..f7ab2c998 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java @@ -0,0 +1,53 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { + @Mock + private SysPermissionRepository sysPermissionRepository; + @Mock + private RolePermissionRelationRepository permissionPermissionRelationRepository; + + private SysPermissionService sysPermissionService; + private Map permissionListMap; + + @Before + public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); + sysPermissionService = new SysPermissionService(); + sysPermissionService.sysPermissionRepository = sysPermissionRepository; + sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; + sysPermissionService.permissionListMap = permissionListMap; + } + + @Test + public void testCreatePermission() { + String permissionType = "type"; + String permissionContent = "content"; + + SysPermission sysPermission = new SysPermission(); + sysPermission.setPermissionType(permissionType); + sysPermission.setPermissionContent(permissionContent); + sysPermission.setCreateTime(new Date()); + sysPermission.setUpdateTime(new Date()); + + when(sysPermissionRepository.save(Mockito.any(SysPermission.class))).thenReturn(sysPermission); + + SysPermission result = sysPermissionService.createPermission(permissionType, permissionContent); + + assertEquals(sysPermission, result); + assertEquals(sysPermission, permissionListMap.get(sysPermission.getPermissionId())); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java new file mode 100644 index 000000000..ebae31579 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { +private SysPermissionService sysPermissionService; +@Mock +private SysPermissionRepository sysPermissionRepository; +@Mock +private RolePermissionRelationRepository permissionPermissionRelationRepository; +private Map permissionListMap; +@Before +public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); sysPermissionService = new SysPermissionService(); sysPermissionService.sysPermissionRepository = sysPermissionRepository; sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; sysPermissionService.permissionListMap = permissionListMap; +} + +@Test +public void testUpdatePermission() { + SysPermission sysPermission = new SysPermission(); sysPermission.setPermissionId("1"); sysPermission.setPermissionType("type"); sysPermission.setPermissionContent("content"); sysPermission.setCreateTime(new Date()); sysPermission.setUpdateTime(new Date()); when(sysPermissionRepository.save(Mockito.any(SysPermission.class))).thenReturn(sysPermission); SysPermission result = sysPermissionService.updatePermission(sysPermission); assertEquals(sysPermission, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java new file mode 100644 index 000000000..68df0ddf8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java @@ -0,0 +1,53 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { + private SysPermissionService sysPermissionService; + @Mock + private SysPermissionRepository sysPermissionRepository; + @Mock + private RolePermissionRelationRepository permissionPermissionRelationRepository; + private Map permissionListMap; + + @Before + public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); + sysPermissionService = new SysPermissionService(); + sysPermissionService.sysPermissionRepository = sysPermissionRepository; + sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; + sysPermissionService.permissionListMap = permissionListMap; + } + + @Test + public void testUpdatePermission() { + // Arrange + SysPermission sysPermission = new SysPermission(); + sysPermission.setPermissionId("1"); + sysPermission.setPermissionType("type"); + sysPermission.setPermissionContent("content"); + sysPermission.setCreateTime(new Date()); + sysPermission.setUpdateTime(new Date()); + + when(sysPermissionRepository.save(Mockito.any(SysPermission.class))).thenReturn(sysPermission); + + // Act + SysPermission result = sysPermissionService.updatePermission(sysPermission); + + // Assert + assertEquals(sysPermission, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java new file mode 100644 index 000000000..04092cc22 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java @@ -0,0 +1,33 @@ +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { +@Mock +private SysPermissionRepository sysPermissionRepository; +@InjectMocks +private SysPermissionService sysPermissionService; +private Map permissionListMap; +@Before +public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); MockitoAnnotations.initMocks(this); +} + +@Test +public void testQueryPermissionById() { + String permissionId = "123"; SysPermission expectedPermission = new SysPermission(); expectedPermission.setPermissionId(permissionId); permissionListMap.put(permissionId, expectedPermission); when(sysPermissionRepository.findById(permissionId)).thenReturn(Optional.of(expectedPermission)); SysPermission actualPermission = sysPermissionService.queryPermissionById(permissionId); assertEquals(expectedPermission, actualPermission); verify(sysPermissionRepository, times(1)).findById(permissionId); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java new file mode 100644 index 000000000..8132e715b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java @@ -0,0 +1,51 @@ +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { + + @Mock + private SysPermissionRepository sysPermissionRepository; + + @InjectMocks + private SysPermissionService sysPermissionService; + + private Map permissionListMap; + + @Before + public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); + MockitoAnnotations.initMocks(this); + } + + @Test + public void testQueryPermissionById() { + // Arrange + String permissionId = "123"; + SysPermission expectedPermission = new SysPermission(); + expectedPermission.setPermissionId(permissionId); + permissionListMap.put(permissionId, expectedPermission); + when(sysPermissionRepository.findById(permissionId)).thenReturn(Optional.of(expectedPermission)); + + // Act + SysPermission actualPermission = sysPermissionService.queryPermissionById(permissionId); + + // Assert + assertEquals(expectedPermission, actualPermission); + verify(sysPermissionRepository, times(1)).findById(permissionId); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java new file mode 100644 index 000000000..afbc73559 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { +@Mock +private SysPermissionRepository sysPermissionRepository; +@InjectMocks +private SysPermissionService sysPermissionService; +private Map permissionListMap; +@Before +public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); MockitoAnnotations.initMocks(this); +} + +@Test +public void testQueryPermissionByContent() { + String permissionContent = "testPermission"; SysPermission expectedPermission = new SysPermission(); expectedPermission.setPermissionContent(permissionContent); List permissionList = new ArrayList<>(); permissionList.add(expectedPermission); when(sysPermissionRepository.findByPermissionContent(permissionContent)).thenReturn(Optional.of(expectedPermission)); SysPermission actualPermission = sysPermissionService.queryPermissionByContent(permissionContent); assertEquals(expectedPermission, actualPermission); verify(sysPermissionRepository, times(1)).findByPermissionContent(permissionContent); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java new file mode 100644 index 000000000..91f5472f2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java @@ -0,0 +1,56 @@ +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class SysPermissionServiceTest { + + @Mock + private SysPermissionRepository sysPermissionRepository; + + @InjectMocks + private SysPermissionService sysPermissionService; + + private Map permissionListMap; + + @Before + public void setUp() { + permissionListMap = new ConcurrentHashMap<>(); + MockitoAnnotations.initMocks(this); + } + + @Test + public void testQueryPermissionByContent() { + // Arrange + String permissionContent = "testPermission"; + SysPermission expectedPermission = new SysPermission(); + expectedPermission.setPermissionContent(permissionContent); + + List permissionList = new ArrayList<>(); + permissionList.add(expectedPermission); + + when(sysPermissionRepository.findByPermissionContent(permissionContent)).thenReturn(Optional.of(expectedPermission)); + + // Act + SysPermission actualPermission = sysPermissionService.queryPermissionByContent(permissionContent); + + // Assert + assertEquals(expectedPermission, actualPermission); + verify(sysPermissionRepository, times(1)).findByPermissionContent(permissionContent); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java new file mode 100644 index 000000000..66727bc8b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java @@ -0,0 +1,27 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.Map; +import static org.mockito.Mockito.*; + +public class SysPermissionServiceTest { +@Mock +private SysPermissionRepository sysPermissionRepository; +@Mock +private RolePermissionRelationRepository permissionPermissionRelationRepository; +private SysPermissionService sysPermissionService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysPermissionService = new SysPermissionService(); sysPermissionService.sysPermissionRepository = sysPermissionRepository; sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; +} + +@Test +public void testDeletePermission() { + SysPermission permission = new SysPermission(); permission.setPermissionId("1"); permission.setPermissionType("type"); permission.setPermissionContent("content"); sysPermissionService.deletePermission(permission); verify(sysPermissionRepository, times(1)).deleteById("1"); verify(permissionPermissionRelationRepository, times(1)).deleteAllByPermissionId("1"); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java new file mode 100644 index 000000000..b1530e91c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java @@ -0,0 +1,38 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysPermissionRepository; +import com.microsoft.hydralab.common.entity.center.SysPermission; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.Map; +import static org.mockito.Mockito.*; + +public class SysPermissionServiceTest { + @Mock + private SysPermissionRepository sysPermissionRepository; + @Mock + private RolePermissionRelationRepository permissionPermissionRelationRepository; + private SysPermissionService sysPermissionService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysPermissionService = new SysPermissionService(); + sysPermissionService.sysPermissionRepository = sysPermissionRepository; + sysPermissionService.permissionPermissionRelationRepository = permissionPermissionRelationRepository; + } + + @Test + public void testDeletePermission() { + SysPermission permission = new SysPermission(); + permission.setPermissionId("1"); + permission.setPermissionType("type"); + permission.setPermissionContent("content"); + + sysPermissionService.deletePermission(permission); + + verify(sysPermissionRepository, times(1)).deleteById("1"); + verify(permissionPermissionRelationRepository, times(1)).deleteAllByPermissionId("1"); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java new file mode 100644 index 000000000..abd1b626c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +private SysRoleService sysRoleService; +@Before +public void setup() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; +} + +@Test +public void testInitList() { + List roleList = new ArrayList<>(); SysRole role1 = new SysRole(); role1.setRoleId("1"); role1.setRoleName("Role 1"); role1.setAuthLevel(1); roleList.add(role1); SysRole role2 = new SysRole(); role2.setRoleId("2"); role2.setRoleName("Role 2"); role2.setAuthLevel(2); roleList.add(role2); Mockito.when(sysRoleRepository.findAll()).thenReturn(roleList); sysRoleService.initList(); Map roleListMap = sysRoleService.roleListMap; assert roleListMap.containsKey("1"); assert roleListMap.containsKey("2"); assert roleListMap.get("1").getRoleName().equals("Role 1"); assert roleListMap.get("2").getRoleName().equals("Role 2"); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java new file mode 100644 index 000000000..3b7d54dc4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java @@ -0,0 +1,54 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + @Mock + private SysRoleRepository sysRoleRepository; + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + private SysRoleService sysRoleService; + @Before + public void setup() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + @Test + public void testInitList() { + // Arrange + List roleList = new ArrayList<>(); + SysRole role1 = new SysRole(); + role1.setRoleId("1"); + role1.setRoleName("Role 1"); + role1.setAuthLevel(1); + roleList.add(role1); + SysRole role2 = new SysRole(); + role2.setRoleId("2"); + role2.setRoleName("Role 2"); + role2.setAuthLevel(2); + roleList.add(role2); + Mockito.when(sysRoleRepository.findAll()).thenReturn(roleList); + // Act + sysRoleService.initList(); + // Assert + Map roleListMap = sysRoleService.roleListMap; + assert roleListMap.containsKey("1"); + assert roleListMap.containsKey("2"); + assert roleListMap.get("1").getRoleName().equals("Role 1"); + assert roleListMap.get("2").getRoleName().equals("Role 2"); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java new file mode 100644 index 000000000..4b7a0c0a9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +private SysRoleService sysRoleService; +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Before +public void setUp() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; +} + +@Test +public void testCreateRole() { + String roleName = "Test Role"; int authLevel = 1; SysRole sysRole = new SysRole(); sysRole.setRoleName(roleName); sysRole.setCreateTime(new Date()); sysRole.setUpdateTime(new Date()); sysRole.setAuthLevel(authLevel); when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(sysRole); SysRole result = sysRoleService.createRole(roleName, authLevel); assertEquals(sysRole, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java new file mode 100644 index 000000000..2c2ca8f7b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java @@ -0,0 +1,54 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + private SysRoleService sysRoleService; + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Before + public void setUp() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testCreateRole() { + // Arrange + String roleName = "Test Role"; + int authLevel = 1; + SysRole sysRole = new SysRole(); + sysRole.setRoleName(roleName); + sysRole.setCreateTime(new Date()); + sysRole.setUpdateTime(new Date()); + sysRole.setAuthLevel(authLevel); + + when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(sysRole); + + // Act + SysRole result = sysRoleService.createRole(roleName, authLevel); + + // Assert + assertEquals(sysRole, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java new file mode 100644 index 000000000..2e5106ada --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java @@ -0,0 +1,36 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +private SysRoleService sysRoleService; +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +private Map roleListMap; +@Before +public void setUp() { + roleListMap = new ConcurrentHashMap<>(); sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; sysRoleService.roleListMap = roleListMap; +} + +@Test +public void testUpdateRole() { + SysRole sysRole = new SysRole(); sysRole.setRoleId("1"); sysRole.setRoleName("Admin"); sysRole.setAuthLevel(1); sysRole.setCreateTime(new Date()); sysRole.setUpdateTime(new Date()); when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(sysRole); SysRole result = sysRoleService.updateRole(sysRole); assertEquals(sysRole, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java new file mode 100644 index 000000000..8095049b4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java @@ -0,0 +1,54 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + private SysRoleService sysRoleService; + @Mock + private SysRoleRepository sysRoleRepository; + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + private Map roleListMap; + + @Before + public void setUp() { + roleListMap = new ConcurrentHashMap<>(); + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + sysRoleService.roleListMap = roleListMap; + } + + @Test + public void testUpdateRole() { + // Arrange + SysRole sysRole = new SysRole(); + sysRole.setRoleId("1"); + sysRole.setRoleName("Admin"); + sysRole.setAuthLevel(1); + sysRole.setCreateTime(new Date()); + sysRole.setUpdateTime(new Date()); + + when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(sysRole); + + // Act + SysRole result = sysRoleService.updateRole(sysRole); + + // Assert + assertEquals(sysRole, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java new file mode 100644 index 000000000..f03f91f62 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +private SysRoleService sysRoleService; +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +private Map roleListMap; +@Before +public void setUp() { + roleListMap = new ConcurrentHashMap<>(); sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; sysRoleService.roleListMap = roleListMap; +} + +@Test +public void testQueryRoleById() { + String roleId = "123"; SysRole expectedRole = new SysRole(); expectedRole.setRoleId(roleId); roleListMap.put(roleId, expectedRole); when(sysRoleRepository.findById(roleId)).thenReturn(Optional.of(expectedRole)); SysRole actualRole = sysRoleService.queryRoleById(roleId); assertEquals(expectedRole, actualRole); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java new file mode 100644 index 000000000..a509950a0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java @@ -0,0 +1,50 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + private SysRoleService sysRoleService; + @Mock + private SysRoleRepository sysRoleRepository; + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + private Map roleListMap; + + @Before + public void setUp() { + roleListMap = new ConcurrentHashMap<>(); + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + sysRoleService.roleListMap = roleListMap; + } + + @Test + public void testQueryRoleById() { + // Arrange + String roleId = "123"; + SysRole expectedRole = new SysRole(); + expectedRole.setRoleId(roleId); + roleListMap.put(roleId, expectedRole); + when(sysRoleRepository.findById(roleId)).thenReturn(Optional.of(expectedRole)); + + // Act + SysRole actualRole = sysRoleService.queryRoleById(roleId); + + // Assert + assertEquals(expectedRole, actualRole); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java new file mode 100644 index 000000000..fd17a97da --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java @@ -0,0 +1,37 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +private SysRoleService sysRoleService; +@Before +public void setup() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; +} + +@Test +public void testQueryRoleByName() { + String roleName = "admin"; SysRole expectedRole = new SysRole(); expectedRole.setRoleId("1"); expectedRole.setRoleName(roleName); expectedRole.setCreateTime(new Date()); expectedRole.setUpdateTime(new Date()); expectedRole.setAuthLevel(1); List roleList = new ArrayList<>(); roleList.add(expectedRole); Mockito.when(sysRoleRepository.findByRoleName(roleName)).thenReturn(Optional.of(expectedRole)); SysRole actualRole = sysRoleService.queryRoleByName(roleName); assertEquals(expectedRole, actualRole); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java new file mode 100644 index 000000000..8a7c1a89d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java @@ -0,0 +1,62 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + private SysRoleService sysRoleService; + + @Before + public void setup() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testQueryRoleByName() { + // Arrange + String roleName = "admin"; + SysRole expectedRole = new SysRole(); + expectedRole.setRoleId("1"); + expectedRole.setRoleName(roleName); + expectedRole.setCreateTime(new Date()); + expectedRole.setUpdateTime(new Date()); + expectedRole.setAuthLevel(1); + + List roleList = new ArrayList<>(); + roleList.add(expectedRole); + + Mockito.when(sysRoleRepository.findByRoleName(roleName)).thenReturn(Optional.of(expectedRole)); + + // Act + SysRole actualRole = sysRoleService.queryRoleByName(roleName); + + // Assert + assertEquals(expectedRole, actualRole); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java new file mode 100644 index 000000000..f986cc40f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +private SysRoleService sysRoleService; +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Before +public void setUp() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; +} + +@Test +public void testDeleteRole() { + SysRole role = new SysRole(); role.setRoleId("1"); role.setRoleName("Test Role"); role.setCreateTime(new Date()); role.setUpdateTime(new Date()); role.setAuthLevel(1); Map roleListMap = new ConcurrentHashMap<>(); roleListMap.put(role.getRoleId(), role); Mockito.when(sysRoleRepository.findById(role.getRoleId())).thenReturn(java.util.Optional.of(role)); sysRoleService.deleteRole(role); assertNull(roleListMap.get(role.getRoleId())); Mockito.verify(sysRoleRepository, Mockito.times(1)).deleteById(role.getRoleId()); Mockito.verify(rolePermissionRelationRepository, Mockito.times(1)).deleteAllByRoleId(role.getRoleId()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java new file mode 100644 index 000000000..184f20855 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java @@ -0,0 +1,60 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + private SysRoleService sysRoleService; + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Before + public void setUp() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testDeleteRole() { + // Arrange + SysRole role = new SysRole(); + role.setRoleId("1"); + role.setRoleName("Test Role"); + role.setCreateTime(new Date()); + role.setUpdateTime(new Date()); + role.setAuthLevel(1); + + Map roleListMap = new ConcurrentHashMap<>(); + roleListMap.put(role.getRoleId(), role); + + Mockito.when(sysRoleRepository.findById(role.getRoleId())).thenReturn(java.util.Optional.of(role)); + + // Act + sysRoleService.deleteRole(role); + + // Assert + assertNull(roleListMap.get(role.getRoleId())); + Mockito.verify(sysRoleRepository, Mockito.times(1)).deleteById(role.getRoleId()); + Mockito.verify(rolePermissionRelationRepository, Mockito.times(1)).deleteAllByRoleId(role.getRoleId()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java new file mode 100644 index 000000000..4d22dbaa3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java @@ -0,0 +1,19 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.*; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Test +public void testIsAuthLevelValid() { + SysRoleService sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; int validAuthLevel = 5; int invalidAuthLevel = -1; boolean isValid = sysRoleService.isAuthLevelValid(validAuthLevel); assertTrue(isValid); boolean isInvalid = sysRoleService.isAuthLevelValid(invalidAuthLevel); assertFalse(isInvalid); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java new file mode 100644 index 000000000..4def96312 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java @@ -0,0 +1,33 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.*; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Test + public void testIsAuthLevelValid() { + SysRoleService sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + + int validAuthLevel = 5; + int invalidAuthLevel = -1; + + boolean isValid = sysRoleService.isAuthLevelValid(validAuthLevel); + assertTrue(isValid); + + boolean isInvalid = sysRoleService.isAuthLevelValid(invalidAuthLevel); + assertFalse(isInvalid); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java new file mode 100644 index 000000000..83ae24a15 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +private SysRoleService sysRoleService; +@Before +public void setUp() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; sysRoleService.roleListMap = new ConcurrentHashMap<>(); +} + +@Test +public void testIsAuthLevelSuperior() { + SysRole aRole = new SysRole(); aRole.setAuthLevel(2); aRole.setRoleId("1"); aRole.setRoleName("Role1"); aRole.setCreateTime(new Date()); aRole.setUpdateTime(new Date()); SysRole bRole = new SysRole(); bRole.setAuthLevel(3); bRole.setRoleId("2"); bRole.setRoleName("Role2"); bRole.setCreateTime(new Date()); bRole.setUpdateTime(new Date()); boolean result = sysRoleService.isAuthLevelSuperior(aRole, bRole); assertFalse(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java new file mode 100644 index 000000000..1a1601a10 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java @@ -0,0 +1,58 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + private SysRoleService sysRoleService; + + @Before + public void setUp() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + sysRoleService.roleListMap = new ConcurrentHashMap<>(); + } + + @Test + public void testIsAuthLevelSuperior() { + SysRole aRole = new SysRole(); + aRole.setAuthLevel(2); + aRole.setRoleId("1"); + aRole.setRoleName("Role1"); + aRole.setCreateTime(new Date()); + aRole.setUpdateTime(new Date()); + + SysRole bRole = new SysRole(); + bRole.setAuthLevel(3); + bRole.setRoleId("2"); + bRole.setRoleName("Role2"); + bRole.setCreateTime(new Date()); + bRole.setUpdateTime(new Date()); + + boolean result = sysRoleService.isAuthLevelSuperior(aRole, bRole); + + assertFalse(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java new file mode 100644 index 000000000..acd3ed0be --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +private SysRoleService sysRoleService; +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +@Before +public void setUp() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; +} + +@Test +public void testGetRequestorRole() { + SysUser requestor = new SysUser(); requestor.setRoleId("role1"); SysRole expectedRole = new SysRole(); expectedRole.setRoleId("role1"); expectedRole.setRoleName("Role 1"); expectedRole.setAuthLevel(1); expectedRole.setCreateTime(new Date()); expectedRole.setUpdateTime(new Date()); Mockito.when(sysRoleRepository.findById("role1")).thenReturn(Optional.of(expectedRole)); SysRole actualRole = sysRoleService.getRequestorRole(requestor); assertEquals(expectedRole, actualRole); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java new file mode 100644 index 000000000..3b605fe70 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java @@ -0,0 +1,59 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + private SysRoleService sysRoleService; + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + @Before + public void setUp() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testGetRequestorRole() { + // Arrange + SysUser requestor = new SysUser(); + requestor.setRoleId("role1"); + + SysRole expectedRole = new SysRole(); + expectedRole.setRoleId("role1"); + expectedRole.setRoleName("Role 1"); + expectedRole.setAuthLevel(1); + expectedRole.setCreateTime(new Date()); + expectedRole.setUpdateTime(new Date()); + + Mockito.when(sysRoleRepository.findById("role1")).thenReturn(Optional.of(expectedRole)); + + // Act + SysRole actualRole = sysRoleService.getRequestorRole(requestor); + + // Assert + assertEquals(expectedRole, actualRole); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java new file mode 100644 index 000000000..32a3ed7b9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { +@Mock +private SysRoleRepository sysRoleRepository; +@Mock +private RolePermissionRelationRepository rolePermissionRelationRepository; +private SysRoleService sysRoleService; +@Before +public void setup() { + sysRoleService = new SysRoleService(); sysRoleService.sysRoleRepository = sysRoleRepository; sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; +} + +@Test +public void testGetOrCreateDefaultRole() { + String roleName = "Test Role"; int authLevel = 1; SysRole expectedRole = new SysRole(); expectedRole.setRoleName(roleName); expectedRole.setAuthLevel(authLevel); expectedRole.setCreateTime(new Date()); expectedRole.setUpdateTime(new Date()); when(sysRoleRepository.findByRoleName(roleName)).thenReturn(Optional.empty()); when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(expectedRole); SysRole actualRole = sysRoleService.getOrCreateDefaultRole(roleName, authLevel); assertEquals(expectedRole, actualRole); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java new file mode 100644 index 000000000..a4731ca02 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java @@ -0,0 +1,58 @@ +import com.microsoft.hydralab.center.repository.RolePermissionRelationRepository; +import com.microsoft.hydralab.center.repository.SysRoleRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysRoleServiceTest { + + @Mock + private SysRoleRepository sysRoleRepository; + + @Mock + private RolePermissionRelationRepository rolePermissionRelationRepository; + + private SysRoleService sysRoleService; + + @Before + public void setup() { + sysRoleService = new SysRoleService(); + sysRoleService.sysRoleRepository = sysRoleRepository; + sysRoleService.rolePermissionRelationRepository = rolePermissionRelationRepository; + } + + @Test + public void testGetOrCreateDefaultRole() { + // Arrange + String roleName = "Test Role"; + int authLevel = 1; + SysRole expectedRole = new SysRole(); + expectedRole.setRoleName(roleName); + expectedRole.setAuthLevel(authLevel); + expectedRole.setCreateTime(new Date()); + expectedRole.setUpdateTime(new Date()); + + when(sysRoleRepository.findByRoleName(roleName)).thenReturn(Optional.empty()); + when(sysRoleRepository.save(Mockito.any(SysRole.class))).thenReturn(expectedRole); + + // Act + SysRole actualRole = sysRoleService.getOrCreateDefaultRole(roleName, authLevel); + + // Assert + assertEquals(expectedRole, actualRole); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java new file mode 100644 index 000000000..95a677208 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java @@ -0,0 +1,47 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +private SysTeamService sysTeamService; +@Before +public void setup() { + sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; +} + +@Test +public void testInitList() { + List teamList = new ArrayList<>(); SysTeam team1 = new SysTeam(); team1.setTeamId("1"); team1.setTeamName("Team 1"); team1.setCreateTime(new Date()); team1.setUpdateTime(new Date()); teamList.add(team1); SysTeam team2 = new SysTeam(); team2.setTeamId("2"); team2.setTeamName("Team 2"); team2.setCreateTime(new Date()); team2.setUpdateTime(new Date()); teamList.add(team2); Mockito.when(sysTeamRepository.findAll()).thenReturn(teamList); sysTeamService.initList(); Map teamListMap = sysTeamService.teamListMap; assert teamListMap.containsKey("1"); assert teamListMap.containsKey("2"); assert teamListMap.get("1").equals(team1); assert teamListMap.get("2").equals(team2); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java new file mode 100644 index 000000000..5b8b3372f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java @@ -0,0 +1,92 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + + @Mock + private SysTeamRepository sysTeamRepository; + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private AgentManageService agentManageService; + + @Mock + private DeviceGroupService deviceGroupService; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private TestFileSetService testFileSetService; + + @Mock + private TestTaskService testTaskService; + + @Mock + private AttachmentService attachmentService; + + private SysTeamService sysTeamService; + + @Before + public void setup() { + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + } + + @Test + public void testInitList() { + // Arrange + List teamList = new ArrayList<>(); + SysTeam team1 = new SysTeam(); + team1.setTeamId("1"); + team1.setTeamName("Team 1"); + team1.setCreateTime(new Date()); + team1.setUpdateTime(new Date()); + teamList.add(team1); + + SysTeam team2 = new SysTeam(); + team2.setTeamId("2"); + team2.setTeamName("Team 2"); + team2.setCreateTime(new Date()); + team2.setUpdateTime(new Date()); + teamList.add(team2); + + Mockito.when(sysTeamRepository.findAll()).thenReturn(teamList); + + // Act + sysTeamService.initList(); + + // Assert + // Verify that the teamListMap is populated correctly + Map teamListMap = sysTeamService.teamListMap; + assert teamListMap.containsKey("1"); + assert teamListMap.containsKey("2"); + assert teamListMap.get("1").equals(team1); + assert teamListMap.get("2").equals(team2); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java new file mode 100644 index 000000000..34feba3d1 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java @@ -0,0 +1,46 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +private SysTeamService sysTeamService; +@Before +public void setUp() { + sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; +} + +@Test +public void testCreateTeam() { + String teamName = "Test Team"; SysTeam sysTeam = new SysTeam(); sysTeam.setTeamName(teamName); sysTeam.setCreateTime(new Date()); sysTeam.setUpdateTime(new Date()); when(sysTeamRepository.save(Mockito.any(SysTeam.class))).thenReturn(sysTeam); SysTeam result = sysTeamService.createTeam(teamName); assertEquals(sysTeam, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java new file mode 100644 index 000000000..cd0f43c4d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java @@ -0,0 +1,68 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + @Mock + private SysTeamRepository sysTeamRepository; + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private TestFileSetService testFileSetService; + @Mock + private TestTaskService testTaskService; + @Mock + private AttachmentService attachmentService; + + private SysTeamService sysTeamService; + + @Before + public void setUp() { + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + } + + @Test + public void testCreateTeam() { + // Arrange + String teamName = "Test Team"; + SysTeam sysTeam = new SysTeam(); + sysTeam.setTeamName(teamName); + sysTeam.setCreateTime(new Date()); + sysTeam.setUpdateTime(new Date()); + + when(sysTeamRepository.save(Mockito.any(SysTeam.class))).thenReturn(sysTeam); + + // Act + SysTeam result = sysTeamService.createTeam(teamName); + + // Assert + assertEquals(sysTeam, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java new file mode 100644 index 000000000..aacf5d2e2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java @@ -0,0 +1,48 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +private SysTeamService sysTeamService; +private Map teamListMap; +@Before +public void setUp() { + teamListMap = new ConcurrentHashMap<>(); sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; sysTeamService.teamListMap = teamListMap; +} + +@Test +public void testUpdateTeam() { + SysTeam sysTeam = new SysTeam(); sysTeam.setTeamId("1"); sysTeam.setTeamName("Team 1"); sysTeam.setCreateTime(new Date()); sysTeam.setUpdateTime(new Date()); when(sysTeamRepository.save(Mockito.any(SysTeam.class))).thenReturn(sysTeam); SysTeam result = sysTeamService.updateTeam(sysTeam); assertNotNull(result); assertEquals(sysTeam.getTeamId(), result.getTeamId()); assertEquals(sysTeam.getTeamName(), result.getTeamName()); assertEquals(sysTeam.getCreateTime(), result.getCreateTime()); assertEquals(sysTeam.getUpdateTime(), result.getUpdateTime()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java new file mode 100644 index 000000000..39d0f3171 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java @@ -0,0 +1,76 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + @Mock + private SysTeamRepository sysTeamRepository; + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private TestFileSetService testFileSetService; + @Mock + private TestTaskService testTaskService; + @Mock + private AttachmentService attachmentService; + + private SysTeamService sysTeamService; + private Map teamListMap; + + @Before + public void setUp() { + teamListMap = new ConcurrentHashMap<>(); + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + sysTeamService.teamListMap = teamListMap; + } + + @Test + public void testUpdateTeam() { + // Arrange + SysTeam sysTeam = new SysTeam(); + sysTeam.setTeamId("1"); + sysTeam.setTeamName("Team 1"); + sysTeam.setCreateTime(new Date()); + sysTeam.setUpdateTime(new Date()); + + when(sysTeamRepository.save(Mockito.any(SysTeam.class))).thenReturn(sysTeam); + + // Act + SysTeam result = sysTeamService.updateTeam(sysTeam); + + // Assert + assertNotNull(result); + assertEquals(sysTeam.getTeamId(), result.getTeamId()); + assertEquals(sysTeam.getTeamName(), result.getTeamName()); + assertEquals(sysTeam.getCreateTime(), result.getCreateTime()); + assertEquals(sysTeam.getUpdateTime(), result.getUpdateTime()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java new file mode 100644 index 000000000..d2ad2899b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java @@ -0,0 +1,47 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +private SysTeamService sysTeamService; +@Before +public void setup() { + sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; +} + +@Test +public void testUpdateTeamRelatedEntity() { + String teamId = "teamId"; String teamName = "teamName"; SysTeam sysTeam = new SysTeam(); sysTeam.setTeamId(teamId); sysTeam.setTeamName(teamName); sysTeam.setCreateTime(new Date()); sysTeam.setUpdateTime(new Date()); Mockito.when(sysTeamRepository.findById(teamId)).thenReturn(Optional.of(sysTeam)); sysTeamService.updateTeamRelatedEntity(teamId, teamName); Mockito.verify(agentManageService).updateAgentTeam(teamId, teamName); Mockito.verify(deviceGroupService).updateGroupTeam(teamId, teamName); Mockito.verify(deviceAgentManagementService).updateAgentDeviceGroupTeam(teamId, teamName); Mockito.verify(testFileSetService).updateFileSetTeam(teamId, teamName); Mockito.verify(testTaskService).updateTaskTeam(teamId, teamName); Mockito.verify(attachmentService).updateTestJsonTeam(teamId, teamName); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java new file mode 100644 index 000000000..0b90bc16f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java @@ -0,0 +1,75 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + @Mock + private SysTeamRepository sysTeamRepository; + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private TestFileSetService testFileSetService; + @Mock + private TestTaskService testTaskService; + @Mock + private AttachmentService attachmentService; + + private SysTeamService sysTeamService; + + @Before + public void setup() { + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + } + + @Test + public void testUpdateTeamRelatedEntity() { + String teamId = "teamId"; + String teamName = "teamName"; + + SysTeam sysTeam = new SysTeam(); + sysTeam.setTeamId(teamId); + sysTeam.setTeamName(teamName); + sysTeam.setCreateTime(new Date()); + sysTeam.setUpdateTime(new Date()); + + Mockito.when(sysTeamRepository.findById(teamId)).thenReturn(Optional.of(sysTeam)); + + sysTeamService.updateTeamRelatedEntity(teamId, teamName); + + Mockito.verify(agentManageService).updateAgentTeam(teamId, teamName); + Mockito.verify(deviceGroupService).updateGroupTeam(teamId, teamName); + Mockito.verify(deviceAgentManagementService).updateAgentDeviceGroupTeam(teamId, teamName); + Mockito.verify(testFileSetService).updateFileSetTeam(teamId, teamName); + Mockito.verify(testTaskService).updateTaskTeam(teamId, teamName); + Mockito.verify(attachmentService).updateTestJsonTeam(teamId, teamName); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java new file mode 100644 index 000000000..762472220 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java @@ -0,0 +1,33 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@InjectMocks +private SysTeamService sysTeamService; +private Map teamListMap; +@Before +public void setUp() { + teamListMap = new ConcurrentHashMap<>(); MockitoAnnotations.initMocks(this); +} + +@Test +public void testQueryTeamById() { + String teamId = "1"; SysTeam team = new SysTeam(); team.setTeamId(teamId); teamListMap.put(teamId, team); when(sysTeamRepository.findById(teamId)).thenReturn(Optional.of(team)); SysTeam result = sysTeamService.queryTeamById(teamId); assertEquals(team, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java new file mode 100644 index 000000000..aa1114e5a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java @@ -0,0 +1,50 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + + @Mock + private SysTeamRepository sysTeamRepository; + + @InjectMocks + private SysTeamService sysTeamService; + + private Map teamListMap; + + @Before + public void setUp() { + teamListMap = new ConcurrentHashMap<>(); + MockitoAnnotations.initMocks(this); + } + + @Test + public void testQueryTeamById() { + // Arrange + String teamId = "1"; + SysTeam team = new SysTeam(); + team.setTeamId(teamId); + teamListMap.put(teamId, team); + when(sysTeamRepository.findById(teamId)).thenReturn(Optional.of(team)); + + // Act + SysTeam result = sysTeamService.queryTeamById(teamId); + + // Assert + assertEquals(team, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java new file mode 100644 index 000000000..026dab07a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java @@ -0,0 +1,52 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +@InjectMocks +private SysTeamService sysTeamService; +private Map teamListMap; +@Before +public void setUp() { + teamListMap = new ConcurrentHashMap<>(); sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; sysTeamService.teamListMap = teamListMap; +} + +@Test +public void testQueryTeamByName() { + String teamName = "Team1"; SysTeam expectedTeam = new SysTeam(); expectedTeam.setTeamName(teamName); expectedTeam.setTeamId("1"); expectedTeam.setCreateTime(new Date()); expectedTeam.setUpdateTime(new Date()); List teamList = new ArrayList<>(); teamList.add(expectedTeam); when(sysTeamRepository.findByTeamName(teamName)).thenReturn(Optional.of(expectedTeam)); SysTeam actualTeam = sysTeamService.queryTeamByName(teamName); assertEquals(expectedTeam, actualTeam); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java new file mode 100644 index 000000000..4d502e099 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java @@ -0,0 +1,88 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + + @Mock + private SysTeamRepository sysTeamRepository; + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private AgentManageService agentManageService; + + @Mock + private DeviceGroupService deviceGroupService; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private TestFileSetService testFileSetService; + + @Mock + private TestTaskService testTaskService; + + @Mock + private AttachmentService attachmentService; + + @InjectMocks + private SysTeamService sysTeamService; + + private Map teamListMap; + + @Before + public void setUp() { + teamListMap = new ConcurrentHashMap<>(); + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + sysTeamService.teamListMap = teamListMap; + } + + @Test + public void testQueryTeamByName() { + String teamName = "Team1"; + SysTeam expectedTeam = new SysTeam(); + expectedTeam.setTeamName(teamName); + expectedTeam.setTeamId("1"); + expectedTeam.setCreateTime(new Date()); + expectedTeam.setUpdateTime(new Date()); + + List teamList = new ArrayList<>(); + teamList.add(expectedTeam); + + when(sysTeamRepository.findByTeamName(teamName)).thenReturn(Optional.of(expectedTeam)); + + SysTeam actualTeam = sysTeamService.queryTeamByName(teamName); + + assertEquals(expectedTeam, actualTeam); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java new file mode 100644 index 000000000..7f0039f1d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java @@ -0,0 +1,57 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +@InjectMocks +private SysTeamService sysTeamService; +private Map teamListMap; +@Before +public void setup() { + teamListMap = new ConcurrentHashMap<>(); sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; sysTeamService.teamListMap = teamListMap; +} + +@Test +public void testCheckTeamExistence_ExistingTeamId_ReturnsTrue() { + String teamId = "team1"; SysTeam team = new SysTeam(); team.setTeamId(teamId); teamListMap.put(teamId, team); boolean result = sysTeamService.checkTeamExistence(teamId); assertTrue(result); +} + +@Test +public void testCheckTeamExistence_NonExistingTeamId_ReturnsFalse() { + String teamId = "team1"; boolean result = sysTeamService.checkTeamExistence(teamId); assertFalse(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java new file mode 100644 index 000000000..9ed358a2d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java @@ -0,0 +1,96 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + + @Mock + private SysTeamRepository sysTeamRepository; + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private AgentManageService agentManageService; + + @Mock + private DeviceGroupService deviceGroupService; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private TestFileSetService testFileSetService; + + @Mock + private TestTaskService testTaskService; + + @Mock + private AttachmentService attachmentService; + + @InjectMocks + private SysTeamService sysTeamService; + + private Map teamListMap; + + @Before + public void setup() { + teamListMap = new ConcurrentHashMap<>(); + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + sysTeamService.teamListMap = teamListMap; + } + + @Test + public void testCheckTeamExistence_ExistingTeamId_ReturnsTrue() { + // Arrange + String teamId = "team1"; + SysTeam team = new SysTeam(); + team.setTeamId(teamId); + teamListMap.put(teamId, team); + + // Act + boolean result = sysTeamService.checkTeamExistence(teamId); + + // Assert + assertTrue(result); + } + + @Test + public void testCheckTeamExistence_NonExistingTeamId_ReturnsFalse() { + // Arrange + String teamId = "team1"; + + // Act + boolean result = sysTeamService.checkTeamExistence(teamId); + + // Assert + assertFalse(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java new file mode 100644 index 000000000..315ad71d5 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java @@ -0,0 +1,45 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +private SysTeamService sysTeamService; +private Map teamListMap; +@Before +public void setUp() { + teamListMap = new ConcurrentHashMap<>(); sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; sysTeamService.teamListMap = teamListMap; +} + +@Test +public void testDeleteTeam() { + SysTeam team = new SysTeam(); team.setTeamId("1"); team.setTeamName("Team 1"); team.setCreateTime(new Date()); team.setUpdateTime(new Date()); teamListMap.put(team.getTeamId(), team); sysTeamService.deleteTeam(team); Mockito.verify(sysTeamRepository).deleteById(team.getTeamId()); Mockito.verify(sysTeamService.teamListMap).remove(team.getTeamId()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java new file mode 100644 index 000000000..1ebf10d30 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java @@ -0,0 +1,79 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Date; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + + @Mock + private SysTeamRepository sysTeamRepository; + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private AgentManageService agentManageService; + + @Mock + private DeviceGroupService deviceGroupService; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private TestFileSetService testFileSetService; + + @Mock + private TestTaskService testTaskService; + + @Mock + private AttachmentService attachmentService; + + private SysTeamService sysTeamService; + + private Map teamListMap; + + @Before + public void setUp() { + teamListMap = new ConcurrentHashMap<>(); + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + sysTeamService.teamListMap = teamListMap; + } + + @Test + public void testDeleteTeam() { + // Arrange + SysTeam team = new SysTeam(); + team.setTeamId("1"); + team.setTeamName("Team 1"); + team.setCreateTime(new Date()); + team.setUpdateTime(new Date()); + teamListMap.put(team.getTeamId(), team); + + // Act + sysTeamService.deleteTeam(team); + + // Assert + Mockito.verify(sysTeamRepository).deleteById(team.getTeamId()); + Mockito.verify(sysTeamService.teamListMap).remove(team.getTeamId()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java new file mode 100644 index 000000000..115297549 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java @@ -0,0 +1,48 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { +@Mock +private SysTeamRepository sysTeamRepository; +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestFileSetService testFileSetService; +@Mock +private TestTaskService testTaskService; +@Mock +private AttachmentService attachmentService; +private SysTeamService sysTeamService; +private Map teamListMap; +@Before +public void setUp() { + teamListMap = new ConcurrentHashMap<>(); sysTeamService = new SysTeamService(); sysTeamService.sysTeamRepository = sysTeamRepository; sysTeamService.userTeamRelationRepository = userTeamRelationRepository; sysTeamService.agentManageService = agentManageService; sysTeamService.deviceGroupService = deviceGroupService; sysTeamService.deviceAgentManagementService = deviceAgentManagementService; sysTeamService.testFileSetService = testFileSetService; sysTeamService.testTaskService = testTaskService; sysTeamService.attachmentService = attachmentService; sysTeamService.teamListMap = teamListMap; +} + +@Test +public void testGetOrCreateDefaultTeam() { + String defaultTeamName = "Default Team"; SysTeam defaultTeam = new SysTeam(); defaultTeam.setTeamName(defaultTeamName); defaultTeam.setCreateTime(new Date()); defaultTeam.setUpdateTime(new Date()); when(sysTeamRepository.findByTeamName(defaultTeamName)).thenReturn(Optional.of(defaultTeam)); SysTeam result = sysTeamService.getOrCreateDefaultTeam(defaultTeamName); assertEquals(defaultTeam, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java new file mode 100644 index 000000000..3027899a5 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java @@ -0,0 +1,80 @@ +import com.microsoft.hydralab.center.repository.SysTeamRepository; +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.util.AttachmentService; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Date; +import java.util.Map; +import java.util.Optional; +import java.util.concurrent.ConcurrentHashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysTeamServiceTest { + + @Mock + private SysTeamRepository sysTeamRepository; + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private AgentManageService agentManageService; + + @Mock + private DeviceGroupService deviceGroupService; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private TestFileSetService testFileSetService; + + @Mock + private TestTaskService testTaskService; + + @Mock + private AttachmentService attachmentService; + + private SysTeamService sysTeamService; + + private Map teamListMap; + + @Before + public void setUp() { + teamListMap = new ConcurrentHashMap<>(); + sysTeamService = new SysTeamService(); + sysTeamService.sysTeamRepository = sysTeamRepository; + sysTeamService.userTeamRelationRepository = userTeamRelationRepository; + sysTeamService.agentManageService = agentManageService; + sysTeamService.deviceGroupService = deviceGroupService; + sysTeamService.deviceAgentManagementService = deviceAgentManagementService; + sysTeamService.testFileSetService = testFileSetService; + sysTeamService.testTaskService = testTaskService; + sysTeamService.attachmentService = attachmentService; + sysTeamService.teamListMap = teamListMap; + } + + @Test + public void testGetOrCreateDefaultTeam() { + String defaultTeamName = "Default Team"; + SysTeam defaultTeam = new SysTeam(); + defaultTeam.setTeamName(defaultTeamName); + defaultTeam.setCreateTime(new Date()); + defaultTeam.setUpdateTime(new Date()); + + when(sysTeamRepository.findByTeamName(defaultTeamName)).thenReturn(Optional.of(defaultTeam)); + + SysTeam result = sysTeamService.getOrCreateDefaultTeam(defaultTeamName); + + assertEquals(defaultTeam, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java new file mode 100644 index 000000000..b890ef41b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java @@ -0,0 +1,24 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testCreateUserWithDefaultRole() { + String userName = "John"; String mailAddress = "john@example.com"; String defaultRoleId = "123"; String defaultRoleName = "User"; SysUser sysUser = new SysUser(); sysUser.setUserName(userName); sysUser.setMailAddress(mailAddress); sysUser.setRoleId(defaultRoleId); sysUser.setRoleName(defaultRoleName); when(sysUserRepository.save(sysUser)).thenReturn(sysUser); SysUser result = sysUserService.createUserWithDefaultRole(userName, mailAddress, defaultRoleId, defaultRoleName); assertEquals(sysUser, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java new file mode 100644 index 000000000..1322c14b0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java @@ -0,0 +1,45 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class SysUserServiceTest { + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testCreateUserWithDefaultRole() { + // Arrange + String userName = "John"; + String mailAddress = "john@example.com"; + String defaultRoleId = "123"; + String defaultRoleName = "User"; + + SysUser sysUser = new SysUser(); + sysUser.setUserName(userName); + sysUser.setMailAddress(mailAddress); + sysUser.setRoleId(defaultRoleId); + sysUser.setRoleName(defaultRoleName); + + when(sysUserRepository.save(sysUser)).thenReturn(sysUser); + + // Act + SysUser result = sysUserService.createUserWithDefaultRole(userName, mailAddress, defaultRoleId, defaultRoleName); + + // Assert + assertEquals(sysUser, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java new file mode 100644 index 000000000..3ad8615cb --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java @@ -0,0 +1,24 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testUpdateUser() { + SysUser sysUser = new SysUser(); sysUser.setUserName("testUser"); sysUser.setMailAddress("test@mail.com"); sysUser.setRoleId("1"); sysUser.setRoleName("Test Role"); when(sysUserRepository.save(sysUser)).thenReturn(sysUser); SysUser updatedUser = sysUserService.updateUser(sysUser); assertEquals(sysUser, updatedUser); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java new file mode 100644 index 000000000..58debf0a0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java @@ -0,0 +1,37 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class SysUserServiceTest { + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testUpdateUser() { + SysUser sysUser = new SysUser(); + sysUser.setUserName("testUser"); + sysUser.setMailAddress("test@mail.com"); + sysUser.setRoleId("1"); + sysUser.setRoleName("Test Role"); + + when(sysUserRepository.save(sysUser)).thenReturn(sysUser); + + SysUser updatedUser = sysUserService.updateUser(sysUser); + + assertEquals(sysUser, updatedUser); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java new file mode 100644 index 000000000..4ac0a1f40 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java @@ -0,0 +1,27 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testQueryUserById() { + String userId = "123"; SysUser expectedUser = new SysUser(); expectedUser.setUserId(userId); when(sysUserRepository.findById(userId)).thenReturn(java.util.Optional.of(expectedUser)); SysUser actualUser = sysUserService.queryUserById(userId); assertEquals(expectedUser, actualUser); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java new file mode 100644 index 000000000..b78206d32 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java @@ -0,0 +1,41 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { + + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testQueryUserById() { + // Arrange + String userId = "123"; + SysUser expectedUser = new SysUser(); + expectedUser.setUserId(userId); + when(sysUserRepository.findById(userId)).thenReturn(java.util.Optional.of(expectedUser)); + + // Act + SysUser actualUser = sysUserService.queryUserById(userId); + + // Assert + assertEquals(expectedUser, actualUser); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java new file mode 100644 index 000000000..f8bf116b8 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testQueryUserByMailAddress() { + String mailAddress = "test@example.com"; SysUser expectedUser = new SysUser(); expectedUser.setMailAddress(mailAddress); when(sysUserRepository.findByMailAddress(mailAddress)).thenReturn(Optional.of(expectedUser)); SysUser actualUser = sysUserService.queryUserByMailAddress(mailAddress); assertEquals(expectedUser, actualUser); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java new file mode 100644 index 000000000..0e53a4341 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java @@ -0,0 +1,43 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { + + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testQueryUserByMailAddress() { + // Arrange + String mailAddress = "test@example.com"; + SysUser expectedUser = new SysUser(); + expectedUser.setMailAddress(mailAddress); + when(sysUserRepository.findByMailAddress(mailAddress)).thenReturn(Optional.of(expectedUser)); + + // Act + SysUser actualUser = sysUserService.queryUserByMailAddress(mailAddress); + + // Assert + assertEquals(expectedUser, actualUser); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java new file mode 100644 index 000000000..8267b4ba0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java @@ -0,0 +1,25 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import java.util.Optional; + +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testCheckUserExistenceWithRole() { + String roleId = "role1"; int count = 1; Mockito.when(sysUserRepository.countByRoleId(roleId)).thenReturn(count); boolean result = sysUserService.checkUserExistenceWithRole(roleId); Assert.assertTrue(result); Mockito.verify(sysUserRepository, Mockito.times(1)).countByRoleId(roleId); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java new file mode 100644 index 000000000..a164edb20 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import java.util.Optional; + +public class SysUserServiceTest { + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testCheckUserExistenceWithRole() { + String roleId = "role1"; + int count = 1; + Mockito.when(sysUserRepository.countByRoleId(roleId)).thenReturn(count); + + boolean result = sysUserService.checkUserExistenceWithRole(roleId); + + Assert.assertTrue(result); + Mockito.verify(sysUserRepository, Mockito.times(1)).countByRoleId(roleId); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java new file mode 100644 index 000000000..72c145b18 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java @@ -0,0 +1,24 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testSwitchUserDefaultTeam() { + SysUser user = new SysUser(); String defaultTeamId = "teamId"; String defaultTeamName = "teamName"; when(sysUserRepository.save(user)).thenReturn(user); SysUser result = sysUserService.switchUserDefaultTeam(user, defaultTeamId, defaultTeamName); assertEquals(user, result); verify(sysUserRepository, times(1)).save(user); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java new file mode 100644 index 000000000..d197bba4f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java @@ -0,0 +1,38 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SysUserServiceTest { + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testSwitchUserDefaultTeam() { + // Arrange + SysUser user = new SysUser(); + String defaultTeamId = "teamId"; + String defaultTeamName = "teamName"; + when(sysUserRepository.save(user)).thenReturn(user); + + // Act + SysUser result = sysUserService.switchUserDefaultTeam(user, defaultTeamId, defaultTeamName); + + // Assert + assertEquals(user, result); + verify(sysUserRepository, times(1)).save(user); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java new file mode 100644 index 000000000..ca75cadd5 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java @@ -0,0 +1,24 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testSwitchUserRole() { + SysUser user = new SysUser(); user.setRoleId("oldRoleId"); user.setRoleName("oldRoleName"); String newRoleId = "newRoleId"; String newRoleName = "newRoleName"; when(sysUserRepository.save(user)).thenReturn(user); SysUser result = sysUserService.switchUserRole(user, newRoleId, newRoleName); assertEquals(newRoleId, result.getRoleId()); assertEquals(newRoleName, result.getRoleName()); verify(sysUserRepository, times(1)).save(user); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java new file mode 100644 index 000000000..cc3ad517a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java @@ -0,0 +1,41 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class SysUserServiceTest { + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testSwitchUserRole() { + // Arrange + SysUser user = new SysUser(); + user.setRoleId("oldRoleId"); + user.setRoleName("oldRoleName"); + String newRoleId = "newRoleId"; + String newRoleName = "newRoleName"; + when(sysUserRepository.save(user)).thenReturn(user); + + // Act + SysUser result = sysUserService.switchUserRole(user, newRoleId, newRoleName); + + // Assert + assertEquals(newRoleId, result.getRoleId()); + assertEquals(newRoleName, result.getRoleName()); + verify(sysUserRepository, times(1)).save(user); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java new file mode 100644 index 000000000..024bd21d6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +@Mock +private Authentication authentication; +private SysUserService sysUserService; +@Before +public void setup() { + sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testCheckUserRole() { + Collection authorities = new ArrayList<>(); authorities.add(new GrantedAuthority() { @Override public String getAuthority() { return "ROLE_ADMIN"; } }); Mockito.when(authentication.getAuthorities()).thenReturn(authorities); assertTrue(sysUserService.checkUserRole(authentication, "ROLE_ADMIN")); assertFalse(sysUserService.checkUserRole(authentication, "ROLE_USER")); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java new file mode 100644 index 000000000..4a67b60f7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java @@ -0,0 +1,42 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { + @Mock + private SysUserRepository sysUserRepository; + @Mock + private Authentication authentication; + private SysUserService sysUserService; + @Before + public void setup() { + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + @Test + public void testCheckUserRole() { + Collection authorities = new ArrayList<>(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return "ROLE_ADMIN"; + } + }); + Mockito.when(authentication.getAuthorities()).thenReturn(authorities); + assertTrue(sysUserService.checkUserRole(authentication, "ROLE_ADMIN")); + assertFalse(sysUserService.checkUserRole(authentication, "ROLE_USER")); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java new file mode 100644 index 000000000..4d9eeb9d9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java @@ -0,0 +1,32 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { +@Mock +private SysUserRepository sysUserRepository; +private SysUserService sysUserService; +@Before +public void setUp() { + sysUserService = new SysUserService(); sysUserService.sysUserRepository = sysUserRepository; +} + +@Test +public void testCheckUserAdmin() { + Authentication auth = Mockito.mock(Authentication.class); List authorities = new ArrayList<>(); authorities.add(new GrantedAuthority() { @Override public String getAuthority() { return Const.DefaultRole.SUPER_ADMIN; } }); Mockito.when(auth.getAuthorities()).thenReturn(authorities); assertTrue(sysUserService.checkUserAdmin(auth)); authorities.clear(); authorities.add(new GrantedAuthority() { @Override public String getAuthority() { return Const.DefaultRole.ADMIN; } }); Mockito.when(auth.getAuthorities()).thenReturn(authorities); assertTrue(sysUserService.checkUserAdmin(auth)); authorities.clear(); authorities.add(new GrantedAuthority() { @Override public String getAuthority() { return "ROLE_USER"; } }); Mockito.when(auth.getAuthorities()).thenReturn(authorities); assertFalse(sysUserService.checkUserAdmin(auth)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java new file mode 100644 index 000000000..7626a7a61 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java @@ -0,0 +1,67 @@ +import com.microsoft.hydralab.center.repository.SysUserRepository; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.GrantedAuthority; +import java.util.ArrayList; +import java.util.List; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class SysUserServiceTest { + + @Mock + private SysUserRepository sysUserRepository; + + private SysUserService sysUserService; + + @Before + public void setUp() { + sysUserService = new SysUserService(); + sysUserService.sysUserRepository = sysUserRepository; + } + + @Test + public void testCheckUserAdmin() { + Authentication auth = Mockito.mock(Authentication.class); + List authorities = new ArrayList<>(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return Const.DefaultRole.SUPER_ADMIN; + } + }); + Mockito.when(auth.getAuthorities()).thenReturn(authorities); + + assertTrue(sysUserService.checkUserAdmin(auth)); + + authorities.clear(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return Const.DefaultRole.ADMIN; + } + }); + Mockito.when(auth.getAuthorities()).thenReturn(authorities); + + assertTrue(sysUserService.checkUserAdmin(auth)); + + authorities.clear(); + authorities.add(new GrantedAuthority() { + @Override + public String getAuthority() { + return "ROLE_USER"; + } + }); + Mockito.when(auth.getAuthorities()).thenReturn(authorities); + + assertFalse(sysUserService.checkUserAdmin(auth)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java new file mode 100644 index 000000000..81c082292 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java @@ -0,0 +1,25 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class TestFileSetServiceTest { +@Mock +private TestFileSetRepository testFileSetRepository; +@Mock +private AttachmentService attachmentService; +@Mock +private StorageServiceClientProxy storageServiceClientProxy; +private TestFileSetService testFileSetService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); testFileSetService = new TestFileSetService(); testFileSetService.testFileSetRepository = testFileSetRepository; testFileSetService.attachmentService = attachmentService; testFileSetService.storageServiceClientProxy = storageServiceClientProxy; +} + +@Test +public void testAddTestFileSet() { + TestFileSet testFileSet = new TestFileSet(); when(testFileSetRepository.save(testFileSet)).thenReturn(testFileSet); TestFileSet result = testFileSetService.addTestFileSet(testFileSet); verify(testFileSetRepository, times(1)).save(testFileSet); assertSame(testFileSet, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java new file mode 100644 index 000000000..60b279e13 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java @@ -0,0 +1,36 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class TestFileSetServiceTest { + @Mock + private TestFileSetRepository testFileSetRepository; + @Mock + private AttachmentService attachmentService; + @Mock + private StorageServiceClientProxy storageServiceClientProxy; + + private TestFileSetService testFileSetService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + testFileSetService = new TestFileSetService(); + testFileSetService.testFileSetRepository = testFileSetRepository; + testFileSetService.attachmentService = attachmentService; + testFileSetService.storageServiceClientProxy = storageServiceClientProxy; + } + + @Test + public void testAddTestFileSet() { + TestFileSet testFileSet = new TestFileSet(); + when(testFileSetRepository.save(testFileSet)).thenReturn(testFileSet); + + TestFileSet result = testFileSetService.addTestFileSet(testFileSet); + + verify(testFileSetRepository, times(1)).save(testFileSet); + assertSame(testFileSet, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java new file mode 100644 index 000000000..29b6f1cac --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java @@ -0,0 +1,25 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; + +@RunWith(MockitoJUnitRunner.class) +public class TestFileSetServiceTest { +@Mock +private TestFileSetRepository testFileSetRepository; +private TestFileSetService testFileSetService; +@Before +public void setup() { + testFileSetService = new TestFileSetService(); testFileSetService.testFileSetRepository = testFileSetRepository; +} + +@Test +public void testUpdateFileSetTeam() { + String teamId = "teamId"; String teamName = "teamName"; List testFileSets = new ArrayList<>(); TestFileSet testFileSet1 = new TestFileSet(); testFileSet1.setTeamId(teamId); testFileSets.add(testFileSet1); TestFileSet testFileSet2 = new TestFileSet(); testFileSet2.setTeamId(teamId); testFileSets.add(testFileSet2); Mockito.when(testFileSetRepository.findAllByTeamId(teamId)).thenReturn(testFileSets); testFileSetService.updateFileSetTeam(teamId, teamName); Mockito.verify(testFileSetRepository, Mockito.times(1)).saveAll(testFileSets); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java new file mode 100644 index 000000000..c4dc7b3c2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java @@ -0,0 +1,34 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.List; +@RunWith(MockitoJUnitRunner.class) +public class TestFileSetServiceTest { + @Mock + private TestFileSetRepository testFileSetRepository; + private TestFileSetService testFileSetService; + @Before + public void setup() { + testFileSetService = new TestFileSetService(); + testFileSetService.testFileSetRepository = testFileSetRepository; + } + @Test + public void testUpdateFileSetTeam() { + String teamId = "teamId"; + String teamName = "teamName"; + List testFileSets = new ArrayList<>(); + TestFileSet testFileSet1 = new TestFileSet(); + testFileSet1.setTeamId(teamId); + testFileSets.add(testFileSet1); + TestFileSet testFileSet2 = new TestFileSet(); + testFileSet2.setTeamId(teamId); + testFileSets.add(testFileSet2); + Mockito.when(testFileSetRepository.findAllByTeamId(teamId)).thenReturn(testFileSets); + testFileSetService.updateFileSetTeam(teamId, teamName); + Mockito.verify(testFileSetRepository, Mockito.times(1)).saveAll(testFileSets); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java new file mode 100644 index 000000000..daac1b11b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java @@ -0,0 +1,27 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class TestTaskServiceTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private TestDataService testDataService; +private TestTaskService testTaskService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); testTaskService = new TestTaskService(); testTaskService.deviceAgentManagementService = deviceAgentManagementService; testTaskService.agentManageService = agentManageService; testTaskService.deviceGroupService = deviceGroupService; testTaskService.testDataService = testDataService; +} + +@Test +public void testAddTask() { + TestTaskSpec task = new TestTaskSpec(); testTaskService.addTask(task); verify(testDataService, times(1)).saveTestTaskData(any(TestTask.class)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java new file mode 100644 index 000000000..bb771c62b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java @@ -0,0 +1,35 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class TestTaskServiceTest { + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private TestDataService testDataService; + + private TestTaskService testTaskService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + testTaskService = new TestTaskService(); + testTaskService.deviceAgentManagementService = deviceAgentManagementService; + testTaskService.agentManageService = agentManageService; + testTaskService.deviceGroupService = deviceGroupService; + testTaskService.testDataService = testDataService; + } + + @Test + public void testAddTask() { + TestTaskSpec task = new TestTaskSpec(); + testTaskService.addTask(task); + verify(testDataService, times(1)).saveTestTaskData(any(TestTask.class)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java new file mode 100644 index 000000000..a55ac52e6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java @@ -0,0 +1,29 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import java.util.Queue; + +public class TestTaskServiceTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private TestDataService testDataService; +private TestTaskService testTaskService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); testTaskService = new TestTaskService(); testTaskService.deviceAgentManagementService = deviceAgentManagementService; testTaskService.agentManageService = agentManageService; testTaskService.deviceGroupService = deviceGroupService; testTaskService.testDataService = testDataService; +} + +@Test +public void testIsQueueEmpty() { + Queue taskQueue = Mockito.mock(Queue.class); Mockito.when(taskQueue.isEmpty()).thenReturn(true); testTaskService.taskQueue = taskQueue; Boolean result = testTaskService.isQueueEmpty(); Assert.assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java new file mode 100644 index 000000000..d1e83ab80 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java @@ -0,0 +1,41 @@ +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import java.util.Queue; + +public class TestTaskServiceTest { + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private TestDataService testDataService; + + private TestTaskService testTaskService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + testTaskService = new TestTaskService(); + testTaskService.deviceAgentManagementService = deviceAgentManagementService; + testTaskService.agentManageService = agentManageService; + testTaskService.deviceGroupService = deviceGroupService; + testTaskService.testDataService = testDataService; + } + + @Test + public void testIsQueueEmpty() { + Queue taskQueue = Mockito.mock(Queue.class); + Mockito.when(taskQueue.isEmpty()).thenReturn(true); + testTaskService.taskQueue = taskQueue; + + Boolean result = testTaskService.isQueueEmpty(); + + Assert.assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java new file mode 100644 index 000000000..109320bf4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java @@ -0,0 +1,24 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +public class TestTaskServiceTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private TestTaskSpec testTaskSpec; +private TestTaskService testTaskService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); testTaskService = new TestTaskService(); testTaskService.deviceAgentManagementService = deviceAgentManagementService; +} + +@Test +public void testIsDeviceFree() { + String deviceIdentifier = "device1"; when(deviceAgentManagementService.queryGroupByDevice(deviceIdentifier)).thenReturn(new HashSet<>()); when(deviceAgentManagementService.queryDeviceByGroup(deviceIdentifier)).thenReturn(new HashSet<>()); Boolean result = testTaskService.isDeviceFree(deviceIdentifier); assertTrue(result); verify(deviceAgentManagementService, times(1)).queryGroupByDevice(deviceIdentifier); verify(deviceAgentManagementService, times(1)).queryDeviceByGroup(deviceIdentifier); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java new file mode 100644 index 000000000..27f5f4f4d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java @@ -0,0 +1,35 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +public class TestTaskServiceTest { + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private TestTaskSpec testTaskSpec; + + private TestTaskService testTaskService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + testTaskService = new TestTaskService(); + testTaskService.deviceAgentManagementService = deviceAgentManagementService; + } + + @Test + public void testIsDeviceFree() { + String deviceIdentifier = "device1"; + when(deviceAgentManagementService.queryGroupByDevice(deviceIdentifier)).thenReturn(new HashSet<>()); + when(deviceAgentManagementService.queryDeviceByGroup(deviceIdentifier)).thenReturn(new HashSet<>()); + + Boolean result = testTaskService.isDeviceFree(deviceIdentifier); + + assertTrue(result); + verify(deviceAgentManagementService, times(1)).queryGroupByDevice(deviceIdentifier); + verify(deviceAgentManagementService, times(1)).queryDeviceByGroup(deviceIdentifier); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java new file mode 100644 index 000000000..7c0fa75bb --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java @@ -0,0 +1,36 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.LinkedList; +import java.util.Queue; +import java.util.concurrent.atomic.AtomicBoolean; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private TestDataService testDataService; +@InjectMocks +private TestTaskService testTaskService; +private Queue taskQueue; +private AtomicBoolean isRunning; +@Before +public void setUp() { + taskQueue = new LinkedList<>(); isRunning = new AtomicBoolean(false); +} + +@Test +public void testRunTask() { + TestTaskSpec testTaskSpec = new TestTaskSpec(); testTaskSpec.setTestTaskId("testTaskId"); testTaskSpec.setDeviceIdentifier("deviceIdentifier"); taskQueue.offer(testTaskSpec); Mockito.when(testTaskService.getTestQueueCopy()).thenReturn(taskQueue); Mockito.when(deviceAgentManagementService.runTestTaskBySpec(testTaskSpec)).thenReturn(new JSONObject()); testTaskService.runTask(); Mockito.verify(deviceAgentManagementService, Mockito.times(1)).runTestTaskBySpec(testTaskSpec); Mockito.verify(testDataService, Mockito.times(1)).saveTestTaskData(Mockito.any(TestTask.class)); Mockito.verify(testTaskService, Mockito.times(1)).getTestQueueCopy(); Mockito.verify(testTaskService, Mockito.times(1)).isRunning.set(false); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java new file mode 100644 index 000000000..a355045f2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java @@ -0,0 +1,47 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.LinkedList; +import java.util.Queue; +import java.util.concurrent.atomic.AtomicBoolean; +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private AgentManageService agentManageService; + @Mock + private DeviceGroupService deviceGroupService; + @Mock + private TestDataService testDataService; + @InjectMocks + private TestTaskService testTaskService; + private Queue taskQueue; + private AtomicBoolean isRunning; + @Before + public void setUp() { + taskQueue = new LinkedList<>(); + isRunning = new AtomicBoolean(false); + } + @Test + public void testRunTask() { + // Arrange + TestTaskSpec testTaskSpec = new TestTaskSpec(); + testTaskSpec.setTestTaskId("testTaskId"); + testTaskSpec.setDeviceIdentifier("deviceIdentifier"); + taskQueue.offer(testTaskSpec); + Mockito.when(testTaskService.getTestQueueCopy()).thenReturn(taskQueue); + Mockito.when(deviceAgentManagementService.runTestTaskBySpec(testTaskSpec)).thenReturn(new JSONObject()); + // Act + testTaskService.runTask(); + // Assert + Mockito.verify(deviceAgentManagementService, Mockito.times(1)).runTestTaskBySpec(testTaskSpec); + Mockito.verify(testDataService, Mockito.times(1)).saveTestTaskData(Mockito.any(TestTask.class)); + Mockito.verify(testTaskService, Mockito.times(1)).getTestQueueCopy(); + Mockito.verify(testTaskService, Mockito.times(1)).isRunning.set(false); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java new file mode 100644 index 000000000..28fa955fa --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java @@ -0,0 +1,32 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private AgentManageService agentManageService; +@Mock +private DeviceGroupService deviceGroupService; +@Mock +private TestDataService testDataService; +@InjectMocks +private TestTaskService testTaskService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testCancelTask() { + String testTaskId = "12345"; testTaskService.cancelTask(testTaskId); verify(testTaskService, times(1)).cancelTask(testTaskId); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java new file mode 100644 index 000000000..ce741b3cb --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java @@ -0,0 +1,42 @@ +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private AgentManageService agentManageService; + + @Mock + private DeviceGroupService deviceGroupService; + + @Mock + private TestDataService testDataService; + + @InjectMocks + private TestTaskService testTaskService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCancelTask() { + String testTaskId = "12345"; + + testTaskService.cancelTask(testTaskId); + + verify(testTaskService, times(1)).cancelTask(testTaskId); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java new file mode 100644 index 000000000..4c29de7a6 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java @@ -0,0 +1,29 @@ +import com.microsoft.hydralab.center.service.TestTaskService; +import com.microsoft.hydralab.common.entity.center.TestTaskQueuedInfo; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { +@Mock +private TestTaskQueuedInfo testTaskQueuedInfo; +@InjectMocks +private TestTaskService testTaskService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testGetTestQueuedInfo() { + String testTaskId = "12345"; when(testTaskService.getTestQueuedInfo(testTaskId)).thenReturn(testTaskQueuedInfo); TestTaskQueuedInfo result = testTaskService.getTestQueuedInfo(testTaskId); assertEquals(testTaskQueuedInfo, result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java new file mode 100644 index 000000000..f3aea4b69 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java @@ -0,0 +1,41 @@ +import com.microsoft.hydralab.center.service.TestTaskService; +import com.microsoft.hydralab.common.entity.center.TestTaskQueuedInfo; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { + + @Mock + private TestTaskQueuedInfo testTaskQueuedInfo; + + @InjectMocks + private TestTaskService testTaskService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testGetTestQueuedInfo() { + String testTaskId = "12345"; + + // Mock the behavior of the method being tested + when(testTaskService.getTestQueuedInfo(testTaskId)).thenReturn(testTaskQueuedInfo); + + // Call the method being tested + TestTaskQueuedInfo result = testTaskService.getTestQueuedInfo(testTaskId); + + // Verify the result + assertEquals(testTaskQueuedInfo, result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java new file mode 100644 index 000000000..87c116561 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java @@ -0,0 +1,29 @@ +import com.microsoft.hydralab.center.service.TestTaskService; +import com.microsoft.hydralab.common.entity.center.TestTaskSpec; +import com.microsoft.hydralab.common.util.HydraLabRuntimeException; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { +@Mock +private TestTaskSpec testTaskSpec; +@InjectMocks +private TestTaskService testTaskService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testCheckTestTaskTeamConsistency() { + String teamId = "teamId"; String teamName = "teamName"; testTaskService.checkTestTaskTeamConsistency(testTaskSpec); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java new file mode 100644 index 000000000..ba51a243e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java @@ -0,0 +1,40 @@ +import com.microsoft.hydralab.center.service.TestTaskService; +import com.microsoft.hydralab.common.entity.center.TestTaskSpec; +import com.microsoft.hydralab.common.util.HydraLabRuntimeException; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class TestTaskServiceTest { + + @Mock + private TestTaskSpec testTaskSpec; + + @InjectMocks + private TestTaskService testTaskService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testCheckTestTaskTeamConsistency() throws HydraLabRuntimeException { + // Arrange + String teamId = "teamId"; + String teamName = "teamName"; + + // Act + testTaskService.checkTestTaskTeamConsistency(testTaskSpec); + + // Assert + // Add your assertions here + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java new file mode 100644 index 000000000..8649c2894 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java @@ -0,0 +1,22 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.List; +import static org.mockito.Mockito.*; + +public class TestTaskServiceTest { +@Mock +private TestDataService testDataService; +private TestTaskService testTaskService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); testTaskService = new TestTaskService(); testTaskService.testDataService = testDataService; +} + +@Test +public void testUpdateTaskTeam() { + String teamId = "123"; String teamName = "Test Team"; List testTasks = mock(List.class); when(testDataService.getTasksByTeamId(teamId)).thenReturn(testTasks); testTaskService.updateTaskTeam(teamId, teamName); verify(testTasks, times(1)).forEach(any()); verify(testDataService, times(1)).saveAllTestTasks(testTasks); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java new file mode 100644 index 000000000..5eb74da5b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java @@ -0,0 +1,34 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.List; +import static org.mockito.Mockito.*; + +public class TestTaskServiceTest { + @Mock + private TestDataService testDataService; + + private TestTaskService testTaskService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + testTaskService = new TestTaskService(); + testTaskService.testDataService = testDataService; + } + + @Test + public void testUpdateTaskTeam() { + String teamId = "123"; + String teamName = "Test Team"; + + List testTasks = mock(List.class); + when(testDataService.getTasksByTeamId(teamId)).thenReturn(testTasks); + + testTaskService.updateTaskTeam(teamId, teamName); + + verify(testTasks, times(1)).forEach(any()); + verify(testDataService, times(1)).saveAllTestTasks(testTasks); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java new file mode 100644 index 000000000..4bd63adcf --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java @@ -0,0 +1,40 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.util.CollectionUtils; +import java.util.*; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@InjectMocks +private UserTeamManagementService userTeamManagementService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); +} + +@Test +public void testInitList() { + List relationList = new ArrayList<>(); UserTeamRelation relation = new UserTeamRelation("teamId", "mailAddress", true); relationList.add(relation); Mockito.when(userTeamRelationRepository.findAll()).thenReturn(relationList); SysTeam team = new SysTeam(); Mockito.when(sysTeamService.queryTeamById(Mockito.anyString())).thenReturn(team); SysUser user = new SysUser(); Mockito.when(sysUserService.queryUserByMailAddress(Mockito.anyString())).thenReturn(user); userTeamManagementService.initList(); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java new file mode 100644 index 000000000..393567d77 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java @@ -0,0 +1,62 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import com.microsoft.hydralab.common.entity.common.CriteriaType; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.util.CollectionUtils; + +import java.util.*; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + @InjectMocks + private UserTeamManagementService userTeamManagementService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testInitList() { + // Arrange + List relationList = new ArrayList<>(); + UserTeamRelation relation = new UserTeamRelation("teamId", "mailAddress", true); + relationList.add(relation); + Mockito.when(userTeamRelationRepository.findAll()).thenReturn(relationList); + + SysTeam team = new SysTeam(); + Mockito.when(sysTeamService.queryTeamById(Mockito.anyString())).thenReturn(team); + + SysUser user = new SysUser(); + Mockito.when(sysUserService.queryUserByMailAddress(Mockito.anyString())).thenReturn(user); + + // Act + userTeamManagementService.initList(); + + // Assert + // Add your assertions here + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java new file mode 100644 index 000000000..164c93969 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java @@ -0,0 +1,39 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.HashSet; +import java.util.Set; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +private UserTeamManagementService userTeamManagementService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); userTeamManagementService = new UserTeamManagementService(); userTeamManagementService.setUserTeamRelationRepository(userTeamRelationRepository); userTeamManagementService.setSysTeamService(sysTeamService); userTeamManagementService.setSysUserService(sysUserService); userTeamManagementService.setSysRoleService(sysRoleService); +} + +@Test +public void testAddUserTeamRelation() { + String teamId = "team1"; SysUser user = new SysUser(); user.setMailAddress("user1@example.com"); boolean isTeamAdmin = true; SysTeam team = new SysTeam(); team.setTeamId(teamId); when(sysTeamService.queryTeamById(teamId)).thenReturn(team); UserTeamRelation result = userTeamManagementService.addUserTeamRelation(teamId, user, isTeamAdmin); assertEquals(teamId, result.getTeamId()); assertEquals(user.getMailAddress(), result.getMailAddress()); assertEquals(isTeamAdmin, result.isTeamAdmin()); verify(userTeamRelationRepository, times(1)).save(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java new file mode 100644 index 000000000..25fd72e58 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java @@ -0,0 +1,66 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysRole; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + @Mock + private SysTeamService sysTeamService; + @Mock + private SysUserService sysUserService; + @Mock + private SysRoleService sysRoleService; + + private UserTeamManagementService userTeamManagementService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + userTeamManagementService = new UserTeamManagementService(); + userTeamManagementService.setUserTeamRelationRepository(userTeamRelationRepository); + userTeamManagementService.setSysTeamService(sysTeamService); + userTeamManagementService.setSysUserService(sysUserService); + userTeamManagementService.setSysRoleService(sysRoleService); + } + + @Test + public void testAddUserTeamRelation() { + // Arrange + String teamId = "team1"; + SysUser user = new SysUser(); + user.setMailAddress("user1@example.com"); + boolean isTeamAdmin = true; + + SysTeam team = new SysTeam(); + team.setTeamId(teamId); + + when(sysTeamService.queryTeamById(teamId)).thenReturn(team); + + // Act + UserTeamRelation result = userTeamManagementService.addUserTeamRelation(teamId, user, isTeamAdmin); + + // Assert + assertEquals(teamId, result.getTeamId()); + assertEquals(user.getMailAddress(), result.getMailAddress()); + assertEquals(isTeamAdmin, result.isTeamAdmin()); + verify(userTeamRelationRepository, times(1)).save(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java new file mode 100644 index 000000000..05458cc02 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java @@ -0,0 +1,27 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +private UserTeamManagementService userTeamManagementService; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); userTeamManagementService = new UserTeamManagementService(); userTeamManagementService.userTeamRelationRepository = userTeamRelationRepository; userTeamManagementService.sysTeamService = sysTeamService; userTeamManagementService.sysUserService = sysUserService; userTeamManagementService.sysRoleService = sysRoleService; +} + +@Test +public void testDeleteUserTeamRelation() { + UserTeamRelation relation = new UserTeamRelation("teamId", "mailAddress", true); userTeamManagementService.deleteUserTeamRelation(relation); verify(userTeamRelationRepository, times(1)).delete(relation); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java new file mode 100644 index 000000000..6b331f96c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java @@ -0,0 +1,41 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + private UserTeamManagementService userTeamManagementService; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + userTeamManagementService = new UserTeamManagementService(); + userTeamManagementService.userTeamRelationRepository = userTeamRelationRepository; + userTeamManagementService.sysTeamService = sysTeamService; + userTeamManagementService.sysUserService = sysUserService; + userTeamManagementService.sysRoleService = sysRoleService; + } + + @Test + public void testDeleteUserTeamRelation() { + UserTeamRelation relation = new UserTeamRelation("teamId", "mailAddress", true); + + userTeamManagementService.deleteUserTeamRelation(relation); + + verify(userTeamRelationRepository, times(1)).delete(relation); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java new file mode 100644 index 000000000..4243b2d30 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java @@ -0,0 +1,33 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.Optional; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.anyString; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@InjectMocks +private UserTeamManagementService userTeamManagementService; +@Before +public void setUp() { + UserTeamRelation userTeamRelation = new UserTeamRelation("teamId", "mailAddress", true); Mockito.when(userTeamRelationRepository.findByMailAddressAndTeamId(anyString(), anyString())).thenReturn(Optional.of(userTeamRelation)); +} + +@Test +public void testQueryRelation() { + UserTeamRelation result = userTeamManagementService.queryRelation("mailAddress", "teamId"); assertEquals("teamId", result.getTeamId()); assertEquals("mailAddress", result.getMailAddress()); assertEquals(true, result.isTeamAdmin()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java new file mode 100644 index 000000000..e75d7b83b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java @@ -0,0 +1,41 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import com.microsoft.hydralab.common.util.Const; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.Optional; + +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.anyString; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @InjectMocks + private UserTeamManagementService userTeamManagementService; + + @Before + public void setUp() { + UserTeamRelation userTeamRelation = new UserTeamRelation("teamId", "mailAddress", true); + Mockito.when(userTeamRelationRepository.findByMailAddressAndTeamId(anyString(), anyString())).thenReturn(Optional.of(userTeamRelation)); + } + + @Test + public void testQueryRelation() { + UserTeamRelation result = userTeamManagementService.queryRelation("mailAddress", "teamId"); + assertEquals("teamId", result.getTeamId()); + assertEquals("mailAddress", result.getMailAddress()); + assertEquals(true, result.isTeamAdmin()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java new file mode 100644 index 000000000..8390f5cd3 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java @@ -0,0 +1,52 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@InjectMocks +private UserTeamManagementService userTeamManagementService; +private SysUser requestor; +private String teamId; +@Before +public void setUp() { + requestor = new SysUser(); teamId = "team1"; +} + +@Test +public void testCheckUserExistenceWithTeam_Exist() { + List users = new ArrayList<>(); SysUser user1 = new SysUser(); user1.setMailAddress("user1@example.com"); users.add(user1); Mockito.when(userTeamManagementService.queryUsersByTeam(teamId)).thenReturn(users); boolean result = userTeamManagementService.checkUserExistenceWithTeam(requestor, teamId); assertTrue(result); +} + +@Test +public void testCheckUserExistenceWithTeam_NotExist() { + List users = new ArrayList<>(); Mockito.when(userTeamManagementService.queryUsersByTeam(teamId)).thenReturn(users); boolean result = userTeamManagementService.checkUserExistenceWithTeam(requestor, teamId); assertFalse(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java new file mode 100644 index 000000000..8b138679b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java @@ -0,0 +1,80 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + @InjectMocks + private UserTeamManagementService userTeamManagementService; + + private SysUser requestor; + private String teamId; + + @Before + public void setUp() { + requestor = new SysUser(); + teamId = "team1"; + } + + @Test + public void testCheckUserExistenceWithTeam_Exist() { + // Arrange + List users = new ArrayList<>(); + SysUser user1 = new SysUser(); + user1.setMailAddress("user1@example.com"); + users.add(user1); + Mockito.when(userTeamManagementService.queryUsersByTeam(teamId)).thenReturn(users); + + // Act + boolean result = userTeamManagementService.checkUserExistenceWithTeam(requestor, teamId); + + // Assert + assertTrue(result); + } + + @Test + public void testCheckUserExistenceWithTeam_NotExist() { + // Arrange + List users = new ArrayList<>(); + Mockito.when(userTeamManagementService.queryUsersByTeam(teamId)).thenReturn(users); + + // Act + boolean result = userTeamManagementService.checkUserExistenceWithTeam(requestor, teamId); + + // Assert + assertFalse(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java new file mode 100644 index 000000000..796a54b57 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java @@ -0,0 +1,28 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.*; + +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +private UserTeamManagementService userTeamManagementService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); userTeamManagementService = new UserTeamManagementService(); userTeamManagementService.userTeamRelationRepository = userTeamRelationRepository; userTeamManagementService.sysTeamService = sysTeamService; userTeamManagementService.sysUserService = sysUserService; userTeamManagementService.sysRoleService = sysRoleService; +} + +@Test +public void testCheckTeamAdmin() { + String teamId = "123"; String mailAddress = "test@example.com"; Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, mailAddress)).thenReturn(true); boolean result = userTeamManagementService.checkTeamAdmin(teamId, mailAddress); assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java new file mode 100644 index 000000000..14483392d --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java @@ -0,0 +1,45 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.*; + +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + private UserTeamManagementService userTeamManagementService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + userTeamManagementService = new UserTeamManagementService(); + userTeamManagementService.userTeamRelationRepository = userTeamRelationRepository; + userTeamManagementService.sysTeamService = sysTeamService; + userTeamManagementService.sysUserService = sysUserService; + userTeamManagementService.sysRoleService = sysRoleService; + } + + @Test + public void testCheckTeamAdmin() { + String teamId = "123"; + String mailAddress = "test@example.com"; + + Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, mailAddress)).thenReturn(true); + + boolean result = userTeamManagementService.checkTeamAdmin(teamId, mailAddress); + + assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java new file mode 100644 index 000000000..dcec89af7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java @@ -0,0 +1,28 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.*; + +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +private UserTeamManagementService userTeamManagementService; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); userTeamManagementService = new UserTeamManagementService(); userTeamManagementService.userTeamRelationRepository = userTeamRelationRepository; userTeamManagementService.sysTeamService = sysTeamService; userTeamManagementService.sysUserService = sysUserService; userTeamManagementService.sysRoleService = sysRoleService; +} + +@Test +public void testCheckUserTeamRelation() { + String mailAddress = "test@example.com"; String teamId = "12345"; UserTeamRelation userTeamRelation = new UserTeamRelation(teamId, mailAddress, false); Mockito.when(userTeamRelationRepository.findByMailAddressAndTeamId(mailAddress, teamId)).thenReturn(Optional.of(userTeamRelation)); boolean result = userTeamManagementService.checkUserTeamRelation(mailAddress, teamId); assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java new file mode 100644 index 000000000..ea35a1f93 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java @@ -0,0 +1,49 @@ +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.*; + +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + private UserTeamManagementService userTeamManagementService; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + userTeamManagementService = new UserTeamManagementService(); + userTeamManagementService.userTeamRelationRepository = userTeamRelationRepository; + userTeamManagementService.sysTeamService = sysTeamService; + userTeamManagementService.sysUserService = sysUserService; + userTeamManagementService.sysRoleService = sysRoleService; + } + + @Test + public void testCheckUserTeamRelation() { + String mailAddress = "test@example.com"; + String teamId = "12345"; + + // Mock the behavior of the userTeamRelationRepository + UserTeamRelation userTeamRelation = new UserTeamRelation(teamId, mailAddress, false); + Mockito.when(userTeamRelationRepository.findByMailAddressAndTeamId(mailAddress, teamId)).thenReturn(Optional.of(userTeamRelation)); + + // Call the target function + boolean result = userTeamManagementService.checkUserTeamRelation(mailAddress, teamId); + + // Verify the result + assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java new file mode 100644 index 000000000..ceba00e6b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java @@ -0,0 +1,50 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import java.util.HashSet; +import java.util.Set; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@InjectMocks +private UserTeamManagementService userTeamManagementService; +private SysUser requestor; +private String teamId; +@Before +public void setup() { + requestor = new SysUser(); teamId = "team1"; +} + +@Test +public void testCheckRequestorTeamRelation_WhenRequestorIsTeamAdmin_ReturnsTrue() { + Set teamAdmins = new HashSet<>(); teamAdmins.add(requestor.getMailAddress()); Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId)).thenReturn(true); Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, requestor.getMailAddress())).thenReturn(true); boolean result = userTeamManagementService.checkRequestorTeamRelation(requestor, teamId); assertTrue(result); +} + +@Test +public void testCheckRequestorTeamRelation_WhenRequestorIsNotTeamAdmin_ReturnsFalse() { + Set teamAdmins = new HashSet<>(); teamAdmins.add(requestor.getMailAddress()); Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId)).thenReturn(false); Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, requestor.getMailAddress())).thenReturn(false); boolean result = userTeamManagementService.checkRequestorTeamRelation(requestor, teamId); assertFalse(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java new file mode 100644 index 000000000..107c9e05f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java @@ -0,0 +1,79 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.HashSet; +import java.util.Set; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + @InjectMocks + private UserTeamManagementService userTeamManagementService; + + private SysUser requestor; + private String teamId; + + @Before + public void setup() { + requestor = new SysUser(); + teamId = "team1"; + } + + @Test + public void testCheckRequestorTeamRelation_WhenRequestorIsTeamAdmin_ReturnsTrue() { + // Arrange + Set teamAdmins = new HashSet<>(); + teamAdmins.add(requestor.getMailAddress()); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId)).thenReturn(true); + Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, requestor.getMailAddress())).thenReturn(true); + + // Act + boolean result = userTeamManagementService.checkRequestorTeamRelation(requestor, teamId); + + // Assert + assertTrue(result); + } + + @Test + public void testCheckRequestorTeamRelation_WhenRequestorIsNotTeamAdmin_ReturnsFalse() { + // Arrange + Set teamAdmins = new HashSet<>(); + teamAdmins.add(requestor.getMailAddress()); + Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId)).thenReturn(false); + Mockito.when(userTeamManagementService.checkTeamAdmin(teamId, requestor.getMailAddress())).thenReturn(false); + + // Act + boolean result = userTeamManagementService.checkRequestorTeamRelation(requestor, teamId); + + // Assert + assertFalse(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java new file mode 100644 index 000000000..6637cf587 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java @@ -0,0 +1,48 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@Mock +private SysTeamService sysTeamService; +@Mock +private SysUserService sysUserService; +@Mock +private SysRoleService sysRoleService; +@InjectMocks +private UserTeamManagementService userTeamManagementService; +private SysUser requestor; +private String teamId; +@Before +public void setup() { + requestor = new SysUser(); teamId = "team1"; +} + +@Test +public void testCheckRequestorTeamAdmin_WhenRequestorIsTeamAdmin_ReturnsTrue() { + requestor.setTeamAdminMap(Map.of(teamId, true)); boolean result = userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId); assertTrue(result); +} + +@Test +public void testCheckRequestorTeamAdmin_WhenRequestorIsNotTeamAdmin_ReturnsFalse() { + requestor.setTeamAdminMap(Map.of(teamId, false)); boolean result = userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId); assertFalse(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java new file mode 100644 index 000000000..4feb74284 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java @@ -0,0 +1,70 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.center.service.SysRoleService; +import com.microsoft.hydralab.center.service.SysTeamService; +import com.microsoft.hydralab.center.service.SysUserService; +import com.microsoft.hydralab.center.service.UserTeamManagementService; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import com.microsoft.hydralab.common.entity.center.SysUser; +import com.microsoft.hydralab.common.entity.center.UserTeamRelation; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @Mock + private SysTeamService sysTeamService; + + @Mock + private SysUserService sysUserService; + + @Mock + private SysRoleService sysRoleService; + + @InjectMocks + private UserTeamManagementService userTeamManagementService; + + private SysUser requestor; + private String teamId; + + @Before + public void setup() { + requestor = new SysUser(); + teamId = "team1"; + } + + @Test + public void testCheckRequestorTeamAdmin_WhenRequestorIsTeamAdmin_ReturnsTrue() { + // Arrange + requestor.setTeamAdminMap(Map.of(teamId, true)); + + // Act + boolean result = userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId); + + // Assert + assertTrue(result); + } + + @Test + public void testCheckRequestorTeamAdmin_WhenRequestorIsNotTeamAdmin_ReturnsFalse() { + // Arrange + requestor.setTeamAdminMap(Map.of(teamId, false)); + + // Act + boolean result = userTeamManagementService.checkRequestorTeamAdmin(requestor, teamId); + + // Assert + assertFalse(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java new file mode 100644 index 000000000..102a3f977 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { +@Mock +private UserTeamRelationRepository userTeamRelationRepository; +@InjectMocks +private UserTeamManagementService userTeamManagementService; +private SysTeam team; +@Before +public void setUp() { + team = new SysTeam(); team.setTeamId("teamId"); +} + +@Test +public void testDeleteTeam() { + userTeamManagementService.deleteTeam(team); Mockito.verify(userTeamRelationRepository).findAllByTeamId("teamId"); Mockito.verify(userTeamManagementService).deleteUserTeamRelation(Mockito.any()); Mockito.verify(userTeamManagementService).sysTeamService.deleteTeam(team); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java new file mode 100644 index 000000000..5461e12ae --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java @@ -0,0 +1,35 @@ +import com.microsoft.hydralab.center.repository.UserTeamRelationRepository; +import com.microsoft.hydralab.common.entity.center.SysTeam; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class UserTeamManagementServiceTest { + + @Mock + private UserTeamRelationRepository userTeamRelationRepository; + + @InjectMocks + private UserTeamManagementService userTeamManagementService; + + private SysTeam team; + + @Before + public void setUp() { + team = new SysTeam(); + team.setTeamId("teamId"); + } + + @Test + public void testDeleteTeam() { + userTeamManagementService.deleteTeam(team); + Mockito.verify(userTeamRelationRepository).findAllByTeamId("teamId"); + Mockito.verify(userTeamManagementService).deleteUserTeamRelation(Mockito.any()); + Mockito.verify(userTeamManagementService).sysTeamService.deleteTeam(team); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java new file mode 100644 index 000000000..e71781d4a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java @@ -0,0 +1,26 @@ +import com.microsoft.hydralab.center.config.SpringApplicationListener; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.websocket.Session; +import static org.mockito.Mockito.verify; + +public class CenterDeviceSocketEndpointTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private Session session; +private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); SpringApplicationListener.getApplicationContext().getAutowireCapableBeanFactory().autowireBean(centerDeviceSocketEndpoint); +} + +@Test +public void testOnOpen() { + centerDeviceSocketEndpoint.onOpen(session); verify(deviceAgentManagementService).onOpen(session); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java new file mode 100644 index 000000000..931e9e566 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java @@ -0,0 +1,34 @@ +import com.microsoft.hydralab.center.config.SpringApplicationListener; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import javax.websocket.Session; + +import static org.mockito.Mockito.verify; + +public class CenterDeviceSocketEndpointTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private Session session; + + private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); + SpringApplicationListener.getApplicationContext().getAutowireCapableBeanFactory().autowireBean(centerDeviceSocketEndpoint); + } + + @Test + public void testOnOpen() { + centerDeviceSocketEndpoint.onOpen(session); + verify(deviceAgentManagementService).onOpen(session); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java new file mode 100644 index 000000000..ca8aa9d93 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java @@ -0,0 +1,22 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.websocket.Session; + +public class CenterDeviceSocketEndpointTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); centerDeviceSocketEndpoint.deviceAgentManagementService = deviceAgentManagementService; +} + +@Test +public void testOnClose() { + Session session = new Session(); centerDeviceSocketEndpoint.onClose(session); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java new file mode 100644 index 000000000..9fa3d1423 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java @@ -0,0 +1,29 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import javax.websocket.Session; + +public class CenterDeviceSocketEndpointTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); + centerDeviceSocketEndpoint.deviceAgentManagementService = deviceAgentManagementService; + } + + @Test + public void testOnClose() { + Session session = new Session(); + centerDeviceSocketEndpoint.onClose(session); + // Add assertions here if needed + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java new file mode 100644 index 000000000..c838498e9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java @@ -0,0 +1,30 @@ +import static org.mockito.Mockito.*; +import java.io.IOException; +import java.nio.ByteBuffer; +import javax.websocket.CloseReason; +import javax.websocket.Session; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.Message; +import com.microsoft.hydralab.common.util.SerializeUtil; + +public class CenterDeviceSocketEndpointTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private Session session; +private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); centerDeviceSocketEndpoint.deviceAgentManagementService = deviceAgentManagementService; +} + +@Test +public void testOnMessage() { + ByteBuffer message = ByteBuffer.allocate(10); Message formattedMessage = new Message(); when(SerializeUtil.byteArrToMessage(message.array())).thenReturn(formattedMessage); centerDeviceSocketEndpoint.onMessage(message, session); verify(deviceAgentManagementService).onMessage(formattedMessage, session); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java new file mode 100644 index 000000000..92be7d083 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java @@ -0,0 +1,46 @@ +import static org.mockito.Mockito.*; + +import java.io.IOException; +import java.nio.ByteBuffer; + +import javax.websocket.CloseReason; +import javax.websocket.Session; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.Message; +import com.microsoft.hydralab.common.util.SerializeUtil; + +public class CenterDeviceSocketEndpointTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private Session session; + + private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); + centerDeviceSocketEndpoint.deviceAgentManagementService = deviceAgentManagementService; + } + + @Test + public void testOnMessage() throws IOException { + ByteBuffer message = ByteBuffer.allocate(10); + Message formattedMessage = new Message(); + + when(SerializeUtil.byteArrToMessage(message.array())).thenReturn(formattedMessage); + + centerDeviceSocketEndpoint.onMessage(message, session); + + verify(deviceAgentManagementService).onMessage(formattedMessage, session); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java new file mode 100644 index 000000000..9df1bb238 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java @@ -0,0 +1,25 @@ +import com.microsoft.hydralab.center.socket.CenterDeviceSocketEndpoint; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import javax.websocket.Session; +import static org.mockito.Mockito.verify; + +public class CenterDeviceSocketEndpointTest { +@Mock +private Session session; +@Mock +private Throwable error; +private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); +} + +@Test +public void testOnError() { + centerDeviceSocketEndpoint.onError(session, error); verify(centerDeviceSocketEndpoint.getDeviceAgentManagementService()).onError(session, error); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java new file mode 100644 index 000000000..da7e5d910 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java @@ -0,0 +1,32 @@ +import com.microsoft.hydralab.center.socket.CenterDeviceSocketEndpoint; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import javax.websocket.Session; + +import static org.mockito.Mockito.verify; + +public class CenterDeviceSocketEndpointTest { + + @Mock + private Session session; + + @Mock + private Throwable error; + + private CenterDeviceSocketEndpoint centerDeviceSocketEndpoint; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + centerDeviceSocketEndpoint = new CenterDeviceSocketEndpoint(); + } + + @Test + public void testOnError() { + centerDeviceSocketEndpoint.onError(session, error); + verify(centerDeviceSocketEndpoint.getDeviceAgentManagementService()).onError(session, error); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java new file mode 100644 index 000000000..b617d4d10 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java @@ -0,0 +1,13 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.test.util.ReflectionTestUtils; + +public class AuthUtilTest { +@Test +public void testIsIgnore() { + AuthUtil authUtil = new AuthUtil(); String requestUrl = "example.com"; ReflectionTestUtils.setField(authUtil, "urlMapping", Mockito.mock(Map.class)); Mockito.when(authUtil.urlMapping.get(requestUrl)).thenReturn(true); boolean result = authUtil.isIgnore(requestUrl); Assert.assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java new file mode 100644 index 000000000..409edfc4a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java @@ -0,0 +1,26 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.test.util.ReflectionTestUtils; + +public class AuthUtilTest { + + @Test + public void testIsIgnore() { + AuthUtil authUtil = new AuthUtil(); + String requestUrl = "example.com"; + + // Mock the urlMapping map + ReflectionTestUtils.setField(authUtil, "urlMapping", Mockito.mock(Map.class)); + + // Mock the urlMapping.get() method to return true + Mockito.when(authUtil.urlMapping.get(requestUrl)).thenReturn(true); + + // Call the target function + boolean result = authUtil.isIgnore(requestUrl); + + // Verify the result + Assert.assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java new file mode 100644 index 000000000..8886521ca --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java @@ -0,0 +1,26 @@ +import com.alibaba.fastjson.JSONObject; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; +import java.util.HashMap; +import java.util.Map; + +public class AuthUtilTest { +private AuthUtil authUtil; +private RestTemplate restTemplate; +@Before +public void setup() { + authUtil = new AuthUtil(); restTemplate = Mockito.mock(RestTemplate.class); +} + +@Test +public void testVerifyToken() { + String token = "sampleToken"; JSONObject userInfo = new JSONObject(); userInfo.put("appid", authUtil.clientId); Mockito.when(restTemplate.exchange(Mockito.anyString(), Mockito.eq(HttpMethod.POST), Mockito.any(HttpEntity.class), Mockito.eq(JSONObject.class))) .thenReturn(ResponseEntity.ok(userInfo)); boolean result = authUtil.verifyToken(token); Assert.assertTrue(result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java new file mode 100644 index 000000000..08ea8640a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java @@ -0,0 +1,41 @@ +import com.alibaba.fastjson.JSONObject; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; + +import java.util.HashMap; +import java.util.Map; + +public class AuthUtilTest { + + private AuthUtil authUtil; + private RestTemplate restTemplate; + + @Before + public void setup() { + authUtil = new AuthUtil(); + restTemplate = Mockito.mock(RestTemplate.class); + } + + @Test + public void testVerifyToken() { + // Arrange + String token = "sampleToken"; + JSONObject userInfo = new JSONObject(); + userInfo.put("appid", authUtil.clientId); + + Mockito.when(restTemplate.exchange(Mockito.anyString(), Mockito.eq(HttpMethod.POST), Mockito.any(HttpEntity.class), Mockito.eq(JSONObject.class))) + .thenReturn(ResponseEntity.ok(userInfo)); + + // Act + boolean result = authUtil.verifyToken(token); + + // Assert + Assert.assertTrue(result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java new file mode 100644 index 000000000..121d1ceee --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java @@ -0,0 +1,20 @@ +import com.alibaba.fastjson.JSONObject; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.util.Base64Utils; + +public class AuthUtilTest { +private AuthUtil authUtil; +@Before +public void setup() { + authUtil = new AuthUtil(); +} + +@Test +public void testDecodeAccessToken() { + String accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; JSONObject result = authUtil.decodeAccessToken(accessToken); Assert.assertNotNull(result); Assert.assertEquals("1234567890", result.getString("sub")); Assert.assertEquals("John Doe", result.getString("name")); Assert.assertEquals(1516239022, result.getLong("iat")); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java new file mode 100644 index 000000000..9164f8696 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java @@ -0,0 +1,31 @@ +import com.alibaba.fastjson.JSONObject; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.util.Base64Utils; + +public class AuthUtilTest { + + private AuthUtil authUtil; + + @Before + public void setup() { + authUtil = new AuthUtil(); + } + + @Test + public void testDecodeAccessToken() { + // Arrange + String accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; + + // Act + JSONObject result = authUtil.decodeAccessToken(accessToken); + + // Assert + Assert.assertNotNull(result); + Assert.assertEquals("1234567890", result.getString("sub")); + Assert.assertEquals("John Doe", result.getString("name")); + Assert.assertEquals(1516239022, result.getLong("iat")); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java new file mode 100644 index 000000000..330974c11 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java @@ -0,0 +1,15 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; + +public class AuthUtilTest { +@Test +public void testGetLoginUserName() { + AuthUtil authUtil = new AuthUtil(); String accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImFkbWluIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; JSONObject mockUserInfo = Mockito.mock(JSONObject.class); Mockito.when(mockUserInfo.getString("unique_name")).thenReturn("admin"); Mockito.when(authUtil.decodeAccessToken(Mockito.anyString())).thenReturn(mockUserInfo); String result = authUtil.getLoginUserName(accessToken); Assert.assertEquals("admin", result); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java new file mode 100644 index 000000000..c81723bb7 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java @@ -0,0 +1,30 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Assert; +import org.junit.Test; +import org.mockito.Mockito; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.nio.charset.StandardCharsets; + +public class AuthUtilTest { + + @Test + public void testGetLoginUserName() { + // Arrange + AuthUtil authUtil = new AuthUtil(); + String accessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6ImFkbWluIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"; + + // Create a mock JSONObject + JSONObject mockUserInfo = Mockito.mock(JSONObject.class); + Mockito.when(mockUserInfo.getString("unique_name")).thenReturn("admin"); + + // Mock the decodeAccessToken method + Mockito.when(authUtil.decodeAccessToken(Mockito.anyString())).thenReturn(mockUserInfo); + + // Act + String result = authUtil.getLoginUserName(accessToken); + + // Assert + Assert.assertEquals("admin", result); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java new file mode 100644 index 000000000..438a65425 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java @@ -0,0 +1,16 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { +@Mock +private AuthUtil authUtil; +@Test +public void testGetLoginUserDisplayName() { + String accessToken = "sampleAccessToken"; String expectedDisplayName = "John Doe"; Mockito.when(authUtil.decodeAccessToken(accessToken)).thenReturn(getMockUserInfo(expectedDisplayName)); String displayName = authUtil.getLoginUserDisplayName(accessToken); assertEquals(expectedDisplayName, displayName); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java new file mode 100644 index 000000000..448b25e4b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java @@ -0,0 +1,30 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { + + @Mock + private AuthUtil authUtil; + + @Test + public void testGetLoginUserDisplayName() { + String accessToken = "sampleAccessToken"; + String expectedDisplayName = "John Doe"; + + Mockito.when(authUtil.decodeAccessToken(accessToken)).thenReturn(getMockUserInfo(expectedDisplayName)); + + String displayName = authUtil.getLoginUserDisplayName(accessToken); + + assertEquals(expectedDisplayName, displayName); + } + + private JSONObject getMockUserInfo(String displayName) { + JSONObject userInfo = new JSONObject(); + userInfo.put("name", displayName); + return userInfo; + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java new file mode 100644 index 000000000..8e290e5a1 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java @@ -0,0 +1,18 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { +@Mock +private AuthUtil authUtil; +@Test +public void testGetLoginUrl() { + String authorizationUri = "https: String clientId = "123456789"; String redirectUri = "https: String scope = "openid profile"; String expectedLoginUrl = authorizationUri + "?client_id=" + clientId + "&response_type=code&redirect_uri=" + redirectUri + "&response_mode=query&scope=" + scope; when(authUtil.getLoginUrl()).thenReturn(expectedLoginUrl); String actualLoginUrl = authUtil.getLoginUrl(); assertEquals(expectedLoginUrl, actualLoginUrl); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java new file mode 100644 index 000000000..0f5433fb2 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { + @Mock + private AuthUtil authUtil; + + @Test + public void testGetLoginUrl() { + String authorizationUri = "https://example.com/auth"; + String clientId = "123456789"; + String redirectUri = "https://example.com/callback"; + String scope = "openid profile"; + String expectedLoginUrl = authorizationUri + "?client_id=" + clientId + "&response_type=code&redirect_uri=" + redirectUri + "&response_mode=query&scope=" + scope; + + when(authUtil.getLoginUrl()).thenReturn(expectedLoginUrl); + + String actualLoginUrl = authUtil.getLoginUrl(); + + assertEquals(expectedLoginUrl, actualLoginUrl); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java new file mode 100644 index 000000000..8dda25279 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java @@ -0,0 +1,16 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { +@Mock +private AuthUtil authUtil; +@Test +public void testGetLoginUrl() { + String originUrl = "https: String queryString = "param1=value1¶m2=value2"; String expectedLoginUrl = "https: Mockito.when(authUtil.getLoginUrl(originUrl, queryString)).thenReturn(expectedLoginUrl); String actualLoginUrl = authUtil.getLoginUrl(originUrl, queryString); assertEquals(expectedLoginUrl, actualLoginUrl); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java new file mode 100644 index 000000000..5464951c4 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java @@ -0,0 +1,26 @@ +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.junit.MockitoJUnitRunner; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { + + @Mock + private AuthUtil authUtil; + + @Test + public void testGetLoginUrl() { + String originUrl = "https://example.com"; + String queryString = "param1=value1¶m2=value2"; + + String expectedLoginUrl = "https://example.com?param1=value1¶m2=value2"; + + Mockito.when(authUtil.getLoginUrl(originUrl, queryString)).thenReturn(expectedLoginUrl); + + String actualLoginUrl = authUtil.getLoginUrl(originUrl, queryString); + + assertEquals(expectedLoginUrl, actualLoginUrl); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java new file mode 100644 index 000000000..8ba21b52f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java @@ -0,0 +1,21 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.*; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.web.client.RestTemplate; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { +@Mock +private RestTemplate restTemplate; +@Test +public void testVerifyCode() { + String code = "testCode"; String clientId = "testClientId"; String redirectUri = "testRedirectUri"; String clientSecret = "testClientSecret"; String tokenUrl = "testTokenUrl"; String accessToken = "testAccessToken"; HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); LinkedMultiValueMap body = new LinkedMultiValueMap<>(); body.add("client_id", clientId); body.add("code", code); body.add("redirect_uri", redirectUri); body.add("grant_type", "authorization_code"); body.add("client_secret", clientSecret); HttpEntity> entity = new HttpEntity<>(body, headers); ResponseEntity responseEntity = new ResponseEntity<>(HttpStatus.OK); when(restTemplate.exchange(eq(tokenUrl), eq(HttpMethod.POST), eq(entity), eq(JSONObject.class))) .thenReturn(responseEntity); AuthUtil authUtil = new AuthUtil(); authUtil.tokenUrl = tokenUrl; authUtil.clientId = clientId; authUtil.redirectUri = redirectUri; authUtil.clientSecret = clientSecret; String result = authUtil.verifyCode(code); assertEquals(accessToken, result); verify(restTemplate, times(1)).exchange(eq(tokenUrl), eq(HttpMethod.POST), eq(entity), eq(JSONObject.class)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java new file mode 100644 index 000000000..ae64f1651 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java @@ -0,0 +1,58 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.http.*; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.web.client.RestTemplate; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { + + @Mock + private RestTemplate restTemplate; + + @Test + public void testVerifyCode() { + // Arrange + String code = "testCode"; + String clientId = "testClientId"; + String redirectUri = "testRedirectUri"; + String clientSecret = "testClientSecret"; + String tokenUrl = "testTokenUrl"; + String accessToken = "testAccessToken"; + + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + + LinkedMultiValueMap body = new LinkedMultiValueMap<>(); + body.add("client_id", clientId); + body.add("code", code); + body.add("redirect_uri", redirectUri); + body.add("grant_type", "authorization_code"); + body.add("client_secret", clientSecret); + + HttpEntity> entity = new HttpEntity<>(body, headers); + + ResponseEntity responseEntity = new ResponseEntity<>(HttpStatus.OK); + when(restTemplate.exchange(eq(tokenUrl), eq(HttpMethod.POST), eq(entity), eq(JSONObject.class))) + .thenReturn(responseEntity); + + AuthUtil authUtil = new AuthUtil(); + authUtil.tokenUrl = tokenUrl; + authUtil.clientId = clientId; + authUtil.redirectUri = redirectUri; + authUtil.clientSecret = clientSecret; + + // Act + String result = authUtil.verifyCode(code); + + // Assert + assertEquals(accessToken, result); + verify(restTemplate, times(1)).exchange(eq(tokenUrl), eq(HttpMethod.POST), eq(entity), eq(JSONObject.class)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java new file mode 100644 index 000000000..8173b7f3f --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.core.io.Resource; +import org.springframework.http.*; +import org.springframework.web.client.RestTemplate; +import java.io.InputStream; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { +@Mock +private RestTemplate restTemplate; +@Mock +private HttpHeaders headers; +@Mock +private ResponseEntity responseEntity; +@Mock +private Resource resource; +@Test +public void testRequestPhoto() { + String accessToken = "testAccessToken"; InputStream expectedInputStream = mock(InputStream.class); AuthUtil authUtil = new AuthUtil(); authUtil.photoUrl = "testPhotoUrl"; when(restTemplate.exchange(eq(authUtil.photoUrl), eq(HttpMethod.GET), any(HttpEntity.class), eq(Resource.class))) .thenReturn(responseEntity); when(responseEntity.getBody()).thenReturn(resource); when(resource.getInputStream()).thenReturn(expectedInputStream); InputStream actualInputStream = authUtil.requestPhoto(accessToken); assertEquals(expectedInputStream, actualInputStream); verify(headers).add("Authorization", "Bearer " + accessToken); verify(restTemplate).exchange(eq(authUtil.photoUrl), eq(HttpMethod.GET), any(HttpEntity.class), eq(Resource.class)); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java new file mode 100644 index 000000000..eb40a83f0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java @@ -0,0 +1,52 @@ +import com.microsoft.hydralab.center.util.AuthUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; +import org.springframework.core.io.Resource; +import org.springframework.http.*; +import org.springframework.web.client.RestTemplate; + +import java.io.InputStream; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + +@RunWith(MockitoJUnitRunner.class) +public class AuthUtilTest { + + @Mock + private RestTemplate restTemplate; + + @Mock + private HttpHeaders headers; + + @Mock + private ResponseEntity responseEntity; + + @Mock + private Resource resource; + + @Test + public void testRequestPhoto() throws Exception { + // Arrange + String accessToken = "testAccessToken"; + InputStream expectedInputStream = mock(InputStream.class); + + AuthUtil authUtil = new AuthUtil(); + authUtil.photoUrl = "testPhotoUrl"; + + when(restTemplate.exchange(eq(authUtil.photoUrl), eq(HttpMethod.GET), any(HttpEntity.class), eq(Resource.class))) + .thenReturn(responseEntity); + when(responseEntity.getBody()).thenReturn(resource); + when(resource.getInputStream()).thenReturn(expectedInputStream); + + // Act + InputStream actualInputStream = authUtil.requestPhoto(accessToken); + + // Assert + assertEquals(expectedInputStream, actualInputStream); + verify(headers).add("Authorization", "Bearer " + accessToken); + verify(restTemplate).exchange(eq(authUtil.photoUrl), eq(HttpMethod.GET), any(HttpEntity.class), eq(Resource.class)); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java new file mode 100644 index 000000000..208ff3a0b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java @@ -0,0 +1,29 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.HashMap; +import static org.mockito.Mockito.*; + +public class MetricUtilTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private MeterRegistry meterRegistry; +private MetricUtil metricUtil; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testRegisterOnlineAgent() { + String metricName = GlobalConstant.PROMETHEUS_METRIC_ONLINE_AGENT_NUM; Tags tags = Tags.empty(); metricUtil.registerOnlineAgent(deviceAgentManagementService); verify(meterRegistry).gauge(metricName, tags, deviceAgentManagementService, metricUtil::getOnlineAgentNum); verify(metricUtil).getOnlineAgentNum(deviceAgentManagementService); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java new file mode 100644 index 000000000..8501e748b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java @@ -0,0 +1,45 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.HashMap; + +import static org.mockito.Mockito.*; + +public class MetricUtilTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private MeterRegistry meterRegistry; + + private MetricUtil metricUtil; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testRegisterOnlineAgent() { + // Arrange + String metricName = GlobalConstant.PROMETHEUS_METRIC_ONLINE_AGENT_NUM; + Tags tags = Tags.empty(); + + // Act + metricUtil.registerOnlineAgent(deviceAgentManagementService); + + // Assert + verify(meterRegistry).gauge(metricName, tags, deviceAgentManagementService, metricUtil::getOnlineAgentNum); + verify(metricUtil).getOnlineAgentNum(deviceAgentManagementService); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java new file mode 100644 index 000000000..c0130a7b9 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java @@ -0,0 +1,26 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class MetricUtilTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private MeterRegistry meterRegistry; +private MetricUtil metricUtil; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testRegisterOnlineDevice() { + metricUtil.registerOnlineDevice(deviceAgentManagementService); verify(meterRegistry).gauge(eq(GlobalConstant.PROMETHEUS_METRIC_ONLINE_DEVICE_NUM), eq(Tags.empty()), eq(deviceAgentManagementService), any()); verify(deviceAgentManagementService).getAliveDeviceNum(); verifyNoMoreInteractions(meterRegistry, deviceAgentManagementService); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java new file mode 100644 index 000000000..1baf17143 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java @@ -0,0 +1,36 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import static org.mockito.Mockito.*; + +public class MetricUtilTest { + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + @Mock + private MeterRegistry meterRegistry; + + private MetricUtil metricUtil; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testRegisterOnlineDevice() { + metricUtil.registerOnlineDevice(deviceAgentManagementService); + verify(meterRegistry).gauge(eq(GlobalConstant.PROMETHEUS_METRIC_ONLINE_DEVICE_NUM), + eq(Tags.empty()), + eq(deviceAgentManagementService), + any()); + verify(deviceAgentManagementService).getAliveDeviceNum(); + verifyNoMoreInteractions(meterRegistry, deviceAgentManagementService); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java new file mode 100644 index 000000000..8db351a1b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.mockito.Mockito.*; + +public class MetricUtilTest { +@Mock +private MeterRegistry meterRegistry; +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +private MetricUtil metricUtil; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testRegisterAgentAliveStatusMetric() { + AgentUser agentUser = new AgentUser(); agentUser.setId("agentId"); agentUser.setHostname("computerName"); agentUser.setName("agentName"); agentUser.setTeamName("teamName"); metricUtil.registerAgentAliveStatusMetric(agentUser); verify(meterRegistry).gauge(eq(GlobalConstant.PROMETHEUS_METRIC_WEBSOCKET_DISCONNECT_SIGNAL), eq(Tags.empty().and("computerName", agentUser.getHostname(), "agentName", agentUser.getName(), "teamName", agentUser.getTeamName())), eq(agentUser.getId()), any()); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java new file mode 100644 index 000000000..b1cc50f5c --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java @@ -0,0 +1,45 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import static org.mockito.Mockito.*; + +public class MetricUtilTest { + + @Mock + private MeterRegistry meterRegistry; + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + private MetricUtil metricUtil; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testRegisterAgentAliveStatusMetric() { + AgentUser agentUser = new AgentUser(); + agentUser.setId("agentId"); + agentUser.setHostname("computerName"); + agentUser.setName("agentName"); + agentUser.setTeamName("teamName"); + + metricUtil.registerAgentAliveStatusMetric(agentUser); + + verify(meterRegistry).gauge(eq(GlobalConstant.PROMETHEUS_METRIC_WEBSOCKET_DISCONNECT_SIGNAL), + eq(Tags.empty().and("computerName", agentUser.getHostname(), "agentName", agentUser.getName(), "teamName", agentUser.getTeamName())), + eq(agentUser.getId()), + any()); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java new file mode 100644 index 000000000..776f9ad5b --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java @@ -0,0 +1,29 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.HashMap; +import static org.mockito.Mockito.*; + +public class MetricUtilTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private MeterRegistry meterRegistry; +private MetricUtil metricUtil; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testUpdateAgentAliveStatus() { + String agentId = "agent1"; String status = "online"; metricUtil.updateAgentAliveStatus(agentId, status); verify(meterRegistry, times(0)).gauge(anyString(), any(Tags.class), any(), any()); verifyNoMoreInteractions(meterRegistry); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java new file mode 100644 index 000000000..98f414d95 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java @@ -0,0 +1,42 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.HashMap; + +import static org.mockito.Mockito.*; + +public class MetricUtilTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private MeterRegistry meterRegistry; + + private MetricUtil metricUtil; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testUpdateAgentAliveStatus() { + String agentId = "agent1"; + String status = "online"; + + metricUtil.updateAgentAliveStatus(agentId, status); + + verify(meterRegistry, times(0)).gauge(anyString(), any(Tags.class), any(), any()); + verifyNoMoreInteractions(meterRegistry); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java new file mode 100644 index 000000000..5454d3f55 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java @@ -0,0 +1,30 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.HashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private MeterRegistry meterRegistry; +private MetricUtil metricUtil; +@Before +public void setup() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testGetAgentAliveStatus() { + String agentUserId = "agent1"; String agentStatus = GlobalConstant.AgentLiveStatus.ONLINE.getStatus(); HashMap agentAliveStatusMap = new HashMap<>(); agentAliveStatusMap.put(agentUserId, agentStatus); metricUtil.agentAliveStatusMap = agentAliveStatusMap; int expected = 0; if (GlobalConstant.AgentLiveStatus.OFFLINE.getStatus().equals(agentStatus)) { expected = 1; } int actual = metricUtil.getAgentAliveStatus(agentUserId); assertEquals(expected, actual); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java new file mode 100644 index 000000000..94615681e --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java @@ -0,0 +1,51 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import com.microsoft.hydralab.common.entity.common.AgentUser; +import com.microsoft.hydralab.common.util.GlobalConstant; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private MeterRegistry meterRegistry; + + private MetricUtil metricUtil; + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testGetAgentAliveStatus() { + String agentUserId = "agent1"; + String agentStatus = GlobalConstant.AgentLiveStatus.ONLINE.getStatus(); + + HashMap agentAliveStatusMap = new HashMap<>(); + agentAliveStatusMap.put(agentUserId, agentStatus); + metricUtil.agentAliveStatusMap = agentAliveStatusMap; + + int expected = 0; + if (GlobalConstant.AgentLiveStatus.OFFLINE.getStatus().equals(agentStatus)) { + expected = 1; + } + + int actual = metricUtil.getAgentAliveStatus(agentUserId); + + assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java new file mode 100644 index 000000000..2c96fc816 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java @@ -0,0 +1,27 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private MeterRegistry meterRegistry; +private MetricUtil metricUtil; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testGetOnlineAgentNum() { + int expected = 5; when(deviceAgentManagementService.getAliveAgentNum()).thenReturn(expected); int actual = metricUtil.getOnlineAgentNum(deviceAgentManagementService); assertEquals(expected, actual); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java new file mode 100644 index 000000000..4550c3c50 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java @@ -0,0 +1,38 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private MeterRegistry meterRegistry; + + private MetricUtil metricUtil; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testGetOnlineAgentNum() { + int expected = 5; + when(deviceAgentManagementService.getAliveAgentNum()).thenReturn(expected); + + int actual = metricUtil.getOnlineAgentNum(deviceAgentManagementService); + + assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java new file mode 100644 index 000000000..55c9af440 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java @@ -0,0 +1,28 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import java.util.HashMap; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { +@Mock +private DeviceAgentManagementService deviceAgentManagementService; +@Mock +private MeterRegistry meterRegistry; +private MetricUtil metricUtil; +@Before +public void setUp() { + MockitoAnnotations.initMocks(this); metricUtil = new MetricUtil(); metricUtil.meterRegistry = meterRegistry; +} + +@Test +public void testGetAliveDeviceNum() { + int expected = 5; when(deviceAgentManagementService.getAliveDeviceNum()).thenReturn(expected); int actual = metricUtil.getAliveDeviceNum(deviceAgentManagementService); assertEquals(expected, actual); +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java new file mode 100644 index 000000000..e06ef8d13 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java @@ -0,0 +1,40 @@ +import com.microsoft.hydralab.center.service.DeviceAgentManagementService; +import io.micrometer.core.instrument.MeterRegistry; +import io.micrometer.core.instrument.Tags; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; + +import java.util.HashMap; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +public class MetricUtilTest { + + @Mock + private DeviceAgentManagementService deviceAgentManagementService; + + @Mock + private MeterRegistry meterRegistry; + + private MetricUtil metricUtil; + + @Before + public void setUp() { + MockitoAnnotations.initMocks(this); + metricUtil = new MetricUtil(); + metricUtil.meterRegistry = meterRegistry; + } + + @Test + public void testGetAliveDeviceNum() { + int expected = 5; + when(deviceAgentManagementService.getAliveDeviceNum()).thenReturn(expected); + + int actual = metricUtil.getAliveDeviceNum(deviceAgentManagementService); + + assertEquals(expected, actual); + } +} \ No newline at end of file diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java b/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java new file mode 100644 index 000000000..6bd1291e0 --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java @@ -0,0 +1,20 @@ +import com.microsoft.hydralab.center.util.SecretGenerator; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import java.util.UUID; + +public class SecretGeneratorTest { +private SecretGenerator secretGenerator; +private BCryptPasswordEncoder bCryptPasswordEncoder; +public void setUp() { +", " secretGenerator = new SecretGenerator();", " bCryptPasswordEncoder = Mockito.mock(BCryptPasswordEncoder.class);", " secretGenerator.bCryptPasswordEncoder = bCryptPasswordEncoder;", " +} + +public void testGenerateSecret() { +", " String uuid = UUID.randomUUID().toString().replace(\"-\", \"\");", " String encodedUuid = \"encodedUuid\";", " Mockito.when(bCryptPasswordEncoder.encode(uuid)).thenReturn(encodedUuid);", "", " String result = secretGenerator.generateSecret();", "", " Assert.assertEquals(encodedUuid.replaceAll(\"\\\\W\", \"\"), result);", " +} + +} diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java b/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java new file mode 100644 index 000000000..57269a45a --- /dev/null +++ b/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java @@ -0,0 +1,35 @@ +{ + "UT-File": [ + "import com.microsoft.hydralab.center.util.SecretGenerator;", + "import org.junit.Assert;", + "import org.junit.Before;", + "import org.junit.Test;", + "import org.mockito.Mockito;", + "import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;", + "import java.util.UUID;", + "", + "public class SecretGeneratorTest {", + "", + " private SecretGenerator secretGenerator;", + " private BCryptPasswordEncoder bCryptPasswordEncoder;", + "", + " @Before", + " public void setUp() {", + " secretGenerator = new SecretGenerator();", + " bCryptPasswordEncoder = Mockito.mock(BCryptPasswordEncoder.class);", + " secretGenerator.bCryptPasswordEncoder = bCryptPasswordEncoder;", + " }", + "", + " @Test", + " public void testGenerateSecret() {", + " String uuid = UUID.randomUUID().toString().replace(\"-\", \"\");", + " String encodedUuid = \"encodedUuid\";", + " Mockito.when(bCryptPasswordEncoder.encode(uuid)).thenReturn(encodedUuid);", + "", + " String result = secretGenerator.generateSecret();", + "", + " Assert.assertEquals(encodedUuid.replaceAll(\"\\\\W\", \"\"), result);", + " }", + "}" + ] +} \ No newline at end of file From 556e199f001998ecdc528e9ccd596764ff455369 Mon Sep 17 00:00:00 2001 From: dexterdreeeam <43837899+DexterDreeeam@users.noreply.github.com> Date: Tue, 15 Aug 2023 14:25:02 +0800 Subject: [PATCH 2/2] u --- .../config/AADOauth2ConfigurationTest.java | 0 .../hydralab/center/config/AppConfigTest.java | 0 .../center/config/ContextStartupTest.java | 0 .../config/SecurityConfigurationTest.java | 0 .../config/WebMvcConfigurationTest.java | 0 .../center/config/WebSocketConfigTest.java | 0 .../controller/AgentManageControllerTest.java | 0 .../center/controller/AuthControllerTest.java | 0 .../controller/StorageControllerTest.java | 0 .../interceptor/BaseInterceptorTest.java | 0 .../interceptor/CorsInterceptorTest.java | 0 .../center/openai/ChatRequestTest.java | 0 .../repository/AuthTokenRepositoryTest.java | 0 .../DeviceGroupRelationRepositoryTest.java | 0 .../repository/DeviceGroupRepositoryTest.java | 0 .../RolePermissionRelationRepositoryTest.java | 0 .../repository/SysUserRepositoryTest.java | 0 .../center/service/AuthTokenServiceTest.java | 0 .../RolePermissionManagementServiceTest.java | 0 .../service/SecurityUserServiceTest.java | 0 .../service/SessionManageServiceTest.java | 0 .../StorageTokenManageServiceTest.java | 0 .../service/SysPermissionServiceTest.java | 0 .../center/service/SysRoleServiceTest.java | 0 .../service/TestFileSetServiceTest.java | 0 .../center/service/TestTaskServiceTest.java | 0 .../UserTeamManagementServiceTest.java | 0 .../CenterDeviceSocketEndpointTest.java | 0 .../hydralab/center/util/AuthUtilTest.java | 0 .../hydralab/center/util/MetricUtilTest.java | 0 .../center/util/SecretGeneratorTest.java | 0 .../config/AADOauth2Configuration/0.java | 0 .../AADOauth2Configuration/0_origin.java | 0 .../hydralab/center/config/AppConfig/0.java | 0 .../center/config/AppConfig/0_origin.java | 0 .../hydralab/center/config/AppConfig/1.java | 0 .../center/config/AppConfig/1_origin.java | 0 .../hydralab/center/config/AppConfig/2.java | 0 .../center/config/AppConfig/2_origin.java | 0 .../hydralab/center/config/AppConfig/3.java | 0 .../center/config/AppConfig/3_origin.java | 0 .../hydralab/center/config/AppConfig/4.java | 0 .../center/config/AppConfig/4_origin.java | 0 .../hydralab/center/config/AppConfig/5.java | 0 .../center/config/AppConfig/5_origin.java | 0 .../hydralab/center/config/AppConfig/6.java | 0 .../center/config/AppConfig/6_origin.java | 0 .../hydralab/center/config/AppConfig/7.java | 0 .../center/config/AppConfig/7_origin.java | 0 .../center/config/ContextStartup/0.java | 0 .../config/ContextStartup/0_origin.java | 0 .../config/SecurityConfiguration/0.java | 0 .../SecurityConfiguration/0_origin.java | 0 .../config/SecurityConfiguration/1.java | 0 .../SecurityConfiguration/1_origin.java | 0 .../config/SecurityConfiguration/2.java | 0 .../SecurityConfiguration/2_origin.java | 0 .../center/config/WebMvcConfiguration/0.java | 0 .../config/WebMvcConfiguration/0_origin.java | 0 .../center/config/WebMvcConfiguration/1.java | 0 .../config/WebMvcConfiguration/1_origin.java | 0 .../center/config/WebSocketConfig/0.java | 0 .../config/WebSocketConfig/0_origin.java | 0 .../center/config/WebSocketConfig/1.java | 0 .../config/WebSocketConfig/1_origin.java | 0 .../controller/AgentManageController/0.java | 0 .../AgentManageController/0_origin.java | 0 .../controller/AgentManageController/1.java | 0 .../AgentManageController/1_origin.java | 0 .../center/controller/AuthController/0.java | 0 .../controller/AuthController/0_origin.java | 0 .../center/controller/AuthController/1.java | 0 .../controller/AuthController/1_origin.java | 0 .../center/controller/AuthController/2.java | 0 .../controller/AuthController/2_origin.java | 0 .../center/controller/AuthController/3.java | 0 .../controller/AuthController/3_origin.java | 0 .../controller/StorageController/0.java | 0 .../StorageController/0_origin.java | 0 .../controller/StorageController/1.java | 0 .../StorageController/1_origin.java | 0 .../center/interceptor/BaseInterceptor/0.java | 0 .../interceptor/BaseInterceptor/0_origin.java | 0 .../center/interceptor/BaseInterceptor/1.java | 0 .../interceptor/BaseInterceptor/1_origin.java | 0 .../center/interceptor/BaseInterceptor/2.java | 0 .../interceptor/BaseInterceptor/2_origin.java | 0 .../center/interceptor/BaseInterceptor/3.java | 0 .../interceptor/BaseInterceptor/3_origin.java | 0 .../center/interceptor/CorsInterceptor/0.java | 0 .../interceptor/CorsInterceptor/0_origin.java | 0 .../center/interceptor/CorsInterceptor/1.java | 0 .../interceptor/CorsInterceptor/1_origin.java | 0 .../center/interceptor/CorsInterceptor/2.java | 0 .../interceptor/CorsInterceptor/2_origin.java | 0 .../openai/AzureOpenAIServiceClient/0.java | 0 .../AzureOpenAIServiceClient/0_origin.java | 0 .../hydralab/center/openai/ChatRequest/0.java | 0 .../center/openai/ChatRequest/0_origin.java | 0 .../hydralab/center/openai/ChatRequest/1.java | 0 .../center/openai/ChatRequest/10.java | 0 .../center/openai/ChatRequest/10_origin.java | 0 .../center/openai/ChatRequest/11.java | 0 .../center/openai/ChatRequest/11_origin.java | 0 .../center/openai/ChatRequest/1_origin.java | 0 .../hydralab/center/openai/ChatRequest/2.java | 0 .../center/openai/ChatRequest/2_origin.java | 0 .../hydralab/center/openai/ChatRequest/3.java | 0 .../center/openai/ChatRequest/3_origin.java | 0 .../hydralab/center/openai/ChatRequest/4.java | 0 .../center/openai/ChatRequest/4_origin.java | 0 .../hydralab/center/openai/ChatRequest/5.java | 0 .../center/openai/ChatRequest/5_origin.java | 0 .../hydralab/center/openai/ChatRequest/6.java | 0 .../center/openai/ChatRequest/6_origin.java | 0 .../hydralab/center/openai/ChatRequest/7.java | 0 .../center/openai/ChatRequest/7_origin.java | 0 .../hydralab/center/openai/ChatRequest/8.java | 0 .../center/openai/ChatRequest/8_origin.java | 0 .../hydralab/center/openai/ChatRequest/9.java | 0 .../center/openai/ChatRequest/9_origin.java | 0 .../repository/AuthTokenRepository/0.java | 0 .../AuthTokenRepository/0_origin.java | 0 .../DeviceGroupRelationRepository/0.java | 0 .../0_origin.java | 0 .../repository/DeviceGroupRepository/0.java | 0 .../DeviceGroupRepository/0_origin.java | 0 .../RolePermissionRelationRepository/0.java | 0 .../0_origin.java | 0 .../RolePermissionRelationRepository/1.java | 0 .../1_origin.java | 0 .../repository/SysUserRepository/0.java | 0 .../SysUserRepository/0_origin.java | 0 .../center/service/AgentManageService/0.java | 0 .../service/AgentManageService/0_origin.java | 0 .../center/service/AgentManageService/1.java | 0 .../service/AgentManageService/1_origin.java | 0 .../center/service/AgentManageService/2.java | 0 .../service/AgentManageService/2_origin.java | 0 .../center/service/AgentManageService/3.java | 0 .../service/AgentManageService/3_origin.java | 0 .../center/service/AgentManageService/4.java | 0 .../service/AgentManageService/4_origin.java | 0 .../center/service/AgentManageService/5.java | 0 .../service/AgentManageService/5_origin.java | 0 .../center/service/AgentManageService/6.java | 0 .../service/AgentManageService/6_origin.java | 0 .../center/service/AuthTokenService/0.java | 0 .../service/AuthTokenService/0_origin.java | 0 .../center/service/AuthTokenService/1.java | 0 .../service/AuthTokenService/1_origin.java | 0 .../center/service/AuthTokenService/2.java | 0 .../service/AuthTokenService/2_origin.java | 0 .../center/service/AuthTokenService/3.java | 0 .../service/AuthTokenService/3_origin.java | 0 .../center/service/AuthTokenService/4.java | 0 .../service/AuthTokenService/4_origin.java | 0 .../center/service/DeviceGroupService/0.java | 0 .../service/DeviceGroupService/0_origin.java | 0 .../center/service/DeviceGroupService/1.java | 0 .../center/service/DeviceGroupService/10.java | 0 .../service/DeviceGroupService/10_origin.java | 0 .../service/DeviceGroupService/1_origin.java | 0 .../center/service/DeviceGroupService/2.java | 0 .../service/DeviceGroupService/2_origin.java | 0 .../center/service/DeviceGroupService/3.java | 0 .../service/DeviceGroupService/3_origin.java | 0 .../center/service/DeviceGroupService/4.java | 0 .../service/DeviceGroupService/4_origin.java | 0 .../center/service/DeviceGroupService/5.java | 0 .../service/DeviceGroupService/5_origin.java | 0 .../center/service/DeviceGroupService/6.java | 0 .../service/DeviceGroupService/6_origin.java | 0 .../center/service/DeviceGroupService/7.java | 0 .../service/DeviceGroupService/7_origin.java | 0 .../center/service/DeviceGroupService/8.java | 0 .../service/DeviceGroupService/8_origin.java | 0 .../center/service/DeviceGroupService/9.java | 0 .../service/DeviceGroupService/9_origin.java | 0 .../RolePermissionManagementService/0.java | 0 .../0_origin.java | 0 .../RolePermissionManagementService/1.java | 0 .../1_origin.java | 0 .../RolePermissionManagementService/2.java | 0 .../2_origin.java | 0 .../RolePermissionManagementService/3.java | 0 .../3_origin.java | 0 .../center/service/SecurityUserService/0.java | 0 .../service/SecurityUserService/0_origin.java | 0 .../center/service/SecurityUserService/1.java | 0 .../service/SecurityUserService/1_origin.java | 0 .../center/service/SecurityUserService/2.java | 0 .../service/SecurityUserService/2_origin.java | 0 .../center/service/SecurityUserService/3.java | 0 .../service/SecurityUserService/3_origin.java | 0 .../center/service/SecurityUserService/4.java | 0 .../service/SecurityUserService/4_origin.java | 0 .../service/SessionManageService/0.java | 0 .../SessionManageService/0_origin.java | 0 .../service/StorageTokenManageService/0.java | 0 .../StorageTokenManageService/0_origin.java | 0 .../service/StorageTokenManageService/1.java | 0 .../StorageTokenManageService/1_origin.java | 0 .../service/StorageTokenManageService/2.java | 0 .../StorageTokenManageService/2_origin.java | 0 .../service/StorageTokenManageService/3.java | 0 .../StorageTokenManageService/3_origin.java | 0 .../service/SysPermissionService/0.java | 0 .../SysPermissionService/0_origin.java | 0 .../service/SysPermissionService/1.java | 0 .../SysPermissionService/1_origin.java | 0 .../service/SysPermissionService/2.java | 0 .../SysPermissionService/2_origin.java | 0 .../service/SysPermissionService/3.java | 0 .../SysPermissionService/3_origin.java | 0 .../service/SysPermissionService/4.java | 0 .../SysPermissionService/4_origin.java | 0 .../service/SysPermissionService/5.java | 0 .../SysPermissionService/5_origin.java | 0 .../center/service/SysRoleService/0.java | 0 .../service/SysRoleService/0_origin.java | 0 .../center/service/SysRoleService/1.java | 0 .../service/SysRoleService/1_origin.java | 0 .../center/service/SysRoleService/2.java | 0 .../service/SysRoleService/2_origin.java | 0 .../center/service/SysRoleService/3.java | 0 .../service/SysRoleService/3_origin.java | 0 .../center/service/SysRoleService/4.java | 0 .../service/SysRoleService/4_origin.java | 0 .../center/service/SysRoleService/5.java | 0 .../service/SysRoleService/5_origin.java | 0 .../center/service/SysRoleService/6.java | 0 .../service/SysRoleService/6_origin.java | 0 .../center/service/SysRoleService/7.java | 0 .../service/SysRoleService/7_origin.java | 0 .../center/service/SysRoleService/8.java | 0 .../service/SysRoleService/8_origin.java | 0 .../center/service/SysRoleService/9.java | 0 .../service/SysRoleService/9_origin.java | 0 .../center/service/SysTeamService/0.java | 0 .../service/SysTeamService/0_origin.java | 0 .../center/service/SysTeamService/1.java | 0 .../service/SysTeamService/1_origin.java | 0 .../center/service/SysTeamService/2.java | 0 .../service/SysTeamService/2_origin.java | 0 .../center/service/SysTeamService/3.java | 0 .../service/SysTeamService/3_origin.java | 0 .../center/service/SysTeamService/4.java | 0 .../service/SysTeamService/4_origin.java | 0 .../center/service/SysTeamService/5.java | 0 .../service/SysTeamService/5_origin.java | 0 .../center/service/SysTeamService/6.java | 0 .../service/SysTeamService/6_origin.java | 0 .../center/service/SysTeamService/7.java | 0 .../service/SysTeamService/7_origin.java | 0 .../center/service/SysTeamService/8.java | 0 .../service/SysTeamService/8_origin.java | 0 .../center/service/SysUserService/0.java | 0 .../service/SysUserService/0_origin.java | 0 .../center/service/SysUserService/1.java | 0 .../service/SysUserService/1_origin.java | 0 .../center/service/SysUserService/2.java | 0 .../service/SysUserService/2_origin.java | 0 .../center/service/SysUserService/3.java | 0 .../service/SysUserService/3_origin.java | 0 .../center/service/SysUserService/4.java | 0 .../service/SysUserService/4_origin.java | 0 .../center/service/SysUserService/5.java | 0 .../service/SysUserService/5_origin.java | 0 .../center/service/SysUserService/6.java | 0 .../service/SysUserService/6_origin.java | 0 .../center/service/SysUserService/7.java | 0 .../service/SysUserService/7_origin.java | 0 .../center/service/SysUserService/8.java | 0 .../service/SysUserService/8_origin.java | 0 .../center/service/TestFileSetService/0.java | 0 .../service/TestFileSetService/0_origin.java | 0 .../center/service/TestFileSetService/1.java | 0 .../service/TestFileSetService/1_origin.java | 0 .../center/service/TestTaskService/0.java | 0 .../service/TestTaskService/0_origin.java | 0 .../center/service/TestTaskService/1.java | 0 .../service/TestTaskService/1_origin.java | 0 .../center/service/TestTaskService/2.java | 0 .../service/TestTaskService/2_origin.java | 0 .../center/service/TestTaskService/3.java | 0 .../service/TestTaskService/3_origin.java | 0 .../center/service/TestTaskService/4.java | 0 .../service/TestTaskService/4_origin.java | 0 .../center/service/TestTaskService/5.java | 0 .../service/TestTaskService/5_origin.java | 0 .../center/service/TestTaskService/6.java | 0 .../service/TestTaskService/6_origin.java | 0 .../center/service/TestTaskService/7.java | 0 .../service/TestTaskService/7_origin.java | 0 .../service/UserTeamManagementService/0.java | 0 .../UserTeamManagementService/0_origin.java | 0 .../service/UserTeamManagementService/1.java | 0 .../UserTeamManagementService/1_origin.java | 0 .../service/UserTeamManagementService/2.java | 0 .../UserTeamManagementService/2_origin.java | 0 .../service/UserTeamManagementService/3.java | 0 .../UserTeamManagementService/3_origin.java | 0 .../service/UserTeamManagementService/4.java | 0 .../UserTeamManagementService/4_origin.java | 0 .../service/UserTeamManagementService/5.java | 0 .../UserTeamManagementService/5_origin.java | 0 .../service/UserTeamManagementService/6.java | 0 .../UserTeamManagementService/6_origin.java | 0 .../service/UserTeamManagementService/7.java | 0 .../UserTeamManagementService/7_origin.java | 0 .../service/UserTeamManagementService/8.java | 0 .../UserTeamManagementService/8_origin.java | 0 .../service/UserTeamManagementService/9.java | 0 .../UserTeamManagementService/9_origin.java | 0 .../socket/CenterDeviceSocketEndpoint/0.java | 0 .../CenterDeviceSocketEndpoint/0_origin.java | 0 .../socket/CenterDeviceSocketEndpoint/1.java | 0 .../CenterDeviceSocketEndpoint/1_origin.java | 0 .../socket/CenterDeviceSocketEndpoint/2.java | 0 .../CenterDeviceSocketEndpoint/2_origin.java | 0 .../socket/CenterDeviceSocketEndpoint/3.java | 0 .../CenterDeviceSocketEndpoint/3_origin.java | 0 .../hydralab/center/util/AuthUtil/0.java | 0 .../center/util/AuthUtil/0_origin.java | 0 .../hydralab/center/util/AuthUtil/1.java | 0 .../center/util/AuthUtil/1_origin.java | 0 .../hydralab/center/util/AuthUtil/2.java | 0 .../center/util/AuthUtil/2_origin.java | 0 .../hydralab/center/util/AuthUtil/3.java | 0 .../center/util/AuthUtil/3_origin.java | 0 .../hydralab/center/util/AuthUtil/4.java | 0 .../center/util/AuthUtil/4_origin.java | 0 .../hydralab/center/util/AuthUtil/5.java | 0 .../center/util/AuthUtil/5_origin.java | 0 .../hydralab/center/util/AuthUtil/6.java | 0 .../center/util/AuthUtil/6_origin.java | 0 .../hydralab/center/util/AuthUtil/7.java | 0 .../center/util/AuthUtil/7_origin.java | 0 .../hydralab/center/util/AuthUtil/8.java | 0 .../center/util/AuthUtil/8_origin.java | 0 .../hydralab/center/util/MetricUtil/0.java | 0 .../center/util/MetricUtil/0_origin.java | 0 .../hydralab/center/util/MetricUtil/1.java | 0 .../center/util/MetricUtil/1_origin.java | 0 .../hydralab/center/util/MetricUtil/2.java | 0 .../center/util/MetricUtil/2_origin.java | 0 .../hydralab/center/util/MetricUtil/3.java | 0 .../center/util/MetricUtil/3_origin.java | 0 .../hydralab/center/util/MetricUtil/4.java | 0 .../center/util/MetricUtil/4_origin.java | 0 .../hydralab/center/util/MetricUtil/5.java | 0 .../center/util/MetricUtil/5_origin.java | 0 .../hydralab/center/util/MetricUtil/6.java | 0 .../center/util/MetricUtil/6_origin.java | 0 .../center/util/SecretGenerator/0.java | 0 .../center/util/SecretGenerator/0_origin.java | 0 .../openai/AzureOpenAIServiceClientTest.java | 55 ------ .../service/AgentManageServiceTest.java | 182 ------------------ .../center/service/SysUserServiceTest.java | 171 ---------------- 360 files changed, 408 deletions(-) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/config/AppConfigTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/config/ContextStartupTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/util/AuthUtilTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/util/MetricUtilTest.java (100%) rename center/{test/main => src/test}/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java (100%) rename center/{ => src}/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java (100%) delete mode 100644 center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java delete mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java delete mode 100644 center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java b/center/src/test/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java rename to center/src/test/java/com/microsoft/hydralab/center/config/AADOauth2ConfigurationTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/AppConfigTest.java b/center/src/test/java/com/microsoft/hydralab/center/config/AppConfigTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/config/AppConfigTest.java rename to center/src/test/java/com/microsoft/hydralab/center/config/AppConfigTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/ContextStartupTest.java b/center/src/test/java/com/microsoft/hydralab/center/config/ContextStartupTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/config/ContextStartupTest.java rename to center/src/test/java/com/microsoft/hydralab/center/config/ContextStartupTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java b/center/src/test/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java rename to center/src/test/java/com/microsoft/hydralab/center/config/SecurityConfigurationTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java b/center/src/test/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java rename to center/src/test/java/com/microsoft/hydralab/center/config/WebMvcConfigurationTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java b/center/src/test/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java rename to center/src/test/java/com/microsoft/hydralab/center/config/WebSocketConfigTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java b/center/src/test/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java rename to center/src/test/java/com/microsoft/hydralab/center/controller/AgentManageControllerTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java b/center/src/test/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java rename to center/src/test/java/com/microsoft/hydralab/center/controller/AuthControllerTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java b/center/src/test/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java rename to center/src/test/java/com/microsoft/hydralab/center/controller/StorageControllerTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java b/center/src/test/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java rename to center/src/test/java/com/microsoft/hydralab/center/interceptor/BaseInterceptorTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java b/center/src/test/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java rename to center/src/test/java/com/microsoft/hydralab/center/interceptor/CorsInterceptorTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java b/center/src/test/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java rename to center/src/test/java/com/microsoft/hydralab/center/openai/ChatRequestTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java b/center/src/test/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java rename to center/src/test/java/com/microsoft/hydralab/center/repository/AuthTokenRepositoryTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java b/center/src/test/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java rename to center/src/test/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepositoryTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java b/center/src/test/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java rename to center/src/test/java/com/microsoft/hydralab/center/repository/DeviceGroupRepositoryTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java b/center/src/test/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java rename to center/src/test/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepositoryTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java b/center/src/test/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java rename to center/src/test/java/com/microsoft/hydralab/center/repository/SysUserRepositoryTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/AuthTokenServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/RolePermissionManagementServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/SecurityUserServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/SessionManageServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/StorageTokenManageServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/SysPermissionServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/SysRoleServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/TestFileSetServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/TestTaskServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java b/center/src/test/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java rename to center/src/test/java/com/microsoft/hydralab/center/service/UserTeamManagementServiceTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java b/center/src/test/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java rename to center/src/test/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpointTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/util/AuthUtilTest.java b/center/src/test/java/com/microsoft/hydralab/center/util/AuthUtilTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/util/AuthUtilTest.java rename to center/src/test/java/com/microsoft/hydralab/center/util/AuthUtilTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/util/MetricUtilTest.java b/center/src/test/java/com/microsoft/hydralab/center/util/MetricUtilTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/util/MetricUtilTest.java rename to center/src/test/java/com/microsoft/hydralab/center/util/MetricUtilTest.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java b/center/src/test/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java similarity index 100% rename from center/test/main/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java rename to center/src/test/java/com/microsoft/hydralab/center/util/SecretGeneratorTest.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AADOauth2Configuration/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/AppConfig/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/ContextStartup/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/SecurityConfiguration/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebMvcConfiguration/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/config/WebSocketConfig/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AgentManageController/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/AuthController/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/controller/StorageController/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/BaseInterceptor/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/interceptor/CorsInterceptor/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClient/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/10_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/11_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/openai/ChatRequest/9_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/AuthTokenRepository/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRelationRepository/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/DeviceGroupRepository/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/RolePermissionRelationRepository/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/repository/SysUserRepository/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AgentManageService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/AuthTokenService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/10_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/DeviceGroupService/9_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/RolePermissionManagementService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SecurityUserService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SessionManageService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/StorageTokenManageService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysPermissionService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysRoleService/9_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysTeamService/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/SysUserService/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestFileSetService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/TestTaskService/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/service/UserTeamManagementService/9_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/socket/CenterDeviceSocketEndpoint/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/7_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/AuthUtil/8_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/0_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/1_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/2_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/3_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/4_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/5_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/MetricUtil/6_origin.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0.java diff --git a/center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java b/center/src/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java similarity index 100% rename from center/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java rename to center/src/utg/main/java/com/microsoft/hydralab/center/util/SecretGenerator/0_origin.java diff --git a/center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java b/center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java deleted file mode 100644 index 135ac8ea3..000000000 --- a/center/test/main/java/com/microsoft/hydralab/center/openai/AzureOpenAIServiceClientTest.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.microsoft.hydralab.center.openai; - -import com.microsoft.hydralab.center.openai.AzureOpenAIServiceClient; -import com.alibaba.fastjson.JSON; -import okhttp3.MediaType; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.RequestBody; -import okhttp3.Response; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import static org.mockito.Mockito.*; - -public class AzureOpenAIServiceClientTest { - - @Mock - private OkHttpClient client; - private AzureOpenAIServiceClient serviceClient; - - @Before - public void setup() { - MockitoAnnotations.initMocks(this); - serviceClient = new AzureOpenAIServiceClient("apiKey", "deployment", "endpoint"); - serviceClient.client = client; - } - - @Test - public void testChatCompletion() { - ChatRequest request = new ChatRequest(); - request.setMessage("Hello"); - String expectedResponse = "Response"; - String requestBodyString = JSON.toJSONString(request); - String apiVersion = "2023-03-15-preview"; - MediaType mediaType = MediaType.parse("application/json"); - String url = "endpoint/openai/deployments/deployment/chat/completions?api-version=2023-03-15-preview"; - RequestBody body = RequestBody.create(requestBodyString, mediaType); - Request httpRequest = new Request.Builder() - .url(url) - .post(body) - .addHeader("api-key", "apiKey") - .build(); - Response response = mock(Response.class); - when(response.isSuccessful()).thenReturn(true); - when(response.body()).thenReturn(expectedResponse); - when(client.newCall(httpRequest).execute()).thenReturn(response); - String result = serviceClient.chatCompletion(request); - verify(client).newCall(httpRequest).execute(); - verify(response).isSuccessful(); - verify(response).body(); - assertEquals(expectedResponse, result); - } - -} \ No newline at end of file diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java deleted file mode 100644 index 8a5ea64dd..000000000 --- a/center/test/main/java/com/microsoft/hydralab/center/service/AgentManageServiceTest.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.microsoft.hydralab.center.service; - -import com.microsoft.hydralab.center.repository.AgentUserRepository; -import com.microsoft.hydralab.center.service.AgentManageService; -import com.microsoft.hydralab.center.service.SysUserService; -import com.microsoft.hydralab.center.service.UserTeamManagementService; -import com.microsoft.hydralab.center.util.CenterConstant; -import com.microsoft.hydralab.center.util.SecretGenerator; -import com.microsoft.hydralab.common.entity.center.SysUser; -import com.microsoft.hydralab.common.entity.common.AgentUser; -import com.microsoft.hydralab.common.entity.common.CriteriaType; -import com.microsoft.hydralab.common.util.CriteriaTypeUtil; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.mockito.junit.MockitoJUnitRunner; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; - -@RunWith(MockitoJUnitRunner.class) -public class AgentManageServiceTest { - - @Mock - private AgentUserRepository agentUserRepository; - - @InjectMocks - private AgentManageService agentManageService; - - @Mock - private UserTeamManagementService userTeamManagementService; - - @Mock - private SysUserService sysUserService; - - private SysUser sysUser; - private AgentUser agentUser; - private String teamId; - private String teamName; - private List agents; - - @Before - public void setup() { - sysUser = new SysUser(); - sysUser.setMailAddress("test@mail.com"); - agentUser = new AgentUser(); - agentUser.setId("agentId"); - agentUser.setMailAddress("test@mail.com"); - } - - @Test - public void testCreateAgent() { - String teamId = "teamId"; - String teamName = "teamName"; - String mailAddress = "mailAddress"; - String os = "os"; - String name = "name"; - AgentUser agentUserInfo = new AgentUser(); - agentUserInfo.setMailAddress(mailAddress); - agentUserInfo.setOs(os); - agentUserInfo.setName(name); - agentUserInfo.setTeamId(teamId); - agentUserInfo.setTeamName(teamName); - SecretGenerator secretGenerator = new SecretGenerator(); - String agentSecret = secretGenerator.generateSecret(); - agentUserInfo.setSecret(agentSecret); - when(agentUserRepository.saveAndFlush(any(AgentUser.class))).thenReturn(agentUserInfo); - AgentUser result = agentManageService.createAgent(teamId, teamName, mailAddress, os, name); - assertNotNull(result); - assertEquals(mailAddress, result.getMailAddress()); - assertEquals(os, result.getOs()); - assertEquals(name, result.getName()); - assertEquals(teamId, result.getTeamId()); - assertEquals(teamName, result.getTeamName()); - assertEquals(agentSecret, result.getSecret()); - verify(agentUserRepository, times(1)).saveAndFlush(any(AgentUser.class)); - } - - @Before - public void setUp() { - teamId = "teamId"; - teamName = "teamName"; - agents = new ArrayList<>(); - agents.add(new AgentUser()); - agents.add(new AgentUser()); - } - - @Test - public void testGetAgent() { - String agentId = "agent123"; - AgentUser agentUser = new AgentUser(); - agentUser.setId(agentId); - Optional optionalAgentUser = Optional.of(agentUser); - when(agentUserRepository.findById(agentId)).thenReturn(optionalAgentUser); - AgentUser result = agentManageService.getAgent(agentId); - assertEquals(agentUser, result); - } - - @Test - public void testDeleteAgent() { - AgentUser agentUser = new AgentUser(); - agentManageService.deleteAgent(agentUser); - verify(agentUserRepository, times(1)).delete(agentUser); - } - - @Test - public void testIsAgentNameRegistered() { - String agentName = "agent1"; - AgentUser agentUser = new AgentUser(); - agentUser.setName(agentName); - Mockito.when(agentUserRepository.findByName(agentName)).thenReturn(Optional.of(agentUser)); - boolean result = agentManageService.isAgentNameRegistered(agentName); - Assert.assertTrue(result); - } - - @Test - public void testCheckAgentAuthorization_WithNullRequestor_ReturnsFalse() { - assertFalse(agentManageService.checkAgentAuthorization(null, "agentId")); - } - - @Test - public void testCheckAgentAuthorization_WithNonExistingAgent_ReturnsFalse() { - Mockito.when(agentUserRepository.findById("agentId")).thenReturn(null); - assertFalse(agentManageService.checkAgentAuthorization(sysUser, "agentId")); - } - - @Test - public void testCheckAgentAuthorization_WithMatchingMailAddress_ReturnsTrue() { - Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); - assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); - } - - @Test - public void testCheckAgentAuthorization_WithAdminUser_ReturnsTrue() { - Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); - Mockito.when(sysUserService.checkUserAdmin(sysUser)).thenReturn(true); - assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); - } - - @Test - public void testCheckAgentAuthorization_WithTeamAdmin_ReturnsTrue() { - Mockito.when(agentUserRepository.findById("agentId")).thenReturn(agentUser); - Mockito.when(userTeamManagementService.checkRequestorTeamAdmin(sysUser, "teamId")).thenReturn(true); - assertTrue(agentManageService.checkAgentAuthorization(sysUser, "agentId")); - } - - @Test - public void testUpdateAgentTeam() { - when(agentUserRepository.findAllByTeamId(teamId)).thenReturn(agents); - agentManageService.updateAgentTeam(teamId, teamName); - verify(agentUserRepository).saveAll(agents); - for (AgentUser agent : agents) { - assertEquals(teamName, agent.getTeamName()); - } - } - - @Test - public void testGenerateAgentConfigFile() { - String agentId = "agentId"; - String host = "localhost"; - AgentUser agentUser = new AgentUser(); - agentUser.setId(agentId); - agentUser.setName("Agent Name"); - agentUser.setSecret("Agent Secret"); - when(agentUserRepository.findById(agentId)).thenReturn(Optional.of(agentUser)); - File agentConfigFile = agentManageService.generateAgentConfigFile(agentId, host); - assertNotNull(agentConfigFile); - assertTrue(agentConfigFile.exists()); - assertEquals("application.yml", agentConfigFile.getName()); - } - -} diff --git a/center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java b/center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java deleted file mode 100644 index e60f46565..000000000 --- a/center/test/main/java/com/microsoft/hydralab/center/service/SysUserServiceTest.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.microsoft.hydralab.center.service; - -import com.microsoft.hydralab.center.repository.SysUserRepository; -import com.microsoft.hydralab.common.entity.center.SysUser; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.when; -import org.junit.runner.RunWith; -import org.mockito.Mockito; -import org.mockito.junit.MockitoJUnitRunner; -import java.util.Optional; -import org.junit.Assert; -import static org.mockito.Mockito.*; -import com.microsoft.hydralab.common.util.Const; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.GrantedAuthority; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -@RunWith(MockitoJUnitRunner.class) -public class SysUserServiceTest { - - @Mock - private SysUserRepository sysUserRepository; - private SysUserService sysUserService; - @Mock - private Authentication authentication; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - sysUserService = new SysUserService(); - sysUserService.sysUserRepository = sysUserRepository; - } - - @Test - public void testCreateUserWithDefaultRole() { - String userName = "John"; - String mailAddress = "john@example.com"; - String defaultRoleId = "123"; - String defaultRoleName = "User"; - SysUser sysUser = new SysUser(); - sysUser.setUserName(userName); - sysUser.setMailAddress(mailAddress); - sysUser.setRoleId(defaultRoleId); - sysUser.setRoleName(defaultRoleName); - when(sysUserRepository.save(sysUser)).thenReturn(sysUser); - SysUser result = sysUserService.createUserWithDefaultRole(userName, mailAddress, defaultRoleId, defaultRoleName); - assertEquals(sysUser, result); - } - - @Test - public void testUpdateUser() { - SysUser sysUser = new SysUser(); - sysUser.setUserName("testUser"); - sysUser.setMailAddress("test@mail.com"); - sysUser.setRoleId("1"); - sysUser.setRoleName("Test Role"); - when(sysUserRepository.save(sysUser)).thenReturn(sysUser); - SysUser updatedUser = sysUserService.updateUser(sysUser); - assertEquals(sysUser, updatedUser); - } - - @Test - public void testQueryUserById() { - String userId = "123"; - SysUser expectedUser = new SysUser(); - expectedUser.setUserId(userId); - when(sysUserRepository.findById(userId)).thenReturn(Optional.of(expectedUser)); - SysUser actualUser = sysUserService.queryUserById(userId); - assertEquals(expectedUser, actualUser); - } - - @Test - public void testQueryUserByMailAddress() { - String mailAddress = "test@example.com"; - SysUser expectedUser = new SysUser(); - expectedUser.setMailAddress(mailAddress); - when(sysUserRepository.findByMailAddress(mailAddress)).thenReturn(Optional.of(expectedUser)); - SysUser actualUser = sysUserService.queryUserByMailAddress(mailAddress); - assertEquals(expectedUser, actualUser); - } - - @Test - public void testCheckUserExistenceWithRole() { - String roleId = "role1"; - int count = 1; - Mockito.when(sysUserRepository.countByRoleId(roleId)).thenReturn(count); - boolean result = sysUserService.checkUserExistenceWithRole(roleId); - Assert.assertTrue(result); - Mockito.verify(sysUserRepository, Mockito.times(1)).countByRoleId(roleId); - } - - @Test - public void testSwitchUserDefaultTeam() { - SysUser user = new SysUser(); - String defaultTeamId = "teamId"; - String defaultTeamName = "teamName"; - when(sysUserRepository.save(user)).thenReturn(user); - SysUser result = sysUserService.switchUserDefaultTeam(user, defaultTeamId, defaultTeamName); - assertEquals(user, result); - verify(sysUserRepository, times(1)).save(user); - } - - @Test - public void testSwitchUserRole() { - SysUser user = new SysUser(); - user.setRoleId("oldRoleId"); - user.setRoleName("oldRoleName"); - String newRoleId = "newRoleId"; - String newRoleName = "newRoleName"; - when(sysUserRepository.save(user)).thenReturn(user); - SysUser result = sysUserService.switchUserRole(user, newRoleId, newRoleName); - assertEquals(newRoleId, result.getRoleId()); - assertEquals(newRoleName, result.getRoleName()); - verify(sysUserRepository, times(1)).save(user); - } - - @Test - public void testCheckUserRole() { - Collection authorities = new ArrayList<>(); - authorities.add(new GrantedAuthority() { - @Override - public String getAuthority() { - return "ROLE_ADMIN"; - } - }); - Mockito.when(authentication.getAuthorities()).thenReturn(authorities); - assertTrue(sysUserService.checkUserRole(authentication, "ROLE_ADMIN")); - assertFalse(sysUserService.checkUserRole(authentication, "ROLE_USER")); - } - - @Test - public void testCheckUserAdmin() { - Authentication auth = Mockito.mock(Authentication.class); - List authorities = new ArrayList<>(); - authorities.add(new GrantedAuthority() { - @Override - public String getAuthority() { - return Const.DefaultRole.SUPER_ADMIN; - } - }); - Mockito.when(auth.getAuthorities()).thenReturn(authorities); - assertTrue(sysUserService.checkUserAdmin(auth)); - authorities.clear(); - authorities.add(new GrantedAuthority() { - @Override - public String getAuthority() { - return Const.DefaultRole.ADMIN; - } - }); - Mockito.when(auth.getAuthorities()).thenReturn(authorities); - assertTrue(sysUserService.checkUserAdmin(auth)); - authorities.clear(); - authorities.add(new GrantedAuthority() { - @Override - public String getAuthority() { - return "ROLE_USER"; - } - }); - Mockito.when(auth.getAuthorities()).thenReturn(authorities); - assertFalse(sysUserService.checkUserAdmin(auth)); - } - -} \ No newline at end of file