private boolean handleApplicationServerRelations(ResourceEntity successorResource, PredecessorResult predecessorResult, ResourceEntity predecessorResource) { //Copy Application Server Consumed Slave Relations PredecessorResult predecessorAsResult = handleApplicationServerRelations(predecessorResource, successorResource); // Handle Result, and merge if (ProcessingState.FAILED.equals(predecessorAsResult.getProcessingState())) { for (PredecessorResultMessage predecessorResultMessage : predecessorAsResult.getMessages()) { predecessorResult.addMessage(predecessorResultMessage); } return false; } return true; }
@Test public void shouldPassEvenWhenPredecessorCpiIsNotFound() throws ValidationException { // given ResourceEntity successorResource = ResourceEntityBuilder.createResourceEntity(APPNAME_S, 1); ResourceEntity predecessorResource = ResourceEntityBuilder.createResourceEntity(APPNAME_P, 1); String cpiLocalPortId = "cpiLocalPortId"; ResourceEntity cpi = new ResourceEntityBuilder().withName("cpi").withTypeOfName(ResourceLocator.WS_CPI_TYPE).withId(10).withLocalPortId(cpiLocalPortId).build(); successorResource.addConsumedRelation(relationBuilder.buildConsumedResRelEntity(successorResource, cpi, "fooCpi", 100)); List<ResourceEntity> resources = new ArrayList<>(); resources.add(predecessorResource); Mockito.when(resourceRepositoryMock.getResourcesByGroupNameWithAllRelationsOrderedByRelease(APPNAME_S)).thenReturn(Collections.singletonList(successorResource)); Mockito.when(resourceRepositoryMock.getResourcesByGroupNameWithAllRelationsOrderedByRelease(APPNAME_P)).thenReturn(new LinkedList<ResourceEntity>(resources)); Mockito.when(resourceLocatorMock.hasResourceConsumableSoftlinkType(cpi)).thenReturn(true); Mockito.when(dependencyResolverServiceMock.getResourceEntityForRelease(resources, new ReleaseEntity())).thenReturn(predecessorResource); // when PredecessorResult rh = servicePredecessorHandler.handlePredecessor(APPNAME_S, APPNAME_P, ForeignableOwner.MAIA); // then assertEquals(ProcessingState.OK, rh.getProcessingState()); assertEquals(1, rh.getMessages().size()); assertEquals(MessageSeverity.WARNING, rh.getMessages().get(0).getSeverity()); }
@Test public void shouldPassEvenWhenPredecessorPpiIsNotFound() throws ValidationException { // given ResourceEntity successorResource = ResourceEntityBuilder.createResourceEntity(APPNAME_S, 1); ResourceEntity predecessorResource = ResourceEntityBuilder.createResourceEntity(APPNAME_P, 1); String ppiLocalPortId = "ppiLocalPortId"; ResourceEntity ppi = new ResourceEntityBuilder().withName("ppi").withTypeOfName(ResourceLocator.WS_PPI_TYPE).withId(20).withLocalPortId(ppiLocalPortId).build(); successorResource.addProvidedRelation(relationBuilder.buildProvidedResRelEntity(successorResource, ppi, "fooPpi", 200)); List<ResourceEntity> resources = new ArrayList<>(); resources.add(predecessorResource); Mockito.when(resourceRepositoryMock.getResourcesByGroupNameWithAllRelationsOrderedByRelease(APPNAME_S)).thenReturn(Collections.singletonList(successorResource)); Mockito.when(resourceRepositoryMock.getResourcesByGroupNameWithAllRelationsOrderedByRelease(APPNAME_P)).thenReturn(new LinkedList<ResourceEntity>(resources)); Mockito.when(resourceLocatorMock.hasResourceProvidableSoftlinkType(ppi)).thenReturn(true); Mockito.when(dependencyResolverServiceMock.getResourceEntityForRelease(resources, new ReleaseEntity())).thenReturn(predecessorResource); // when PredecessorResult rh = servicePredecessorHandler.handlePredecessor(APPNAME_S, APPNAME_P, ForeignableOwner.MAIA); // then assertEquals(ProcessingState.OK, rh.getProcessingState()); assertEquals(1, rh.getMessages().size()); assertEquals(MessageSeverity.WARNING, rh.getMessages().get(0).getSeverity()); }