You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ad...@apache.org on 2018/05/30 11:36:29 UTC

[ambari] 02/07: AMBARI-14714. Fix ServiceResourceProviderTest

This is an automated email from the ASF dual-hosted git repository.

adoroszlai pushed a commit to branch branch-feature-AMBARI-14714
in repository https://gitbox.apache.org/repos/asf/ambari.git

commit 938be763156e88c3183dfeb62a432cdfc906a9bb
Author: Doroszlai, Attila <ad...@apache.org>
AuthorDate: Fri May 18 22:02:15 2018 +0200

    AMBARI-14714. Fix ServiceResourceProviderTest
---
 .../internal/ServiceResourceProvider.java          |  6 +--
 .../api/resources/BaseResourceDefinitionTest.java  |  7 ++--
 .../AbstractControllerResourceProviderTest.java    |  7 ++--
 .../internal/AbstractResourceProviderTest.java     |  7 ++--
 .../controller/internal/JMXHostProviderTest.java   | 23 +++++------
 .../internal/ServiceResourceProviderTest.java      | 45 ++++++++++++----------
 6 files changed, 49 insertions(+), 46 deletions(-)

diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
index 72e43f7..ebaf14c 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ServiceResourceProvider.java
@@ -167,8 +167,7 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
   @Inject
   private KerberosHelper kerberosHelper;
 
-  @Inject
-  private TopologyDeleteFormer topologyDeleteFormer;
+  private final TopologyDeleteFormer topologyDeleteFormer;
 
   // ----- Constructors ----------------------------------------------------
 
@@ -180,9 +179,10 @@ public class ServiceResourceProvider extends AbstractControllerResourceProvider
   @AssistedInject
   public ServiceResourceProvider(
       @Assisted AmbariManagementController managementController,
-      MaintenanceStateHelper maintenanceStateHelper) {
+      MaintenanceStateHelper maintenanceStateHelper, TopologyDeleteFormer topologyDeleteFormer) {
     super(Resource.Type.Service, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController);
     this.maintenanceStateHelper = maintenanceStateHelper;
+    this.topologyDeleteFormer = topologyDeleteFormer;
 
     setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.SERVICE_ADD_DELETE_SERVICES));
     setRequiredUpdateAuthorizations(RoleAuthorization.AUTHORIZATIONS_UPDATE_SERVICE);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
index 22b55cd..a9a0555 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/BaseResourceDefinitionTest.java
@@ -51,6 +51,7 @@ import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.spi.ResourceProvider;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.state.Service;
+import org.apache.ambari.server.topology.TopologyDeleteFormer;
 import org.apache.ambari.server.view.ViewRegistry;
 import org.junit.Assert;
 import org.junit.Before;
@@ -88,13 +89,13 @@ public class BaseResourceDefinitionTest {
 
     ResourceProviderFactory factory = createMock(ResourceProviderFactory.class);
     MaintenanceStateHelper maintenanceStateHelper = createNiceMock(MaintenanceStateHelper.class);
+    TopologyDeleteFormer topologyDeleteFormer = createNiceMock(TopologyDeleteFormer.class);
     AmbariManagementController managementController = createMock(AmbariManagementController.class);
 
     expect(maintenanceStateHelper.isOperationAllowed(anyObject(Resource.Type.class),
             anyObject(Service.class))).andReturn(true).anyTimes();
 
-    ResourceProvider serviceResourceProvider = new ServiceResourceProvider(managementController,
-        maintenanceStateHelper);
+    ResourceProvider serviceResourceProvider = new ServiceResourceProvider(managementController, maintenanceStateHelper, topologyDeleteFormer);
 
     expect(
         factory.getServiceResourceProvider(
@@ -102,7 +103,7 @@ public class BaseResourceDefinitionTest {
 
     AbstractControllerResourceProvider.init(factory);
 
-    replay(factory, managementController, maintenanceStateHelper);
+    replay(factory, managementController, maintenanceStateHelper, topologyDeleteFormer);
 
     processor.process(null, serviceNode, "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/services");
 
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
index daac174..5a76e2e 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProviderTest.java
@@ -30,6 +30,7 @@ import org.apache.ambari.server.controller.MaintenanceStateHelper;
 import org.apache.ambari.server.controller.ResourceProviderFactory;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.controller.spi.ResourceProvider;
+import org.apache.ambari.server.topology.TopologyDeleteFormer;
 import org.junit.Test;
 
 import junit.framework.Assert;
@@ -45,16 +46,16 @@ public class AbstractControllerResourceProviderTest {
     ResourceProviderFactory factory = createMock(ResourceProviderFactory.class);
 
     MaintenanceStateHelper maintenanceStateHelper = createNiceMock(MaintenanceStateHelper.class);
+    TopologyDeleteFormer topologyDeleteFormer = createNiceMock(TopologyDeleteFormer.class);
 
-    ResourceProvider serviceResourceProvider = new ServiceResourceProvider(managementController,
-        maintenanceStateHelper);
+    ResourceProvider serviceResourceProvider = new ServiceResourceProvider(managementController, maintenanceStateHelper, topologyDeleteFormer);
 
     expect(factory.getServiceResourceProvider(managementController)).andReturn(
         serviceResourceProvider);
 
     AbstractControllerResourceProvider.init(factory);
 
-    replay(managementController, factory, maintenanceStateHelper);
+    replay(managementController, factory, maintenanceStateHelper, topologyDeleteFormer);
 
     AbstractResourceProvider provider =
         (AbstractResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
index 5771337..bcf3279 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AbstractResourceProviderTest.java
@@ -52,6 +52,7 @@ import org.apache.ambari.server.controller.spi.SystemException;
 import org.apache.ambari.server.controller.spi.UnsupportedPropertyException;
 import org.apache.ambari.server.controller.utilities.PredicateBuilder;
 import org.apache.ambari.server.state.SecurityType;
+import org.apache.ambari.server.topology.TopologyDeleteFormer;
 import org.easymock.EasyMock;
 import org.easymock.IArgumentMatcher;
 import org.junit.Assert;
@@ -123,10 +124,10 @@ public class AbstractResourceProviderTest {
   public void testGetRequestStatus() {
     AmbariManagementController managementController = createMock(AmbariManagementController.class);
     MaintenanceStateHelper maintenanceStateHelper = createNiceMock(MaintenanceStateHelper.class);
-    replay(maintenanceStateHelper);
+    TopologyDeleteFormer topologyDeleteFormer = createNiceMock(TopologyDeleteFormer.class);
+    replay(maintenanceStateHelper, topologyDeleteFormer);
 
-    AbstractResourceProvider provider = new ServiceResourceProvider(managementController,
-        maintenanceStateHelper);
+    AbstractResourceProvider provider = new ServiceResourceProvider(managementController, maintenanceStateHelper, topologyDeleteFormer);
 
     RequestStatus status = provider.getRequestStatus(null);
 
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
index d1365e0..ca4a74f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/JMXHostProviderTest.java
@@ -51,6 +51,7 @@ import org.apache.ambari.server.state.ServiceComponent;
 import org.apache.ambari.server.state.ServiceComponentHost;
 import org.apache.ambari.server.state.StackId;
 import org.apache.ambari.server.state.State;
+import org.apache.ambari.server.topology.TopologyDeleteFormer;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -554,26 +555,20 @@ public class JMXHostProviderTest {
 
   private static class JMXHostProviderModule extends AbstractProviderModule {
 
+    private final ResourceProvider clusterResourceProvider = new ClusterResourceProvider(controller);
 
-
-    ResourceProvider clusterResourceProvider = new ClusterResourceProvider(controller);
-
-    Injector injector = createNiceMock(Injector.class);
-    MaintenanceStateHelper maintenanceStateHelper = createNiceMock(MaintenanceStateHelper.class);
+    private final Injector injector = createNiceMock(Injector.class);
+    private final MaintenanceStateHelper maintenanceStateHelper = createNiceMock(MaintenanceStateHelper.class);
+    private final TopologyDeleteFormer topologyDeleteFormer = createNiceMock(TopologyDeleteFormer.class);
 
     {
       expect(injector.getInstance(Clusters.class)).andReturn(null);
-      replay(maintenanceStateHelper, injector);
+      replay(maintenanceStateHelper, injector, topologyDeleteFormer);
     }
 
-    ResourceProvider serviceResourceProvider = new ServiceResourceProvider(controller,
-        maintenanceStateHelper);
-
-    ResourceProvider hostCompResourceProvider = new
-      HostComponentResourceProvider(controller, injector);
-
-    ResourceProvider configResourceProvider = new ConfigurationResourceProvider(
-        controller);
+    private final ResourceProvider serviceResourceProvider = new ServiceResourceProvider(controller, maintenanceStateHelper, topologyDeleteFormer);
+    private final ResourceProvider hostCompResourceProvider = new HostComponentResourceProvider(controller, injector);
+    private final ResourceProvider configResourceProvider = new ConfigurationResourceProvider(controller);
 
     JMXHostProviderModule(AmbariManagementController ambariManagementController) {
       super();
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
index 718c477..de2152d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ServiceResourceProviderTest.java
@@ -138,6 +138,7 @@ public class ServiceResourceProviderTest {
 
     expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes();
 
+    expect(cluster.getServicesById()).andReturn(Collections.emptyMap()).anyTimes();
     expect(cluster.getService("Service100")).andReturn(null);
     expect(cluster.getDesiredStackVersion()).andReturn(stackId).anyTimes();
     expect(cluster.getClusterId()).andReturn(2L).anyTimes();
@@ -233,8 +234,11 @@ public class ServiceResourceProviderTest {
 
     expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes();
 
+    Map<Long, Service> servicesById = ImmutableMap.of(1L, service0, 2L, service1, 3L, service2, 4L, service3, 5L, service4);
+    expect(cluster.getServicesById()).andReturn(servicesById).anyTimes();
     expect(cluster.getServices()).andReturn(allResponseMap).anyTimes();
-    expect(cluster.getService("Service102")).andReturn(service2);
+    expect(cluster.getService("Service102")).andReturn(service2).anyTimes();
+    expect(cluster.getService(null, "Service102")).andReturn(service2).anyTimes();
 
     expect(service0.convertToResponse()).andReturn(serviceResponse0).anyTimes();
     expect(service1.convertToResponse()).andReturn(serviceResponse1).anyTimes();
@@ -640,7 +644,9 @@ public class ServiceResourceProviderTest {
     expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes();
 
     expect(cluster.getClusterId()).andReturn(2L).anyTimes();
+    expect(cluster.getServicesById()).andReturn(ImmutableMap.of(1L, service0)).anyTimes();
     expect(cluster.getService("Service102")).andReturn(service0).anyTimes();
+    expect(cluster.getService(null, "Service102")).andReturn(service0).anyTimes();
 
     expect(service0.getDesiredState()).andReturn(State.INSTALLED).anyTimes();
     expect(service0.getServiceComponents()).andReturn(Collections.emptyMap()).anyTimes();
@@ -687,8 +693,7 @@ public class ServiceResourceProviderTest {
 
     SecurityContextHolder.getContext().setAuthentication(authentication);
 
-    ServiceResourceProvider provider = getServiceProvider(managementController,
-        maintenanceStateHelper);
+    ServiceResourceProvider provider = getServiceProvider(managementController);
 
     // add the property map to a set for the request.
     Map<String, Object> properties = new LinkedHashMap<>();
@@ -763,6 +768,7 @@ public class ServiceResourceProviderTest {
 
     expect(cluster.getClusterId()).andReturn(2L).anyTimes();
     expect(cluster.getService("Service102")).andReturn(service0).anyTimes();
+    expect(cluster.getService(null, "Service102")).andReturn(service0).anyTimes();
 
     expect(stackId.getStackId()).andReturn("HDP-2.5").anyTimes();
     expect(stackId.getStackName()).andReturn("HDP").anyTimes();
@@ -821,11 +827,9 @@ public class ServiceResourceProviderTest {
 
     SecurityContextHolder.getContext().setAuthentication(authentication);
 
-    ServiceResourceProvider provider1 = getServiceProvider(managementController1,
-        maintenanceStateHelper);
+    ServiceResourceProvider provider1 = getServiceProvider(managementController1, maintenanceStateHelper, null);
 
-    ServiceResourceProvider provider2 = getServiceProvider(managementController2,
-        maintenanceStateHelper);
+    ServiceResourceProvider provider2 = getServiceProvider(managementController2, maintenanceStateHelper, null);
 
     // add the property map to a set for the request.
     Map<String, Object> properties = new LinkedHashMap<>();
@@ -887,12 +891,13 @@ public class ServiceResourceProviderTest {
     expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes();
     expect(cluster.getClusterId()).andReturn(2L).anyTimes();
     expect(cluster.getService(serviceName)).andReturn(service).anyTimes();
+    expect(cluster.getService(null, serviceName)).andReturn(service).anyTimes();
     expect(service.getDesiredState()).andReturn(State.INSTALLED).anyTimes();
     expect(service.getName()).andReturn(serviceName).anyTimes();
     expect(service.getServiceComponents()).andReturn(new HashMap<>());
     expect(service.getCluster()).andReturn(cluster);
-    expect(cluster.getServiceGroup("SERVICE_GROUP")).andReturn(serviceGroup);
-    expect(cluster.getServiceGroup(1L)).andReturn(serviceGroup);
+    expect(cluster.getServiceGroup("SERVICE_GROUP")).andReturn(serviceGroup).anyTimes();
+    expect(cluster.getServiceGroup(1L)).andReturn(serviceGroup).anyTimes();
     //expect(serviceGroup.getStackId()).andReturn(stackId).anyTimes();
     expect(service.getServiceGroupId()).andReturn(1L).anyTimes();
 
@@ -1148,11 +1153,7 @@ public class ServiceResourceProviderTest {
   public void testCheckPropertyIds() throws Exception {
     AmbariManagementController managementController = createMock(AmbariManagementController.class);
 
-    MaintenanceStateHelper maintenanceStateHelperMock = createNiceMock(MaintenanceStateHelper.class);
-    replay(maintenanceStateHelperMock);
-
-    AbstractResourceProvider provider = new ServiceResourceProvider(managementController,
-        maintenanceStateHelperMock);
+    AbstractResourceProvider provider = getServiceProvider(managementController);
 
     Set<String> unsupported = provider.checkPropertyIds(
         Collections.singleton(ServiceResourceProvider.SERVICE_CLUSTER_NAME_PROPERTY_ID));
@@ -1322,8 +1323,11 @@ public class ServiceResourceProviderTest {
     expect(maintenanceStateHelperMock.isOperationAllowed(anyObject(Resource.Type.class), anyObject(Service.class))).andReturn(true).anyTimes();
     expect(maintenanceStateHelperMock.isOperationAllowed(anyObject(Resource.Type.class), anyObject(ServiceComponentHost.class))).andReturn(true).anyTimes();
 
-    replay(maintenanceStateHelperMock);
-    return getServiceProvider(managementController, maintenanceStateHelperMock);
+    TopologyDeleteFormer topologyDeleteFormer = createNiceMock(TopologyDeleteFormer.class);
+
+    replay(maintenanceStateHelperMock, topologyDeleteFormer);
+
+    return getServiceProvider(managementController, maintenanceStateHelperMock, topologyDeleteFormer);
   }
 
   /**
@@ -1331,15 +1335,16 @@ public class ServiceResourceProviderTest {
    */
   public static ServiceResourceProvider getServiceProvider(
       AmbariManagementController managementController,
-      MaintenanceStateHelper maintenanceStateHelper) {
-    return new ServiceResourceProvider(managementController, maintenanceStateHelper);
+      MaintenanceStateHelper maintenanceStateHelper, TopologyDeleteFormer topologyDeleteFormer) {
+    return new ServiceResourceProvider(managementController, maintenanceStateHelper, topologyDeleteFormer);
 
   }
 
   public static void createServices(AmbariManagementController controller,Set<ServiceRequest> requests)
       throws AmbariException, AuthorizationException, NoSuchFieldException, IllegalAccessException {
     MaintenanceStateHelper maintenanceStateHelperMock = createNiceMock(MaintenanceStateHelper.class);
-    ServiceResourceProvider provider = getServiceProvider(controller, maintenanceStateHelperMock);
+    TopologyDeleteFormer topologyDeleteFormer = createNiceMock(TopologyDeleteFormer.class);
+    ServiceResourceProvider provider = getServiceProvider(controller, maintenanceStateHelperMock, topologyDeleteFormer);
     provider.createServices(requests);
   }
 
@@ -1370,7 +1375,7 @@ public class ServiceResourceProviderTest {
       throws AmbariException, AuthorizationException, NoSuchFieldException, IllegalAccessException {
     ServiceResourceProvider provider;
     if (maintenanceStateHelper != null) {
-      provider = getServiceProvider(controller, maintenanceStateHelper);
+      provider = getServiceProvider(controller, maintenanceStateHelper, null);
     } else {
       provider = getServiceProvider(controller);
     }

-- 
To stop receiving notification emails like this one, please contact
adoroszlai@apache.org.