diff options
Diffstat (limited to 'holmes-actions/src/test')
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 |