static ContainerHostSpec createContainerHostSpec(List<String> tenantLinks, String computeDescriptionId) throws Throwable { ContainerHostSpec ch = new ContainerHostSpec(); ch.hostState = createComputeHost(tenantLinks, computeDescriptionId); return ch; }
@Test public void testPutFromDifferentTenant() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithDifferentTenant = Arrays.asList( SECOND_TENANT_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithDifferentTenant, SECOND_COMPUTE_DESC_ID); createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testPutFromSameTenantDifferentUsers() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID, FIRST_USER_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithDifferentUser = Arrays.asList( FIRST_TENANT_ID, SECOND_USER_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithDifferentUser, SECOND_COMPUTE_DESC_ID); createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testPutFromSameTenantDifferentGroup() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID, FIRST_SUB_TENANT_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithDifferentGroup = Arrays.asList( FIRST_TENANT_ID, SECOND_SUB_TENANT_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithDifferentGroup, SECOND_COMPUTE_DESC_ID); createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testPutFromDifferentTenantSameUsers() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID, FIRST_USER_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithDifferentGroup = Arrays.asList( SECOND_TENANT_ID, FIRST_USER_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithDifferentGroup, SECOND_COMPUTE_DESC_ID); createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testPutAcceptCertificates() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithDifferentTenant = Arrays.asList( SECOND_TENANT_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithDifferentTenant, SECOND_COMPUTE_DESC_ID); hostSpec.acceptHostAddress = true; hostSpec.acceptCertificate = true; createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testPutFromSameTenantSameGroupDifferentUser() throws Throwable { ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithSecondTenant = Arrays.asList( FIRST_TENANT_ID, FIRST_SUB_TENANT_ID, SECOND_USER_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithSecondTenant, SECOND_COMPUTE_DESC_ID); createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testPutFromSameTenantDifferentGroupSameUser() throws Throwable { ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); List<String> tenantLinksWithSecondTenant = Arrays.asList( FIRST_TENANT_ID, SECOND_SUB_TENANT_ID, FIRST_USER_ID); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinksWithSecondTenant, SECOND_COMPUTE_DESC_ID); createContainerHostSpec(hostSpec); assertComputeStateExists(hostSpec); }
@Test public void testUpdateFromSameTenant() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); cs = doPost(cs, ComputeService.FACTORY_LINK); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinks, FIRST_COMPUTE_DESC_ID); hostSpec.hostState.documentSelfLink = cs.documentSelfLink; String updatedHostName = "updated name"; hostSpec.hostState.name = updatedHostName; hostSpec.isUpdateOperation = true; createContainerHostSpec(hostSpec); ComputeState updatedHost = assertComputeStateExists(hostSpec); assertEquals(updatedHost.name, updatedHostName); }
@Test public void testPutFromSameTenantSameGroup() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID, FIRST_SUB_TENANT_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinks, SECOND_COMPUTE_DESC_ID); try { createContainerHostSpec(hostSpec); fail("Should've thrown IllegalArgumentException - " + ContainerHostService.CONTAINER_HOST_ALREADY_EXISTS_MESSAGE); } catch (LocalizableValidationException e) { assertNotNull(e); assertEquals(ContainerHostService.CONTAINER_HOST_ALREADY_EXISTS_MESSAGE, e.getMessage()); } }
@Test public void testPutFromSameTenantSameUser() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID, FIRST_USER_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinks, SECOND_COMPUTE_DESC_ID); try { createContainerHostSpec(hostSpec); fail("Should've thrown IllegalArgumentException - " + ContainerHostService.CONTAINER_HOST_ALREADY_EXISTS_MESSAGE); } catch (LocalizableValidationException e) { assertNotNull(e); assertEquals(ContainerHostService.CONTAINER_HOST_ALREADY_EXISTS_MESSAGE, e.getMessage()); } }
@Test public void testPutFromSameTenant() throws Throwable { List<String> tenantLinks = Arrays.asList( FIRST_TENANT_ID); ComputeState cs = createComputeHost(tenantLinks, FIRST_COMPUTE_DESC_ID); doPost(cs, ComputeService.FACTORY_LINK); ContainerHostSpec hostSpec = createContainerHostSpec(tenantLinks, SECOND_COMPUTE_DESC_ID); try { createContainerHostSpec(hostSpec); fail("Should've thrown IllegalArgumentException - " + ContainerHostService.CONTAINER_HOST_ALREADY_EXISTS_MESSAGE); } catch (LocalizableValidationException e) { assertNotNull(e); assertEquals(ContainerHostService.CONTAINER_HOST_ALREADY_EXISTS_MESSAGE, e.getMessage()); } }