summaryrefslogtreecommitdiffstats
path: root/holmes-actions/src/test
diff options
context:
space:
mode:
authortang peng <tang.peng5@zte.com.cn>2020-09-25 15:15:00 +0800
committertang peng <tang.peng5@zte.com.cn>2020-09-25 15:15:12 +0800
commit38107cb7956b94100cbc5a766c7bbc12dc7154a2 (patch)
tree610045d00d49a951da64a2845def106c5b6f5847 /holmes-actions/src/test
parentfe095c6946e55131f3b70af0a9795135a8314f08 (diff)
Added some tools for engine instance management
Issue-ID: HOLMES-365 Signed-off-by: tang peng <tang.peng5@zte.com.cn> Change-Id: Ie57ca3eaa0ffda7c3f611b07293ceedd75d08a91
Diffstat (limited to 'holmes-actions/src/test')
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/engine/dao/EngineEntityMapperTest.java62
-rw-r--r--holmes-actions/src/test/java/org/onap/holmes/common/engine/service/impl/EngineEntityServiceImplTest.java124
2 files changed, 186 insertions, 0 deletions
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/engine/dao/EngineEntityMapperTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/engine/dao/EngineEntityMapperTest.java
new file mode 100644
index 0000000..ad684da
--- /dev/null
+++ b/holmes-actions/src/test/java/org/onap/holmes/common/engine/dao/EngineEntityMapperTest.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright 2020 ZTE Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.holmes.common.engine.dao;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.holmes.common.engine.entity.EngineEntity;
+import org.powermock.api.easymock.PowerMock;
+import org.powermock.core.classloader.annotations.PrepareForTest;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.math.BigDecimal;
+import java.net.URL;
+import java.sql.*;
+import java.util.Calendar;
+import java.util.Map;
+
+import static org.easymock.EasyMock.expect;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsEqual.equalTo;
+import static org.junit.Assert.*;
+
+@RunWith(PowerMockRunner.class)
+@PrepareForTest({ResultSet.class})
+public class EngineEntityMapperTest {
+ private EngineEntityMapper mapper = new EngineEntityMapper();
+ @Test
+ public void map() throws Exception {
+ long lastModified = System.currentTimeMillis();
+ ResultSet rsMock = PowerMock.createMock(ResultSet.class);
+ expect(rsMock.getString("ip")).andReturn("127.0.0.1");
+ expect(rsMock.getInt("port")).andReturn(80);
+ expect(rsMock.getLong("lastmodified")).andReturn(lastModified);
+
+ PowerMock.replay(rsMock);
+
+ EngineEntity entity = mapper.map(0, rsMock, null);
+
+ PowerMock.verify(rsMock);
+
+ assertThat(entity.getId(), equalTo("127.0.0.1_80"));
+ assertThat(entity.getIp(), equalTo("127.0.0.1"));
+ assertThat(entity.getPort(), is(80));
+ assertThat(entity.getLastModified(), is(lastModified));
+ }
+} \ No newline at end of file
diff --git a/holmes-actions/src/test/java/org/onap/holmes/common/engine/service/impl/EngineEntityServiceImplTest.java b/holmes-actions/src/test/java/org/onap/holmes/common/engine/service/impl/EngineEntityServiceImplTest.java
new file mode 100644
index 0000000..7058943
--- /dev/null
+++ b/holmes-actions/src/test/java/org/onap/holmes/common/engine/service/impl/EngineEntityServiceImplTest.java
@@ -0,0 +1,124 @@
+/**
+ * Copyright 2020 ZTE Corporation.
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.onap.holmes.common.engine.service.impl;
+
+import com.google.common.base.CharMatcher;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.holmes.common.engine.dao.EngineEntityDao;
+import org.onap.holmes.common.engine.entity.EngineEntity;
+import org.onap.holmes.common.engine.service.EngineEntityService;
+import org.onap.holmes.common.utils.DbDaoUtil;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import static com.google.common.base.Predicates.notNull;
+import static org.hamcrest.core.Is.is;
+import static org.hamcrest.core.IsNull.notNullValue;
+import static org.junit.Assert.*;
+
+public class EngineEntityServiceImplTest {
+
+ private EngineEntityService service = new EngineEntityServiceImpl(new DbDaoUtilStub());
+
+ @Test
+ public void getEntity() throws Exception {
+ EngineEntity entity = service.getEntity("org.onap.holmes_9201");
+ assertThat(entity, notNullValue());
+ }
+
+ @Test
+ public void getAllEntities() throws Exception {
+ List<EngineEntity> entities = service.getAllEntities();
+ assertThat(entities.size(), is(1));
+ }
+
+ @Test
+ public void updateEntity() throws Exception {
+ EngineEntity entity = new EngineEntity("org.onap.holmes", 9201);
+ long time = System.currentTimeMillis();
+ entity.setLastModified(time);
+ service.updateEntity(entity);
+ assertThat(service.getEntity("org.onap.holmes_9201").getLastModified(), is(time));
+ }
+
+ @Test
+ public void insertEntity() throws Exception {
+ EngineEntity entity = new EngineEntity("org.onap.holmes.another", 9201);
+ service.insertEntity(entity);
+ assertThat(service.getAllEntities().size(), is(2));
+ }
+
+ @Test
+ public void deleteEntity() throws Exception {
+ service.deleteEntity("org.onap.holmes.another_9201");
+ assertThat(service.getAllEntities().size(), is(1));
+ }
+}
+
+class DbDaoUtilStub extends DbDaoUtil {
+ private EngineEntityDao dao = new EngineEntityDaoStub();
+
+ @Override
+ public <T> T getJdbiDaoByOnDemand(Class<T> daoClazz) {
+
+ return (T) dao;
+
+ }
+}
+
+class EngineEntityDaoStub implements EngineEntityDao {
+
+ private Set<EngineEntity> entitySet = new HashSet(){
+ {
+ add(new EngineEntity("org.onap.holmes", 9201));
+ }
+ };
+
+ @Override
+ public EngineEntity getEntity(String id) {
+ return entitySet.stream().filter(e -> e.getId().equals(id)).findFirst().get();
+ }
+
+ @Override
+ public List<EngineEntity> getAllEntities() {
+ return new ArrayList<>(entitySet);
+ }
+
+ @Override
+ public void insertEntity(EngineEntity entity) {
+ entitySet.add(entity);
+ }
+
+ @Override
+ public void updateEntity(EngineEntity entity) {
+ entitySet.add(entity);
+ }
+
+ @Override
+ public void deleteEntity(String id) {
+ for (EngineEntity entity : entitySet) {
+ if (entity.getId().equals(id)) {
+ entitySet.remove(entity);
+ break;
+ }
+ }
+ }
+} \ No newline at end of file