package com.sequenceiq.it.cloudbreak; import org.testng.Assert; import org.testng.annotations.Optional; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.sequenceiq.cloudbreak.api.model.BlueprintRequest; import com.sequenceiq.it.util.ResourceUtil; public class BlueprintCreationTest extends AbstractCloudbreakIntegrationTest { private final ObjectMapper mapper = new ObjectMapper(); @Test @Parameters({ "blueprintName", "blueprintFile" }) public void testBlueprintCreation(@Optional("it-hdp-multi-blueprint") String blueprintName, @Optional("classpath:/blueprint/hdp-multinode-default.bp") String blueprintFile) throws Exception { // GIVEN String blueprintContent = ResourceUtil.readStringFromResource(applicationContext, blueprintFile); // WHEN BlueprintRequest blueprintRequest = new BlueprintRequest(); blueprintRequest.setName(blueprintName); blueprintRequest.setDescription("Blueprint for integration testing"); blueprintRequest.setAmbariBlueprint(mapper.readValue(blueprintContent, JsonNode.class)); String id = getCloudbreakClient().blueprintEndpoint().postPrivate(blueprintRequest).getId().toString(); // THEN Assert.assertNotNull(id); getItContext().putContextParam(CloudbreakITContextConstants.BLUEPRINT_ID, id, true); } }