ClusterSummary clusterSummary = emrDao.getActiveEmrClusterByName(clusterName, awsParamsDto); clusterId = emrDao.createEmrCluster(clusterName, emrClusterDefinition, awsParamsDto); emrClusterCreated = true; emrClusterStatus = emrDao.getEmrClusterStatusById(clusterId, awsParamsDto);
@Test public void testGetEmrClusterByIdNull() throws Exception { Cluster cluster = emrDao.getEmrClusterById(null, null); assertNull(cluster); }
private void terminateCluster(String namespace, String clusterDefinitionName, String clusterName) { try { String fullClusterName = emrHelper.buildEmrClusterName(namespace, clusterDefinitionName, clusterName); AwsParamsDto awsParams = emrHelper.getAwsParamsDto(); emrDao.terminateEmrCluster(fullClusterName, true, awsParams); } catch (Exception e) { /* * Ignore the error. * Most of the cases the failures are because the cluster terminated by itself, in which case what this method was trying to achieve has been * accomplished. * If cluster termination legitimately fails, it is not part of this test suite. */ LOGGER.warn(String .format("Failed to terminate cluster namespace = %s, clusterDefinitionName = %s, clusterName = %s", namespace, clusterDefinitionName, clusterName)); } }
Cluster cluster = emrDao.getEmrClusterById(emrClusterIdTrimmed, awsParamsDto); Assert.notNull(cluster, String.format("The cluster with ID \"%s\" does not exist.", emrClusterIdTrimmed)); ClusterSummary clusterSummary = emrDao.getActiveEmrClusterByName(emrClusterNameTrimmed, awsParamsDto); Assert.notNull(clusterSummary, String.format("The cluster with name \"%s\" does not exist.", emrClusterNameTrimmed)); return clusterSummary.getId();
@Test public void testGetActiveEmrClusterByName() throws Exception { // Get the EMR cluster definition object String configXml = IOUtils.toString(resourceLoader.getResource(EMR_CLUSTER_DEFINITION_XML_FILE_WITH_CLASSPATH).getInputStream()); EmrClusterDefinition emrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, configXml); // check cluster summary before creation ClusterSummary clusterSummary = emrDao.getActiveEmrClusterByName(MockEmrOperationsImpl.MOCK_CLUSTER_NAME, emrHelper.getAwsParamsDto()); assertNull(clusterSummary); // Create the cluster String clusterId = emrDao.createEmrCluster(MockEmrOperationsImpl.MOCK_CLUSTER_NAME, emrClusterDefinition, emrHelper.getAwsParamsDto()); // check cluster summary after creation clusterSummary = emrDao.getActiveEmrClusterByName(MockEmrOperationsImpl.MOCK_CLUSTER_NAME, emrHelper.getAwsParamsDto()); assertNotNull(clusterSummary); assertEquals(clusterId, clusterSummary.getId()); }
Cluster cluster = emrDao.getEmrClusterById(emrClusterId.trim(), awsParamsDto); ClusterSummary clusterSummary = emrDao.getActiveEmrClusterByName(clusterName, awsParamsDto); StepSummary stepSummary = emrDao.getClusterActiveStep(emrCluster.getId(), awsParamsDto); if (stepSummary != null) Step step = emrDao.getClusterStep(emrCluster.getId(), emrStepId.trim(), awsParamsDto); ListInstanceFleetsResult listInstanceFleetsResult = emrDao.getListInstanceFleetsResult(emrCluster.getId(), awsParamsDto); emrCluster.setInstanceFleets(emrHelper.buildEmrClusterInstanceFleetFromAwsResult(listInstanceFleetsResult));
when(mockEmrDao.getEmrClusterStatusById(any(), any())).thenReturn(buildEmrClusterNameResult); .buildEmrClusterName(namespaceEntity.getCode(), emrClusterDefinitionEntity.getName(), emrClusterAlternateKeyDto.getEmrClusterName()); verify(mockEmrHelper).getActiveEmrClusterId(emrClusterId, buildEmrClusterNameResult, null); verify(mockEmrDao).terminateEmrCluster(buildEmrClusterNameResult, overrideTerminationProtection, awsParamsDto); verify(mockEmrDao).getEmrClusterStatusById(buildEmrClusterNameResult, awsParamsDto);
when(emrHelper.buildEmrClusterName(emrClusterAlternateKeyDto.getNamespace(), emrClusterAlternateKeyDto.getEmrClusterDefinitionName(), emrClusterAlternateKeyDto.getEmrClusterName())).thenReturn(EMR_CLUSTER_NAME); when(emrDao.getActiveEmrClusterByName(EMR_CLUSTER_NAME, awsParamsDto)).thenReturn(clusterSummary); when(emrDao.getEmrClusterStatusById(EMR_CLUSTER_ID, awsParamsDto)).thenReturn(EMR_CLUSTER_STATUS); verify(emrHelper).buildEmrClusterName(emrClusterAlternateKeyDto.getNamespace(), emrClusterAlternateKeyDto.getEmrClusterDefinitionName(), emrClusterAlternateKeyDto.getEmrClusterName()); verify(emrDao).getActiveEmrClusterByName(EMR_CLUSTER_NAME, awsParamsDto); verify(emrDao).getEmrClusterStatusById(EMR_CLUSTER_ID, awsParamsDto); verifyNoMoreInteractionsHelper();
@Test public void getActiveEmrClusterByNameAssertReturnNullWhenClusterNameIsBlank() throws Exception { String clusterName = ""; when(mockEmrOperations.listEmrClusters(any(), any())).thenReturn(new ListClustersResult()); assertNull(emrDao.getActiveEmrClusterByName(clusterName, getAwsParamsDto())); }
/** * This method tests the blank EC2 tags */ @Test public void testCreateEmrClusterBlankTags() throws Exception { // Create the namespace entity. namespaceDaoTestHelper.createNamespaceEntity(NAMESPACE); String configXml = IOUtils.toString(resourceLoader.getResource(EMR_CLUSTER_DEFINITION_XML_FILE_WITH_CLASSPATH).getInputStream()); EmrClusterDefinition emrClusterDefinition = xmlHelper.unmarshallXmlToObject(EmrClusterDefinition.class, configXml); // Add new node tags. First tag does not contain any tag value; but contains node tag name NodeTag nodeTag1 = new NodeTag(); nodeTag1.setTagName("NO_TAG_VALUE"); // Second tag does not contain node tag name; but contains node tag value NodeTag nodeTag2 = new NodeTag(); nodeTag2.setTagValue("NO_TAG_NAME"); // Create the list and add the tags ArrayList<NodeTag> nodeTagList = new ArrayList<>(); nodeTagList.add(nodeTag1); nodeTagList.add(nodeTag2); // Set the tags emrClusterDefinition.setNodeTags(nodeTagList); emrDao.createEmrCluster(EMR_CLUSTER_DEFINITION_NAME, emrClusterDefinition, emrHelper.getAwsParamsDto()); }
assertEquals(stepId, emrDao.addEmrStep(clusterId, emrStepConfig, getAwsParamsDto()));
/** * This method tests the blank cluster id for finding cluster status */ @Test public void testGetEmrClusterStatusByIdWithBlank() throws Exception { // Send blank for cluster id, and this method returns null for describeClusterResult emrDao.getEmrClusterStatusById(EMR_CLUSTER_DEFINITION_NAME, emrHelper.getAwsParamsDto()); }
/** * This method tests the blank proxy details */ @Test public void testEmrAwsDtoBlankProxy() throws Exception { // Set the proxy as blank too to get the EMR client without proxy AwsParamsDto awsParamsDto = emrHelper.getAwsParamsDto(); awsParamsDto.setHttpProxyHost(""); emrDao.getEmrClient(awsParamsDto); }
@Test public void addEmrMasterSecurityGroupsCallsEc2AddSecurityGroup() throws Exception { String clusterName = "clusterName"; List<String> securityGroups = Arrays.asList("securityGroup"); AwsParamsDto awsParams = getAwsParamsDto(); String ec2InstanceId = "ec2InstanceId"; ListClustersResult listClustersResult = new ListClustersResult(); listClustersResult.setClusters(new ArrayList<>()); ClusterSummary clusterSummary = new ClusterSummary(); clusterSummary.setId("clusterId"); clusterSummary.setName(clusterName); listClustersResult.getClusters().add(clusterSummary); when(mockEmrOperations.listEmrClusters(any(), any())).thenReturn(listClustersResult); ListInstancesResult listInstancesResult = new ListInstancesResult(); listInstancesResult.setInstances(new ArrayList<>()); Instance instance = new Instance(); instance.setEc2InstanceId(ec2InstanceId); listInstancesResult.getInstances().add(instance); when(mockEmrOperations.listClusterInstancesRequest(any(), any())).thenReturn(listInstancesResult); emrDao.addEmrMasterSecurityGroups(clusterName, securityGroups, awsParams); verify(mockEc2Dao).addSecurityGroupsToEc2Instance(eq(ec2InstanceId), eq(securityGroups), any()); verifyNoMoreInteractions(mockEc2Dao); }
@Test public void getClusterActiveStepAssertReturnNullWhenStepListIsEmpty() throws Exception { String clusterId = "clusterId"; when(mockEmrOperations.listStepsRequest(any(), any())).thenReturn(new ListStepsResult()); assertNull(emrDao.getClusterActiveStep(clusterId, getAwsParamsDto())); }
@Test public void getClusterStepAssertCallsDescribeStepAndReturnsStep() throws Exception { String clusterId = "clusterId"; String stepId = "stepId"; Step expectedStep = new Step(); when(mockEmrOperations.describeStepRequest(any(), any())).then(new Answer<DescribeStepResult>() { @Override public DescribeStepResult answer(InvocationOnMock invocation) throws Throwable { DescribeStepRequest describeStepRequest = invocation.getArgument(1); assertEquals(clusterId, describeStepRequest.getClusterId()); assertEquals(stepId, describeStepRequest.getStepId()); DescribeStepResult describeStepResult = new DescribeStepResult(); describeStepResult.setStep(expectedStep); return describeStepResult; } }); assertEquals(expectedStep, emrDao.getClusterStep(clusterId, stepId, getAwsParamsDto())); }
Cluster cluster = emrDao.getEmrClusterById(emrClusterId.trim(), awsParamsDto); ClusterSummary clusterSummary = emrDao.getActiveEmrClusterByName(clusterName, awsParamsDto); StepSummary stepSummary = emrDao.getClusterActiveStep(emrCluster.getId(), awsParamsDto); if (stepSummary != null) Step step = emrDao.getClusterStep(emrCluster.getId(), emrStepId.trim(), awsParamsDto); ListInstanceFleetsResult listInstanceFleetsResult = emrDao.getListInstanceFleetsResult(emrCluster.getId(), awsParamsDto); emrCluster.setInstanceFleets(emrHelper.buildEmrClusterInstanceFleetFromAwsResult(listInstanceFleetsResult));
Cluster cluster = emrDao.getEmrClusterById(emrClusterIdTrimmed, awsParamsDto); Assert.notNull(cluster, String.format("The cluster with ID \"%s\" does not exist.", emrClusterIdTrimmed)); ClusterSummary clusterSummary = emrDao.getActiveEmrClusterByName(emrClusterNameTrimmed, awsParamsDto); Assert.notNull(clusterSummary, String.format("The cluster with name \"%s\" does not exist.", emrClusterNameTrimmed)); return clusterSummary.getId();
emrDao.terminateEmrCluster(clusterId, overrideTerminationProtection, awsParamsDto); emrClusterAlternateKeyDto.getEmrClusterName(), accountId, emrDao.getEmrClusterStatusById(clusterId, awsParamsDto), null, null, null);
when(emrHelper.buildEmrClusterName(emrClusterAlternateKeyDto.getNamespace(), emrClusterAlternateKeyDto.getEmrClusterDefinitionName(), emrClusterAlternateKeyDto.getEmrClusterName())).thenReturn(EMR_CLUSTER_NAME); when(emrDao.getActiveEmrClusterByName(EMR_CLUSTER_NAME, awsParamsDto)).thenReturn(null); when(emrDao.createEmrCluster(EMR_CLUSTER_NAME, emrClusterDefinition, awsParamsDto)).thenThrow(amazonServiceException); verify(emrHelper).buildEmrClusterName(emrClusterAlternateKeyDto.getNamespace(), emrClusterAlternateKeyDto.getEmrClusterDefinitionName(), emrClusterAlternateKeyDto.getEmrClusterName()); verify(emrDao).getActiveEmrClusterByName(EMR_CLUSTER_NAME, awsParamsDto); verify(emrDao).createEmrCluster(EMR_CLUSTER_NAME, emrClusterDefinition, awsParamsDto); verify(awsServiceHelper) .handleAmazonException(amazonServiceException, "An Amazon exception occurred while creating EMR cluster with name \"" + EMR_CLUSTER_NAME + "\".");