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.