This is an automated email from the ASF dual-hosted git repository.

gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new 3d3d88172 [improve] add ObjectStoreConfigServiceImpl unit test (#2502)
3d3d88172 is described below

commit 3d3d881722a9194af10a9da6f4152437bea95446
Author: YuLuo <[email protected]>
AuthorDate: Sun Aug 11 16:44:53 2024 +0800

    [improve] add ObjectStoreConfigServiceImpl unit test (#2502)
    
    Signed-off-by: yuluo-yx <[email protected]>
    Co-authored-by: tomsun28 <[email protected]>
---
 .../service/impl/ObjectStoreConfigServiceImpl.java |  1 +
 .../service/ObjectStoreConfigServiceTest.java      | 69 ++++++++++++++++++++++
 2 files changed, 70 insertions(+)

diff --git 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
index 021b5debc..5a0dd1424 100644
--- 
a/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
+++ 
b/manager/src/main/java/org/apache/hertzbeat/manager/service/impl/ObjectStoreConfigServiceImpl.java
@@ -86,6 +86,7 @@ public class ObjectStoreConfigServiceImpl extends
             }
             ctx.publishEvent(new ObjectStoreConfigChangeEvent(config));
         }
+        log.warn("object store config is null, please check the configuration 
file.");
     }
 
     /**
diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/service/ObjectStoreConfigServiceTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/service/ObjectStoreConfigServiceTest.java
index 54c2403db..95f123ffb 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/service/ObjectStoreConfigServiceTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/service/ObjectStoreConfigServiceTest.java
@@ -17,11 +17,80 @@
 
 package org.apache.hertzbeat.manager.service;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.hertzbeat.manager.pojo.dto.ObjectStoreConfigChangeEvent;
+import org.apache.hertzbeat.manager.pojo.dto.ObjectStoreDTO;
 import org.apache.hertzbeat.manager.service.impl.ObjectStoreConfigServiceImpl;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.springframework.test.util.ReflectionTestUtils;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
 
 /**
  * test case for {@link ObjectStoreConfigServiceImpl}
  */
 
+@ExtendWith(SpringExtension.class)
 class ObjectStoreConfigServiceTest {
+
+       private final DefaultListableBeanFactory beanFactory = new 
DefaultListableBeanFactory();
+
+       @Mock
+       private ApplicationContext ctx;
+
+       @Spy
+       private ObjectMapper objectMapper = new ObjectMapper();
+
+       @InjectMocks
+       private ObjectStoreConfigServiceImpl objectStoreConfigService;
+
+       @BeforeEach
+       void setUp() {
+
+               ReflectionTestUtils.setField(objectStoreConfigService, 
"beanFactory", beanFactory);
+               ReflectionTestUtils.setField(objectStoreConfigService, "ctx", 
ctx);
+       }
+
+       @Test
+       void testGetType() {
+
+               String type = objectStoreConfigService.type();
+               assertEquals("oss", type);
+       }
+
+       @Test
+       void testHandlerNullConfig() {
+
+               objectStoreConfigService.handler(null);
+               verify(ctx, never()).publishEvent(any());
+       }
+
+       @Test
+       void testHandlerObsConfig() {
+
+               ObjectStoreDTO<ObjectStoreDTO.ObsConfig> config = new 
ObjectStoreDTO<>();
+               config.setType(ObjectStoreDTO.Type.OBS);
+               ObjectStoreDTO.ObsConfig obsConfig = new 
ObjectStoreDTO.ObsConfig();
+               obsConfig.setAccessKey("access-key");
+               obsConfig.setSecretKey("secret-key");
+               obsConfig.setEndpoint("endpoint");
+               obsConfig.setBucketName("bucket-name");
+               config.setConfig(obsConfig);
+
+               objectStoreConfigService.handler(config);
+
+               
verify(ctx).publishEvent(any(ObjectStoreConfigChangeEvent.class));
+       }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to