use of com.sequenceiq.it.cloudbreak.dto.distrox.DistroXTestDto in project cloudbreak by hortonworks.
the class DataHubCreateInternalApiTest method createInternalBlueprintsAndRecipesAndDataHubFromThem.
@Test(dataProvider = TEST_CONTEXT_WITH_MOCK)
@Description(given = "internal recipes, blueprints", when = "creates datahub through internal api", then = "initiator user can do main operations on it")
public void createInternalBlueprintsAndRecipesAndDataHubFromThem(TestContext testContext) {
String accountId = Crn.safeFromString(cloudbreakActor.useRealUmsUser(AuthUserKeys.USER_ENV_CREATOR_A).getCrn()).getAccountId();
resourceCreator.createDefaultImageCatalog(testContext);
RecipeTestDto recipe = resourceCreator.createDefaultRecipeInternal(testContext, accountId);
BlueprintTestDto blueprint = resourceCreator.createDefaultBlueprintInternal(testContext, accountId, commonClusterManagerProperties().getRuntimeVersion());
recipe.when(recipeTestClient.getV4Internal()).validate();
blueprint.when(blueprintTestClient.getV4Internal()).validate();
resourceCreator.createDefaultCredential(testContext);
resourceCreator.createDefaultEnvironment(testContext);
resourceCreator.createDefaultFreeIpa(testContext);
resourceCreator.createDefaultDataLake(testContext);
DistroXTestDto distroXTestDto = testContext.given(DistroXNetworkTestDto.class).given(DistroXImageTestDto.class).withImageCatalog().withImageId(IMAGE_CATALOG_ID).given(DistroXClouderaManagerTestDto.class).given(DistroXClusterTestDto.class).withBlueprintName(blueprint.getName()).withClouderaManager().given(DistroXTestDto.class).withRecipe(recipe.getName()).withInitiatorUserCrn(cloudbreakActor.useRealUmsUser(AuthUserKeys.USER_ENV_CREATOR_A).getCrn());
distroXTestDto.withCluster().withImageSettings(testContext.given(DistroXImageTestDto.class)).withNetwork(testContext.given(DistroXNetworkTestDto.class));
resourceCreator.createInternalAndWaitAs(distroXTestDto, Optional.of(AuthUserKeys.USER_ACCOUNT_ADMIN));
RunningParameter envCreatorA = user(AuthUserKeys.USER_ENV_CREATOR_A);
RunningParameter envCreatorB = user(AuthUserKeys.USER_ENV_CREATOR_B);
RunningParameter accountAdmin = user(AuthUserKeys.USER_ACCOUNT_ADMIN);
distroXTestDto.when(distroXTestClient.get(), envCreatorA).validate();
distroXTestDto.when(distroXTestClient.stop(), envCreatorA).await(STACK_STOPPED, accountAdmin).validate();
distroXTestDto.when(distroXTestClient.start(), envCreatorA).await(STACK_AVAILABLE, accountAdmin).validate();
testContext.given(UmsTestDto.class).assignTarget(EnvironmentTestDto.class.getSimpleName()).withEnvironmentUser().when(umsTestClient.assignResourceRole(AuthUserKeys.USER_ENV_CREATOR_B, regionAwareInternalCrnGeneratorFactory)).validate();
distroXTestDto.when(distroXTestClient.get(), envCreatorB).validate();
distroXTestDto.when(distroXTestClient.delete(), envCreatorA).await(STACK_DELETED, accountAdmin).validate();
useRealUmsUser(testContext, AuthUserKeys.USER_ACCOUNT_ADMIN);
}
Aggregations