This is an automated email from the ASF dual-hosted git repository. jgolieb pushed a commit to branch branch-feature-AMBARI-14714-mpack-advisor in repository https://gitbox.apache.org/repos/asf/ambari.git
commit c06d2a907f79b8e2ad6b4c679c3afa332f5b5a92 Author: Doroszlai, Attila <[email protected]> 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 [email protected].
