use of org.opennms.netmgt.bsm.test.BusinessServiceEntityBuilder in project opennms by OpenNMS.
the class BusinessServiceSearchProviderIT method verifyQuery.
@Test
public void verifyQuery() {
BusinessServiceEntity bs1 = new BusinessServiceEntityBuilder().name("Test Service").reduceFunction(new HighestSeverityEntity()).addReductionKey("bs1.key1", new IdentityEntity(), 1).addReductionKey("bs1.key2", new IdentityEntity(), 1).toEntity();
BusinessServiceEntity bs2 = new BusinessServiceEntityBuilder().name("Real Service 2").reduceFunction(new HighestSeverityEntity()).addReductionKey("bs2.key1", new IdentityEntity(), 1).addReductionKey("bs2.key2", new IdentityEntity(), 1).toEntity();
businessServiceDao.save(bs1);
businessServiceDao.save(bs2);
businessServiceDao.flush();
// prepare mocks
TopologyServiceClient topologyServiceClientMock = EasyMock.createNiceMock(TopologyServiceClient.class);
EasyMock.expect(topologyServiceClientMock.getVertex(EasyMock.anyObject(BusinessServiceVertex.class))).andReturn(// always return a vertex, it just needs to be not null
new AbstractVertex("bsm", "0", "Dummy Vertex"));
GraphContainer graphContainerMock = EasyMock.createNiceMock(GraphContainer.class);
EasyMock.expect(graphContainerMock.getTopologyServiceClient()).andReturn(topologyServiceClientMock).anyTimes();
EasyMock.replay(graphContainerMock, topologyServiceClientMock);
// try searching
final BusinessServiceSearchProvider provider = new BusinessServiceSearchProvider();
provider.setBusinessServiceManager(businessServiceManager);
final SearchQuery query = new AbstractSearchQuery("Test") {
@Override
public boolean matches(String label) {
// always match, it does not matter
return true;
}
};
final List<SearchResult> result = provider.query(query, graphContainerMock);
Assert.assertEquals(1, result.size());
EasyMock.verify(graphContainerMock, topologyServiceClientMock);
}
use of org.opennms.netmgt.bsm.test.BusinessServiceEntityBuilder in project opennms by OpenNMS.
the class BusinessServiceDaoIT method verifyDistinctObjectLoading.
@Test
@Transactional
public void verifyDistinctObjectLoading() {
BusinessServiceEntity entity = new BusinessServiceEntityBuilder().name("Parent Web Servers").addReductionKey("TestReductionKeyA", new IdentityEntity()).addReductionKey("TestReductionKeyB", new IdentityEntity()).addReductionKey("TestReductionKeyC", new IdentityEntity()).reduceFunction(m_highestSeverity).toEntity();
m_businessServiceDao.save(entity);
m_businessServiceDao.flush();
assertEquals(1, m_businessServiceDao.countAll());
assertEquals(3, m_edgeDao.countAll());
Criteria criteria = new CriteriaBuilder(BusinessServiceEntity.class).toCriteria();
// verify that root entity is merged
assertEquals(1, m_businessServiceDao.findMatching(criteria).size());
// verify that countMatching also works
assertEquals(1, m_businessServiceDao.countMatching(criteria));
}
use of org.opennms.netmgt.bsm.test.BusinessServiceEntityBuilder in project opennms by OpenNMS.
the class BusinessServiceDaoIT method verifyBeanValidation.
@Test(expected = ConstraintViolationException.class)
@Transactional
public void verifyBeanValidation() {
BusinessServiceEntity entity = new BusinessServiceEntityBuilder().name("Some Custom Name").addReductionKey("My Reduction Key", new IdentityEntity(), "so friendly").addReductionKey("Another Reduction Key", new IdentityEntity(), Strings.padEnd("too", 30, 'o') + " friendly").reduceFunction(m_highestSeverity).toEntity();
// Should throw a ConstraintViolationException (friendly name too long)
m_businessServiceDao.save(entity);
m_businessServiceDao.flush();
}
use of org.opennms.netmgt.bsm.test.BusinessServiceEntityBuilder in project opennms by OpenNMS.
the class AbstractBusinessServiceRestServiceIT method verifyHighestSeverityAboveReduceFunction.
@Test
public void verifyHighestSeverityAboveReduceFunction() throws Exception {
BusinessServiceEntity entity = new BusinessServiceEntityBuilder().name("Dummy Service").reduceFunction(new HighestSeverityAboveEntity(Status.CRITICAL.ordinal())).toEntity();
sendData(POST, getMediaType(), "/business-services", marshal(toRequestDto(entity)), 201);
entity.setId(findEntityByName("Dummy Service").getId());
verifyResponse(entity);
}
use of org.opennms.netmgt.bsm.test.BusinessServiceEntityBuilder in project opennms by OpenNMS.
the class AbstractBusinessServiceRestServiceIT method canRemoveEdges.
@Test
public void canRemoveEdges() throws Exception {
BusinessServiceEntity child = new BusinessServiceEntityBuilder().name("Child Service").reduceFunction(new HighestSeverityEntity()).toEntity();
m_businessServiceDao.save(child);
BusinessServiceEntity parent = new BusinessServiceEntityBuilder().name("Parent Service").reduceFunction(new HighestSeverityEntity()).addIpService(monitoredServiceDao.get(17), new SetToEntity(OnmsSeverity.CRITICAL.getId())).addIpService(monitoredServiceDao.get(18), new IgnoreEntity()).addIpService(monitoredServiceDao.get(20), new IdentityEntity()).addReductionKey("abc", new IgnoreEntity()).addReductionKey("abcd", new IgnoreEntity()).addChildren(child, new IncreaseEntity()).toEntity();
final Long parentServiceId = m_businessServiceDao.save(parent);
m_businessServiceDao.flush();
// verify that test data is set up correctly
Assert.assertEquals(3, parent.getIpServiceEdges().size());
Assert.assertEquals(2, parent.getReductionKeyEdges().size());
Assert.assertEquals(1, parent.getChildEdges().size());
Assert.assertEquals(6, parent.getEdges().size());
// determine edge ids
List<Long> edgeIdList = parent.getEdges().stream().map(e -> e.getId()).sorted().collect(Collectors.toList());
// verify removing not existing ip service not possible
sendData(DELETE, getMediaType(), buildEdgeUrl(parentServiceId, -1), "", 404);
// verify removing of existing ip service is possible
for (int i = 0; i < edgeIdList.size(); i++) {
long edgeId = edgeIdList.get(i);
int edgesLeftCount = edgeIdList.size() - i - 1;
// verify removing of existing ip service is possible
sendData(DELETE, getMediaType(), buildEdgeUrl(parentServiceId, edgeId), "", 200);
Assert.assertEquals(edgesLeftCount, m_businessServiceDao.get(parentServiceId).getEdges().size());
// verify removing twice possible, but not modified
sendData(DELETE, getMediaType(), buildEdgeUrl(parentServiceId, edgeId), "", 304);
Assert.assertEquals(edgesLeftCount, m_businessServiceDao.get(parentServiceId).getEdges().size());
}
}
Aggregations