void doValidatePlanSelection(String planName, Collection<String> taskTenantLinks, Endpoint endpoint) { Set<String> projectLinks = TenantLinksUtil.getProjectAndGroupLinks(taskTenantLinks); boolean validSelection = projectLinks.stream() .anyMatch(projectLink -> { return endpoint.planAssignments.get(projectLink).plans.contains(planName); }); if (!validSelection) { throw new IllegalArgumentException(String.format( INVALID_PLAN_SELECTION_MESSAGE_FORMAT, planName, getSelfId())); } logFine("Valid plan selection [%s] for PKS cluster provisioning task [%s]", planName, getSelfId()); }
Set<String> projectLinks = TenantLinksUtil.getProjectAndGroupLinks(state.tenantLinks); if (projectLinks.isEmpty()) { String projectHeader = OperationUtil.extractProjectFromHeader(startOp);
@Test public void testGetProjectAndGroupLinks() { Set<String> set = TenantLinksUtil.getProjectAndGroupLinks(null); assertNotNull(set); assertTrue(set.isEmpty()); set = TenantLinksUtil.getProjectAndGroupLinks( Arrays.asList(SAMPLE_GROUP_LINK, SAMPLE_RANDOM_LINK)); assertNotNull(set); assertEquals(1, set.size()); assertTrue(set.contains(SAMPLE_GROUP_LINK)); set = TenantLinksUtil.getProjectAndGroupLinks( Arrays.asList(SAMPLE_PROJECT_LINK, SAMPLE_RANDOM_LINK)); assertNotNull(set); assertEquals(1, set.size()); assertTrue(set.contains(SAMPLE_PROJECT_LINK)); set = TenantLinksUtil.getProjectAndGroupLinks( Arrays.asList(SAMPLE_PROJECT_LINK, SAMPLE_GROUP_LINK, SAMPLE_USER_LINK, SAMPLE_TENANT_LINK, SAMPLE_RANDOM_LINK)); assertNotNull(set); assertEquals(2, set.size()); assertTrue(set.contains(SAMPLE_PROJECT_LINK)); assertTrue(set.contains(SAMPLE_GROUP_LINK)); }
@Override protected void validateStateOnStart(PKSProvisioningTaskState task) throws IllegalArgumentException { AssertUtil.assertNotNull(task, "task"); AssertUtil.assertNotNull(task.customProperties, "customProperties"); AssertUtil.assertNotEmpty(task.getCustomProperty(PKS_CLUSTER_NAME_PROP_NAME), "customProperties [" + PKS_CLUSTER_NAME_PROP_NAME + "]"); AssertUtil.assertNotEmpty(task.getCustomProperty(PKS_PLAN_NAME_FIELD), "customProperties [" + PKS_PLAN_NAME_FIELD + "]"); AssertUtil.assertNotEmpty(task.getCustomProperty(PKS_MASTER_HOST_FIELD), "customProperties [" + PKS_MASTER_HOST_FIELD + "]"); AssertUtil.assertNotNullOrEmpty(task.endpointLink, "endpointLink"); AssertUtil.assertNotNull(task.tenantLinks, "tenantLinks"); AssertUtil.assertNotEmpty(TenantLinksUtil.getProjectAndGroupLinks(task.tenantLinks), "tenantLinks(project/group links only)"); }