/** * Create an instance of {@link EmrClusterDefinition } * */ public EmrClusterDefinition createEmrClusterDefinition() { return new EmrClusterDefinition(); }
/** * Create an instance of {@link EmrClusterDefinition } * */ public EmrClusterDefinition createEmrClusterDefinition() { return new EmrClusterDefinition(); }
/** * Create an instance of {@link EmrClusterDefinition } * */ public EmrClusterDefinition createEmrClusterDefinition() { return new EmrClusterDefinition(); }
public Object createNewInstance() { return new EmrClusterDefinition(); }
public Object createNewInstance() { return new EmrClusterDefinition(); }
public Object createNewInstance() { return new EmrClusterDefinition(); }
@Test public void testCreateClusterContentTypeNullOverrideNotNull() throws Exception { String clusterName = "testCluster" + Math.random(); String override = jsonHelper.objectToJson(new EmrClusterDefinition()); executeWithoutLogging(ActivitiRuntimeHelper.class, () -> { Map<String, Object> variables = createJob(clusterName, "false", null, override); assertEquals("taskStatus", "ERROR", variables.get("createClusterServiceTask_taskStatus")); }); }
@Test public void testCreateClusterContentTypeInvalid() throws Exception { String clusterName = "testCluster" + Math.random(); String override = jsonHelper.objectToJson(new EmrClusterDefinition()); executeWithoutLogging(ActivitiRuntimeHelper.class, () -> { Map<String, Object> variables = createJob(clusterName, "false", "invalid", override); assertEquals("taskStatus", "ERROR", variables.get("createClusterServiceTask_taskStatus")); }); }
@Test public void testCreateClusterOverrideXml() throws Exception { String clusterName = "testCluster" + Math.random(); String override = xmlHelper.objectToXml(new EmrClusterDefinition()); Map<String, Object> variables = createJob(clusterName, "false", "xml", override); assertEquals("taskStatus", "SUCCESS", variables.get("createClusterServiceTask_taskStatus")); assertNotNull("emrClusterId", variables.get("createClusterServiceTask_emrClusterId")); assertNotNull("emrClusterStatus", variables.get("createClusterServiceTask_emrClusterStatus")); assertNotNull("emrClusterCreated", variables.get("createClusterServiceTask_emrClusterCreated")); assertNotNull("emrClusterDefinition", variables.get("createClusterServiceTask_emrClusterDefinition")); terminateCluster(TEST_ACTIVITI_NAMESPACE_CD, EMR_CLUSTER_DEFINITION_NAME, clusterName); }
@Test public void testCreateClusterOverrideJson() throws Exception { String clusterName = "testCluster" + Math.random(); String override = jsonHelper.objectToJson(new EmrClusterDefinition()); Map<String, Object> variables = createJob(clusterName, "false", "json", override); assertEquals("taskStatus", "SUCCESS", variables.get("createClusterServiceTask_taskStatus")); assertNotNull("emrClusterId", variables.get("createClusterServiceTask_emrClusterId")); assertNotNull("emrClusterStatus", variables.get("createClusterServiceTask_emrClusterStatus")); assertNotNull("emrClusterCreated", variables.get("createClusterServiceTask_emrClusterCreated")); assertNotNull("emrClusterDefinition", variables.get("createClusterServiceTask_emrClusterDefinition")); terminateCluster(TEST_ACTIVITI_NAMESPACE_CD, EMR_CLUSTER_DEFINITION_NAME, clusterName); }
@Test public void testOverrideEmrClusterDefinitionNoOverride() { EmrClusterDefinition emrClusterDefinition = new EmrClusterDefinition("sshKeyPairName", "subnetId", "logBucket", true, true, true, true, "accountId", "serviceIamRole", "ec2NodeIamProfileName", "amiVersion", "releaseLabel", "hadoopVersion", "hiveVersion", "pigVersion", true, Lists.newArrayList(new ScriptDefinition()), Lists.newArrayList(new ScriptDefinition()), "additionalInfo", new InstanceDefinitions(), Lists.newArrayList(new EmrClusterDefinitionInstanceFleet()), Lists.newArrayList(new NodeTag()), "supportedProduct", Lists.newArrayList(new EmrClusterDefinitionApplication()), Lists.newArrayList(new EmrClusterDefinitionConfiguration()), Lists.newArrayList(new Parameter()), Lists.newArrayList(new Byte("0")), Lists.newArrayList(new HadoopJarStep()), Lists.newArrayList("additionalMasterSecurityGroups"), Lists.newArrayList("additionalSlaveSecurityGroups"), "securityConfiguration", "masterSecurityGroup", "slaveSecurityGroup", "scaleDownBehavior", new EmrClusterDefinitionKerberosAttributes()); EmrClusterDefinition emrClusterDefinitionOverride = new EmrClusterDefinition(); // Call the method under test. emrHelperServiceImpl.overrideEmrClusterDefinition(emrClusterDefinition, emrClusterDefinitionOverride); // Validate the override assertThat("Should not override.", emrClusterDefinition, is(emrClusterDefinition)); }
@Test public void testLogEmrClusterCreationImpl() throws Exception { // Create a namespace entity. NamespaceEntity namespaceEntity = new NamespaceEntity(); namespaceEntity.setCode(NAMESPACE); // Create an EMR cluster alternate key DTO EmrClusterAlternateKeyDto emrClusterAlternateKeyDto = new EmrClusterAlternateKeyDto(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME, EMR_CLUSTER_NAME); // Create an EMR cluster definition object EmrClusterDefinition emrClusterDefinition = new EmrClusterDefinition(); // Mock the external calls. when(namespaceDaoHelper.getNamespaceEntity(NAMESPACE)).thenReturn(namespaceEntity); when(xmlHelper.objectToXml(emrClusterDefinition)).thenReturn(EMR_CLUSTER_DEFINITION_XML_FILE_MINIMAL_CLASSPATH); // Call the method under test. emrHelperServiceImpl.logEmrClusterCreation(emrClusterAlternateKeyDto, emrClusterDefinition, EMR_CLUSTER_ID); // Verify the external calls. verify(namespaceDaoHelper).getNamespaceEntity(NAMESPACE); verify(xmlHelper).objectToXml(emrClusterDefinition); verify(herdDao).saveAndRefresh(any(EmrClusterCreationLogEntity.class)); verifyNoMoreInteractionsHelper(); }
@Test public void testDeleteEmrClusterDefinition() throws Exception { // Create an EMR cluster definition key. EmrClusterDefinitionKey emrClusterDefinitionKey = new EmrClusterDefinitionKey(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME); // Create an EMR cluster definition. EmrClusterDefinition emrClusterDefinition = new EmrClusterDefinition(); // Create an object that holds EMR cluster definition information. EmrClusterDefinitionInformation emrClusterDefinitionInformation = new EmrClusterDefinitionInformation(ID, emrClusterDefinitionKey, emrClusterDefinition); // Mock the external calls. when(emrClusterDefinitionService.deleteEmrClusterDefinition(emrClusterDefinitionKey)).thenReturn(emrClusterDefinitionInformation); // Call the method under test. EmrClusterDefinitionInformation result = emrClusterDefinitionRestController.deleteEmrClusterDefinition(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME); // Verify the external calls. verify(emrClusterDefinitionService).deleteEmrClusterDefinition(emrClusterDefinitionKey); verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(emrClusterDefinitionInformation, result); }
@Test public void testGetEmrClusterDefinition() throws Exception { // Create an EMR cluster definition key. EmrClusterDefinitionKey emrClusterDefinitionKey = new EmrClusterDefinitionKey(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME); // Create an EMR cluster definition. EmrClusterDefinition emrClusterDefinition = new EmrClusterDefinition(); // Create an object that holds EMR cluster definition information. EmrClusterDefinitionInformation emrClusterDefinitionInformation = new EmrClusterDefinitionInformation(ID, emrClusterDefinitionKey, emrClusterDefinition); // Mock the external calls. when(emrClusterDefinitionService.getEmrClusterDefinition(emrClusterDefinitionKey)).thenReturn(emrClusterDefinitionInformation); // Call the method under test. EmrClusterDefinitionInformation result = emrClusterDefinitionRestController.getEmrClusterDefinition(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME); // Verify the external calls. verify(emrClusterDefinitionService).getEmrClusterDefinition(emrClusterDefinitionKey); verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(emrClusterDefinitionInformation, result); }
/** * This method fills-up the parameters required for the EMR cluster create request, with overridden AWS account Id. */ private EmrClusterCreateRequest getNewEmrClusterCreateRequestWithAccountId() throws Exception { // Create the definition. EmrClusterCreateRequest request = new EmrClusterCreateRequest(); // Fill in the parameters. request.setNamespace(NAMESPACE); request.setEmrClusterDefinitionName(EMR_CLUSTER_DEFINITION_NAME); request.setEmrClusterName("UT_EMR_CLUSTER-" + Math.random()); EmrClusterDefinition emrClusterDefinitionOverride = new EmrClusterDefinition(); request.setEmrClusterDefinitionOverride(emrClusterDefinitionOverride); emrClusterDefinitionOverride.setAccountId(AWS_ACCOUNT_ID); return request; } }
@Test public void testCreateEmrCluster() throws Exception { // Create an EMR cluster definition override. EmrClusterDefinition emrClusterDefinitionOverride = new EmrClusterDefinition(); // Create an EMR cluster create request. EmrClusterCreateRequest emrClusterCreateRequest = new EmrClusterCreateRequest(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME, EMR_CLUSTER_NAME, DRY_RUN, emrClusterDefinitionOverride); // Create an EMR cluster. EmrCluster emrCluster = new EmrCluster(); emrCluster.setId(EMR_CLUSTER_ID); // Mock the external calls. when(emrService.createCluster(emrClusterCreateRequest)).thenReturn(emrCluster); // Call the method under test. EmrCluster result = emrRestController.createEmrCluster(emrClusterCreateRequest); // Verify the external calls. verify(emrService).createCluster(emrClusterCreateRequest); verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(emrCluster, result); }
@Test public void testUpdateEmrClusterDefinition() throws Exception { // Create an EMR cluster definition key. EmrClusterDefinitionKey emrClusterDefinitionKey = new EmrClusterDefinitionKey(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME); // Create an EMR cluster definition. EmrClusterDefinition emrClusterDefinition = new EmrClusterDefinition(); // Create an EMR cluster definition update request. EmrClusterDefinitionUpdateRequest emrClusterDefinitionUpdateRequest = new EmrClusterDefinitionUpdateRequest(emrClusterDefinition); // Create an object that holds EMR cluster definition information. EmrClusterDefinitionInformation emrClusterDefinitionInformation = new EmrClusterDefinitionInformation(ID, emrClusterDefinitionKey, emrClusterDefinition); // Mock the external calls. when(emrClusterDefinitionService.updateEmrClusterDefinition(emrClusterDefinitionKey, emrClusterDefinitionUpdateRequest)) .thenReturn(emrClusterDefinitionInformation); // Call the method under test. EmrClusterDefinitionInformation result = emrClusterDefinitionRestController.updateEmrClusterDefinition(NAMESPACE, EMR_CLUSTER_DEFINITION_NAME, emrClusterDefinitionUpdateRequest); // Verify the external calls. verify(emrClusterDefinitionService).updateEmrClusterDefinition(emrClusterDefinitionKey, emrClusterDefinitionUpdateRequest); verifyNoMoreInteractionsHelper(); // Validate the results. assertEquals(emrClusterDefinitionInformation, result); }
@Test public void testCreateEmrClusterOverrideExistingCoreInstanceToNullAssertSuccess() throws Exception { // Create the namespace entity. NamespaceEntity namespaceEntity = namespaceDaoTestHelper.createNamespaceEntity(NAMESPACE); String definitionXml = IOUtils.toString(resourceLoader.getResource(EMR_CLUSTER_DEFINITION_XML_FILE_WITH_CLASSPATH).getInputStream()); EmrClusterDefinition emrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, definitionXml); emrClusterDefinition.getInstanceDefinitions().getCoreInstances().setInstanceCount(1); emrClusterDefinitionDaoTestHelper .createEmrClusterDefinitionEntity(namespaceEntity, EMR_CLUSTER_DEFINITION_NAME, xmlHelper.objectToXml(emrClusterDefinition)); // Create a new EMR cluster create request EmrClusterCreateRequest request = getNewEmrClusterCreateRequest(); EmrClusterDefinition emrClusterDefinitionOverride = new EmrClusterDefinition(); emrClusterDefinitionOverride.setInstanceDefinitions(emrClusterDefinition.getInstanceDefinitions()); emrClusterDefinitionOverride.getInstanceDefinitions().setCoreInstances(null); request.setEmrClusterDefinitionOverride(emrClusterDefinitionOverride); EmrCluster emrClusterCreateResponse = emrService.createCluster(request); assertNull(emrClusterCreateResponse.getEmrClusterDefinition().getInstanceDefinitions().getCoreInstances()); }
@Test public void testCreateEmrClusterOverrideAllNull() throws Exception { // Create the namespace entity. NamespaceEntity namespaceEntity = namespaceDaoTestHelper.createNamespaceEntity(NAMESPACE); String definitionXml = IOUtils.toString(resourceLoader.getResource(EMR_CLUSTER_DEFINITION_XML_FILE_WITH_CLASSPATH).getInputStream()); EmrClusterDefinition expectedEmrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, definitionXml); emrClusterDefinitionDaoTestHelper.createEmrClusterDefinitionEntity(namespaceEntity, EMR_CLUSTER_DEFINITION_NAME, definitionXml); // Create a new EMR cluster create request EmrClusterCreateRequest request = getNewEmrClusterCreateRequest(); EmrClusterDefinition emrClusterDefinitionOverride = new EmrClusterDefinition(); request.setEmrClusterDefinitionOverride(emrClusterDefinitionOverride); EmrCluster emrCluster = emrService.createCluster(request); // Validate the returned object against the input. assertNotNull(emrCluster); assertTrue(emrCluster.getNamespace().equals(request.getNamespace())); assertTrue(emrCluster.getEmrClusterDefinitionName().equals(request.getEmrClusterDefinitionName())); assertTrue(emrCluster.getEmrClusterName().equals(request.getEmrClusterName())); assertNotNull(emrCluster.getId()); assertNull(emrCluster.isDryRun()); assertTrue(emrCluster.isEmrClusterCreated()); assertNotNull(emrCluster.getEmrClusterDefinition()); assertEquals(expectedEmrClusterDefinition, emrCluster.getEmrClusterDefinition()); validateEmrClusterCreationLogUnique(emrCluster, expectedEmrClusterDefinition); }
@Test public void testCreateEmrClusterOverrideExistingCoreInstanceTo0InstanceCountAssertSuccess() throws Exception { // Create the namespace entity. NamespaceEntity namespaceEntity = namespaceDaoTestHelper.createNamespaceEntity(NAMESPACE); String definitionXml = IOUtils.toString(resourceLoader.getResource(EMR_CLUSTER_DEFINITION_XML_FILE_WITH_CLASSPATH).getInputStream()); EmrClusterDefinition emrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, definitionXml); emrClusterDefinition.getInstanceDefinitions().getCoreInstances().setInstanceCount(1); emrClusterDefinitionDaoTestHelper .createEmrClusterDefinitionEntity(namespaceEntity, EMR_CLUSTER_DEFINITION_NAME, xmlHelper.objectToXml(emrClusterDefinition)); // Create a new EMR cluster create request EmrClusterCreateRequest request = getNewEmrClusterCreateRequest(); EmrClusterDefinition emrClusterDefinitionOverride = new EmrClusterDefinition(); emrClusterDefinitionOverride.setInstanceDefinitions(emrClusterDefinition.getInstanceDefinitions()); emrClusterDefinitionOverride.getInstanceDefinitions().getCoreInstances().setInstanceCount(0); request.setEmrClusterDefinitionOverride(emrClusterDefinitionOverride); EmrCluster emrClusterCreateResponse = emrService.createCluster(request); assertNull(emrClusterCreateResponse.getEmrClusterDefinition().getInstanceDefinitions().getCoreInstances()); }