createdSecondContainer = doPost(firstContainer, ContainerDescriptionService.FACTORY_LINK); CompositeDescription secondComposite = new CompositeDescription(); secondComposite.name = "testComposite2"; secondComposite.customProperties = new HashMap<String, String>();
private static CompositeDescriptionExpanded expand(CompositeDescription cd) { CompositeDescriptionExpanded cdExpanded = new CompositeDescriptionExpanded(); cd.copyTo(cdExpanded); cdExpanded.componentDescriptions = new ArrayList<>(); return cdExpanded; } }
CompositeDescription cdPatch = new CompositeDescription(); cdPatch.documentSelfLink = cd.documentSelfLink; cdPatch.parentDescriptionLink = cdCloned.documentSelfLink;
final String testContainerComposite2 = containerDescComposite2.documentSelfLink; CompositeDescription composite1 = new CompositeDescription(); composite1.name = "composite1"; composite1.descriptionLinks = new ArrayList<>(); CompositeDescription composite2 = new CompositeDescription(); composite2.name = "composite1"; composite2.descriptionLinks = new ArrayList<>();
ConfigurationUtil.initialize(config); CompositeDescription composite = new CompositeDescription(); composite.name = "testComposite"; composite.customProperties = new HashMap<String, String>();
@Test public void testCompositeContainerResourceOperationCycle() throws Throwable { host.log("######## testCompositeContainerResourceOperationCycle ######## "); CompositeDescription composite = new CompositeDescription(); composite.name = "Composite day2OpsTest"; composite.descriptionLinks = new ArrayList<String>();
AtomicBoolean requestFailed = new AtomicBoolean(false); CompositeDescription description = new CompositeDescription(); description.documentSelfLink = UriUtils.buildUriPath( CompositeDescriptionFactoryService.SELF_LINK,
CompositeDescription compositeDesc = new CompositeDescription(); compositeDesc.name = containerState.names.iterator().next(); compositeDesc.descriptionLinks = new ArrayList<>();
AtomicBoolean requestFailed = new AtomicBoolean(false); CompositeDescription description = new CompositeDescription(); description.documentSelfLink = UriUtils.buildUriPath( CompositeDescriptionFactoryService.SELF_LINK,
} else { String[] resourceLinks = o.getBody(String[].class); CompositeDescription description = new CompositeDescription(); description.descriptionLinks = Arrays.asList(resourceLinks); description.name = KUBERNETES_APPLICATION_TEMPLATE_PREFIX + ZonedDateTime
final String testContainerLink = containerDesc2.documentSelfLink; CompositeDescription composite = new CompositeDescription(); composite.name = "composite"; composite.descriptionLinks = new ArrayList<>();
private CompositeDescription createCompositeDescription(String name) throws Throwable { ContainerDescription firstContainer = new ContainerDescription(); firstContainer.name = "testContainer"; firstContainer.image = "registry.hub.docker.com/nginx"; firstContainer._cluster = 1; firstContainer.maximumRetryCount = 1; firstContainer.privileged = true; firstContainer.affinity = new String[] { "cond1", "cond2" }; firstContainer.customProperties = new HashMap<String, String>(); firstContainer.customProperties.put("key1", "value1"); firstContainer.customProperties.put("key2", "value2"); ContainerDescription createdFirstContainer = doPost(firstContainer, ContainerDescriptionService.FACTORY_LINK); ContainerDescription secondContainer = new ContainerDescription(); secondContainer.name = "testContainer2"; secondContainer.image = "registry.hub.docker.com/kitematic/hello-world-nginx"; ContainerDescription createdSecondContainer = doPost(secondContainer, ContainerDescriptionService.FACTORY_LINK); CompositeDescription composite = new CompositeDescription(); composite.name = "name"; composite.customProperties = new HashMap<String, String>(); composite.customProperties.put("key1", "value1"); composite.customProperties.put("key2", "value2"); composite.descriptionLinks = new ArrayList<String>(); composite.descriptionLinks.add(createdFirstContainer.documentSelfLink); composite.descriptionLinks.add(createdSecondContainer.documentSelfLink); return doPost(composite, CompositeDescriptionService.FACTORY_LINK); }
@Before public void initObjects() throws Throwable { ContainerDescription firstContainer = new ContainerDescription(); firstContainer.name = "testContainer"; firstContainer.image = "registry.hub.docker.com/nginx"; firstContainer._cluster = 1; firstContainer.maximumRetryCount = 1; firstContainer.privileged = true; firstContainer.affinity = new String[] { "cond1", "cond2" }; firstContainer.customProperties = new HashMap<String, String>(); firstContainer.customProperties.put("key1", "value1"); firstContainer.customProperties.put("key2", "value2"); createdFirstContainer = doPost(firstContainer, ContainerDescriptionService.FACTORY_LINK); ContainerDescription secondContainer = new ContainerDescription(); secondContainer.name = "testContainer2"; secondContainer.image = "registry.hub.docker.com/kitematic/hello-world-nginx"; createdSecondContainer = doPost(secondContainer, ContainerDescriptionService.FACTORY_LINK); CompositeDescription composite = new CompositeDescription(); composite.name = "testComposite"; composite.customProperties = new HashMap<String, String>(); composite.customProperties.put("key1", "value1"); composite.customProperties.put("key2", "value2"); composite.descriptionLinks = new ArrayList<String>(); composite.descriptionLinks.add(createdFirstContainer.documentSelfLink); composite.descriptionLinks.add(createdSecondContainer.documentSelfLink); createdComposite = doPost(composite, CompositeDescriptionService.FACTORY_LINK); }
@Test public void testPutExpanded() throws Throwable { ContainerDescription container = new ContainerDescription(); container.name = "container"; container.image = "registry.hub.docker.com/kitematic/hello-world-nginx"; container = doPost(container, ContainerDescriptionService.FACTORY_LINK); ComponentDescription containerComponent = new ComponentDescription(); containerComponent.name = "container"; container.name = "updated"; containerComponent.updateServiceDocument(container); containerComponent.type = ResourceType.CONTAINER_TYPE.getContentType(); CompositeDescription cd = new CompositeDescription(); cd.name = "testComposite"; cd = doPost(cd, CompositeDescriptionFactoryService.SELF_LINK); // Make PUT but as expanded state, so that components are also updated CompositeDescriptionExpanded cdUpdate = new CompositeDescriptionExpanded(); cdUpdate.documentSelfLink = cd.documentSelfLink; cdUpdate.name = cd.name; cdUpdate.componentDescriptions = new ArrayList<>(); cdUpdate.componentDescriptions.add(containerComponent); cdUpdate = doPut(cdUpdate); // Explicitly search for document to validate that the list returns the right document kind CompositeDescription foundCd = searchForDocument(CompositeDescription.class, cd.documentSelfLink); assertEquals(Utils.buildKind(CompositeDescription.class), foundCd.documentKind); container = getDocument(ContainerDescription.class, container.documentSelfLink); assertEquals("updated", container.name); }
@Test public void testGetCompositeDescription() { CompositeDescription state1 = new CompositeDescription(); state1.name = "test"; state1.descriptionLinks = Collections.singletonList("test"); CompositeDescription state2 = new CompositeDescription(); state2.name = "test"; state2.descriptionLinks = Collections.singletonList("test"); state1 = doPostWithProjectHeader(state1, CompositeDescriptionFactoryService.SELF_LINK, testProject1.documentSelfLink, CompositeDescription.class); state2 = doPostWithProjectHeader(state2, CompositeDescriptionFactoryService.SELF_LINK, testProject2.documentSelfLink, CompositeDescription.class); ServiceDocumentQueryResult project1Docs = getDocumentsWithinProject( CompositeDescriptionFactoryService.SELF_LINK, testProject1.documentSelfLink); assertEquals(1, project1Docs.documentLinks.size()); assertTrue(project1Docs.documentLinks.contains(state1.documentSelfLink)); ServiceDocumentQueryResult project2Docs = getDocumentsWithinProject( CompositeDescriptionFactoryService.SELF_LINK, testProject2.documentSelfLink); assertEquals(1, project2Docs.documentLinks.size()); assertTrue(project2Docs.documentLinks.contains(state2.documentSelfLink)); }
private void createCompositeDescription(String tenantLink, boolean cloned) throws Throwable { CompositeDescription compositeDesc = new CompositeDescription(); compositeDesc.name = TEST_COMPOSITE_DESC_NAME; if (cloned) { compositeDesc.parentDescriptionLink = TEST_COMPOSITE_DESC_NAME; compositeDesc.documentSelfLink = TEST_COMPOSITE_DESC_NAME_CLONED; } if (tenantLink != null) { compositeDesc.tenantLinks = Collections.singletonList(tenantLink); } compositeDesc.descriptionLinks = Collections.singletonList(containerDescSelfLink); System.out.println(getFactoryUrl(CompositeDescriptionFactoryService.class).toString()); verifyOperation(OperationUtil.createForcedPost( getFactoryUrl(CompositeDescriptionFactoryService.class)) .setBody(compositeDesc), (o) -> { CompositeDescription cd = o.getBody(CompositeDescription.class); compositeDescSelfLink = cd.documentSelfLink; }); }
@Test public void testDeleteContainerDescPartOfComposite() throws Throwable { ContainerDescription containerDescription = createContainerDescription(); containerDescription.name = "containerDescription"; containerDescription = doPost(containerDescription, ContainerDescriptionService.FACTORY_LINK); CompositeDescription composite = new CompositeDescription(); composite.name = "composite"; composite.descriptionLinks = Collections .singletonList(containerDescription.documentSelfLink); composite = doPost(composite, CompositeDescriptionFactoryService.SELF_LINK); delete(containerDescription.documentSelfLink); List<String> resourceLinks = findResourceLinks(ContainerDescription.class, Arrays.asList(containerDescription.documentSelfLink)); Assert.assertEquals("Container description must be deleted on DELETE", 0, resourceLinks.size()); }
private CompositeDescription prepareCompositeDescriptionForClone( CompositeDescriptionExpanded cdExpanded, boolean reverse) { CompositeDescription cd = new CompositeDescription(); cd.name = cdExpanded.name; cd.status = cdExpanded.status; cd.lastPublished = null; if (reverse) { cd.parentDescriptionLink = null; } else { cd.parentDescriptionLink = cdExpanded.documentSelfLink; } cd.descriptionLinks = new ArrayList<String>(); cd.documentSelfLink = null; cd.customProperties = cdExpanded.customProperties; cd.tenantLinks = cdExpanded.tenantLinks; cd.bindings = cdExpanded.bindings; return cd; }
@Test public void testContainerDescriptionServices() throws Throwable { verifyService( CompositeDescriptionFactoryService.class, CompositeDescription.class, (prefix, index) -> { CompositeDescription containerDesc = new CompositeDescription(); containerDesc.name = prefix + "name" + index; containerDesc.customProperties = new HashMap<>(); return containerDesc; }, (prefix, serviceDocument) -> { CompositeDescription contDesc = (CompositeDescription) serviceDocument; assertTrue(contDesc.name.startsWith(prefix + "name")); }); }
private CompositeDescription createCompositeDescription() throws Throwable { CompositeDescription description = new CompositeDescription(); description.name = "test-name"; description = doPost(description, CompositeDescriptionFactoryService.SELF_LINK); addForDeletion(description); return description; }