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/06/06 11:19:47 UTC
[ambari] branch branch-feature-AMBARI-14714 updated: AMBARI-14714.
Fix some unit tests (#1464)
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
The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714 by this push:
new a0fdfc1 AMBARI-14714. Fix some unit tests (#1464)
a0fdfc1 is described below
commit a0fdfc1f43f951c125c3143c1923b41c20ba13e3
Author: Doroszlai, Attila <64...@users.noreply.github.com>
AuthorDate: Wed Jun 6 13:19:38 2018 +0200
AMBARI-14714. Fix some unit tests (#1464)
---
.../controller/AmbariManagementControllerImpl.java | 6 +-
.../internal/ProvisionClusterRequest.java | 12 +++
.../ambari/server/orm/dao/ServiceConfigDAO.java | 2 +-
.../server/orm/entities/ClusterServiceEntity.java | 4 +-
.../server/serveraction/kerberos/Component.java | 12 +++
.../ambari/server/state/ServiceGroupImpl.java | 1 +
.../api/resources/HostResourceDefinitionTest.java | 21 ++----
.../checks/DatabaseConsistencyCheckHelperTest.java | 16 +---
.../AmbariManagementControllerImplTest.java | 34 ++++++---
.../controller/AmbariManagementControllerTest.java | 86 +++++++++++-----------
.../ambari/server/controller/AmbariServerTest.java | 22 +++---
.../BackgroundCustomCommandExecutionTest.java | 72 +++++++++---------
.../controller/internal/RequestImplTest.java | 1 -
.../utilities/KerberosIdentityCleanerTest.java | 11 +--
.../orm/entities/ServiceConfigEntityTest.java | 16 ++--
...apAuthenticationProviderForDNWithSpaceTest.java | 1 +
.../AmbariLdapAuthenticationProviderTest.java | 1 +
.../kerberos/FinalizeKerberosServerActionTest.java | 1 +
.../kerberos/KerberosServerActionTest.java | 1 +
.../stack/StackManagerCommonServicesTest.java | 19 -----
.../ambari/server/stack/StackModuleTest.java | 72 ------------------
.../ambari/server/state/ConfigHelperTest.java | 12 ---
.../ambari/server/state/cluster/ClustersTest.java | 29 +++-----
.../topology/ClusterDeployWithStartOnlyTest.java | 25 ++++++-
...terInstallWithoutStartOnComponentLevelTest.java | 25 ++++++-
.../topology/ClusterInstallWithoutStartTest.java | 25 ++++++-
.../ambari/server/update/HostUpdateHelperTest.java | 2 +-
.../server/upgrade/UpgradeCatalog251Test.java | 14 ++++
.../server/upgrade/UpgradeCatalog252Test.java | 24 +++++-
.../server/upgrade/UpgradeCatalog260Test.java | 37 +++++++++-
.../server/upgrade/UpgradeCatalog270Test.java | 18 ++++-
.../cust_action_definitions1.xml | 6 +-
.../cust_action_definitions_invalid.xml | 3 +-
33 files changed, 339 insertions(+), 292 deletions(-)
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index d7597d2..9b09655 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -1397,7 +1397,9 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
// filter on component name if provided
Set<ServiceComponent> components = new HashSet<>();
if (request.getComponentName() != null) {
- components.add(s.getServiceComponent(request.getComponentName()));
+ if (s.getServiceComponents().keySet().contains(request.getComponentName())) {
+ components.add(s.getServiceComponent(request.getComponentName()));
+ }
} else {
components.addAll(s.getServiceComponents().values());
}
@@ -3725,6 +3727,8 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
request.setServiceName(s.getName());
request.setComponentName(hostComponentStateEntity.getComponentName());
request.setComponentType(hostComponentStateEntity.getComponentType());
+ } else {
+ s = cluster.getService(request.getServiceGroupName(), request.getServiceName());
}
LOG.info("Received a hostComponent DELETE request"
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java
index 3b3700e..4dd0e68 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ProvisionClusterRequest.java
@@ -36,6 +36,7 @@ import org.apache.ambari.server.state.SecurityType;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.quicklinksprofile.QuickLinksProfileBuilder;
import org.apache.ambari.server.state.quicklinksprofile.QuickLinksProfileEvaluationException;
+import org.apache.ambari.server.topology.Blueprint;
import org.apache.ambari.server.topology.BlueprintFactory;
import org.apache.ambari.server.topology.ConfigRecommendationStrategy;
import org.apache.ambari.server.topology.Configuration;
@@ -54,6 +55,7 @@ import org.slf4j.LoggerFactory;
import com.google.common.base.Enums;
import com.google.common.base.Optional;
import com.google.common.base.Strings;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
/**
@@ -207,6 +209,16 @@ public class ProvisionClusterRequest extends BaseClusterRequest implements Provi
}
}
+ // for tests
+ public ProvisionClusterRequest(Blueprint blueprint, Configuration configuration) {
+ configRecommendationStrategy = ConfigRecommendationStrategy.NEVER_APPLY;
+ quickLinksProfileJson = null;
+ mpackInstances = ImmutableList.of();
+ stackIds = ImmutableSet.of();
+ setBlueprint(blueprint);
+ setConfiguration(configuration);
+ }
+
private String processQuickLinksProfile(Map<String, Object> properties) throws QuickLinksProfileEvaluationException {
Object globalFilters = properties.get(QUICKLINKS_PROFILE_FILTERS_PROPERTY);
Object serviceFilters = properties.get(QUICKLINKS_PROFILE_SERVICES_PROPERTY);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java
index 5c4a59e..17fda91 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java
@@ -197,7 +197,7 @@ public class ServiceConfigDAO {
stackId.getStackVersion());
TypedQuery<ServiceConfigEntity> query = entityManagerProvider.get().createNamedQuery(
- "ServiceConfigEntity.findAllServiceConfigsByStack",
+ "ServiceConfigEntity.findServiceConfigsByStack",
ServiceConfigEntity.class);
query.setParameter("clusterId", clusterId);
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
index 4ed7cbb..e0146e3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterServiceEntity.java
@@ -64,7 +64,7 @@ import javax.persistence.UniqueConstraint;
)
public class ClusterServiceEntity {
- @Column(name = "cluster_id", nullable = false, insertable = true, updatable = false, length = 10)
+ @Column(name = "cluster_id", nullable = false, insertable = false, updatable = false, length = 10)
private Long clusterId;
@Column(name = "service_group_id", nullable = false, insertable = false, updatable = false, length = 10)
@@ -87,7 +87,7 @@ public class ClusterServiceEntity {
@ManyToOne
- @JoinColumn(name = "cluster_id", referencedColumnName = "cluster_id", nullable = false, insertable = false, updatable = false)
+ @JoinColumn(name = "cluster_id", referencedColumnName = "cluster_id", nullable = false)
private ClusterEntity clusterEntity;
@ManyToOne
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/Component.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/Component.java
index ed7642c..0260a31 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/Component.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/Component.java
@@ -21,6 +21,8 @@ import org.apache.ambari.server.state.ServiceComponentHost;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
+import com.google.common.base.MoreObjects;
+
public class Component {
private final String hostName;
private final String serviceName;
@@ -80,4 +82,14 @@ public class Component {
.append(hostId)
.toHashCode();
}
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("hostName", hostName)
+ .add("serviceName", serviceName)
+ .add("serviceComponentName", serviceComponentName)
+ .add("hostId", hostId)
+ .toString();
+ }
}
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceGroupImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceGroupImpl.java
index 6813024..04623de 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceGroupImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceGroupImpl.java
@@ -367,6 +367,7 @@ public class ServiceGroupImpl implements ServiceGroup {
ServiceGroupEntity serviceGroupEntity = getServiceGroupEntity();
serviceGroupEntity.setStack(stackEntity);
serviceGroupEntity = serviceGroupDAO.merge(serviceGroupEntity);
+ stackId = new StackId(stackEntity.getStackName(), stackEntity.getStackVersion());
}
@Override
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/HostResourceDefinitionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/HostResourceDefinitionTest.java
index 70375d2..535ed48 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/HostResourceDefinitionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/HostResourceDefinitionTest.java
@@ -18,9 +18,9 @@
package org.apache.ambari.server.api.resources;
+import static java.util.stream.Collectors.toSet;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
import java.util.Set;
@@ -29,6 +29,8 @@ import org.apache.ambari.server.api.query.render.HostSummaryRenderer;
import org.apache.ambari.server.controller.spi.Resource;
import org.junit.Test;
+import com.google.common.collect.ImmutableSet;
+
/**
* HostResourceDefinition unit tests.
*/
@@ -49,10 +51,10 @@ public class HostResourceDefinitionTest {
final ResourceDefinition resource = new HostResourceDefinition();
Set<SubResourceDefinition> subResources = resource.getSubResourceDefinitions();
- assertEquals(4, subResources.size());
- assertTrue(includesType(subResources, Resource.Type.HostComponent));
- assertTrue(includesType(subResources, Resource.Type.Alert));
- assertTrue(includesType(subResources, Resource.Type.HostKerberosIdentity));
+ assertEquals(
+ ImmutableSet.of(Resource.Type.Alert, Resource.Type.HostComponent, Resource.Type.HostKerberosIdentity),
+ subResources.stream().map(SubResourceDefinition::getType).collect(toSet())
+ );
}
@Test
@@ -61,13 +63,4 @@ public class HostResourceDefinitionTest {
assertSame(HostSummaryRenderer.class, resource.getRenderer("summary").getClass());
assertSame(DefaultRenderer.class, resource.getRenderer(null).getClass());
}
-
- private boolean includesType(Set<SubResourceDefinition> resources, Resource.Type type) {
- for (SubResourceDefinition subResource : resources) {
- if (subResource.getType() == type) {
- return true;
- }
- }
- return false;
- }
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
index 43ae195..5bfac54 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
@@ -494,23 +494,11 @@ public class DatabaseConsistencyCheckHelperTest {
final ServiceInfo mockHDFSServiceInfo = easyMockSupport.createNiceMock(ServiceInfo.class);
final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.class);
- final MpackManagerFactory mockMpackManagerFacgtory = easyMockSupport.createNiceMock(MpackManagerFactory.class);
+ final MpackManagerFactory mockMpackManagerFactory = easyMockSupport.createNiceMock(MpackManagerFactory.class);
final EntityManager mockEntityManager = easyMockSupport.createNiceMock(EntityManager.class);
final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
final OsFamily mockOSFamily = easyMockSupport.createNiceMock(OsFamily.class);
- final Injector mockInjector = Guice.createInjector(new AbstractModule() {
- @Override
- protected void configure() {
- bind(RootLevelSettingsManagerFactory.class).toInstance(rootLevelSettingsManagerFactoryMock);
- bind(AmbariMetaInfo.class).toInstance(mockAmbariMetainfo);
- bind(StackManagerFactory.class).toInstance(mockStackManagerFactory);
- bind(EntityManager.class).toInstance(mockEntityManager);
- bind(DBAccessor.class).toInstance(mockDBDbAccessor);
- bind(Clusters.class).toInstance(mockClusters);
- bind(OsFamily.class).toInstance(mockOSFamily);
- bind(MpackManagerFactory.class).toInstance(mockMpackManagerFacgtory);
- }
- });
+ final Injector mockInjector = createInjectorWithAmbariMetaInfo(mockAmbariMetainfo, mockDBDbAccessor, rootLevelSettingsManagerFactoryMock, mockStackManagerFactory, mockEntityManager, mockClusters, mockOSFamily, mockMpackManagerFactory);
Map<String, ServiceInfo> services = new HashMap<>();
services.put("HDFS", mockHDFSServiceInfo);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
index 741455a..e12d4ec 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
@@ -907,7 +907,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
expect(service.getName()).andReturn("service1").anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(component.getId()).andReturn(1L).times(2);
expect(component.getServiceComponentHosts()).andReturn(
new HashMap<String, ServiceComponentHost>() {{
@@ -977,7 +978,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getServicesByServiceGroup("CORE")).andReturn(ImmutableList.of(service)).anyTimes();
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(component.getId()).andReturn(1L).anyTimes();
expect(component.getServiceComponentHosts()).andReturn(null);
@@ -1066,7 +1068,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getServicesByServiceGroup("CORE")).andReturn(ImmutableList.of(service)).anyTimes();
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(service.getName()).andReturn("service1").anyTimes();
expect(component.getName()).andReturn("component1").anyTimes();
expect(component.getServiceComponentHosts()).andReturn(new HashMap<String, ServiceComponentHost>() {{
@@ -1142,7 +1145,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getServicesByServiceGroup("CORE")).andReturn(ImmutableList.of(service)).anyTimes();
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(service.getName()).andReturn("service1").anyTimes();
expect(component.getName()).andReturn("component1").anyTimes();
expect(component.getServiceComponentHosts()).andReturn(new HashMap<String, ServiceComponentHost>() {{
@@ -1229,7 +1233,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component1);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component1, "component2", component2, "component3", component3)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component1).anyTimes();
expect(service.getName()).andReturn("service1").anyTimes();
expect(component1.getServiceComponentHosts()).andReturn(
new HashMap<String, ServiceComponentHost>() {{
@@ -1371,7 +1376,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getServicesByServiceGroup("CORE")).andReturn(ImmutableList.of(service)).anyTimes();
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component1);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component1, "component2", component2, "component3", component3)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component1).anyTimes();
expect(component1.getServiceComponentHosts()).andReturn(ImmutableMap.of("host1", componentHost1));
expect(componentHost1.convertToResponse(null)).andReturn(response1);
expect(componentHost1.getHostName()).andReturn("host1");
@@ -1380,7 +1386,7 @@ public class AmbariManagementControllerImplTest {
expect(service.getName()).andReturn("service1").anyTimes();
expect(cluster.getServiceByComponentName("component3")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component3")).andReturn(component3);
+ expect(service.getServiceComponent("component3")).andReturn(component3).anyTimes();
expect(component3.getServiceComponentHosts()).andReturn(ImmutableMap.of("host1", componentHost2));
expect(componentHost2.convertToResponse(null)).andReturn(response2);
expect(componentHost2.getHostName()).andReturn("host1");
@@ -1507,7 +1513,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getServicesByServiceGroup("CORE")).andReturn(ImmutableList.of(service, service2)).anyTimes();
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component, "component3", component3)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(component.getServiceComponentHosts()).andReturn(ImmutableMap.<String, ServiceComponentHost>builder()
.put("host1", componentHost1)
.build());
@@ -1517,8 +1524,9 @@ public class AmbariManagementControllerImplTest {
// expect(ambariMetaInfo.getComponentToService("stackName", "stackVersion", "component2")).andReturn("service2");
expect(cluster.getService("CORE", "service2")).andReturn(service2);
expect(cluster.getServiceByComponentName("component2")).andReturn(service2).anyTimes();
+ expect(service2.getServiceComponents()).andReturn(ImmutableMap.of()).anyTimes();
expect(service2.getServiceComponent("component2")).
- andThrow(new ServiceComponentNotFoundException("cluster1", "service2", "service2", "CORE", "component2"));
+ andThrow(new ServiceComponentNotFoundException("cluster1", "service2", "service2", "CORE", "component2")).anyTimes();
// expect(ambariMetaInfo.getComponentToService("stackName", "stackVersion", "component3")).andReturn("service1");
expect(cluster.getServiceByComponentName("component3")).andReturn(service).anyTimes();
@@ -1649,7 +1657,8 @@ public class AmbariManagementControllerImplTest {
expect(cluster.getServicesByServiceGroup("CORE")).andReturn(ImmutableList.of(service)).anyTimes();
expect(cluster.getService("CORE", "service1")).andReturn(service).anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component, "component3", component3)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(service.getName()).andReturn("service1").anyTimes();
expect(component.getServiceComponentHosts()).andReturn(Collections.singletonMap("foo", componentHost1));
expect(componentHost1.convertToResponse(null)).andReturn(response1);
@@ -1658,7 +1667,7 @@ public class AmbariManagementControllerImplTest {
expect(clusters.getClustersForHost("host2")).andThrow(new HostNotFoundException("host2"));
expect(cluster.getServiceByComponentName("component3")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component3")).andReturn(component3);
+ expect(service.getServiceComponent("component3")).andReturn(component3).anyTimes();
expect(component3.getServiceComponentHosts()).andReturn(Collections.singletonMap("foo", componentHost2));
expect(componentHost2.convertToResponse(null)).andReturn(response2);
expect(componentHost2.getHostName()).andReturn("host1");
@@ -1887,7 +1896,8 @@ public class AmbariManagementControllerImplTest {
expect(service.getName()).andReturn("service1").anyTimes();
expect(component.getName()).andReturn("component1").anyTimes();
expect(cluster.getServiceByComponentName("component1")).andReturn(service).anyTimes();
- expect(service.getServiceComponent("component1")).andReturn(component);
+ expect(service.getServiceComponents()).andReturn(ImmutableMap.of("component1", component)).anyTimes();
+ expect(service.getServiceComponent("component1")).andReturn(component).anyTimes();
expect(component.getServiceComponentHosts()).andReturn(mapHostComponents);
expect(componentHost1.convertToResponse(null)).andReturn(response1);
expect(componentHost2.convertToResponse(null)).andReturn(response2);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
index 34b54ed..446b87a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
@@ -229,16 +229,17 @@ public class AmbariManagementControllerTest {
private HostRoleCommandDAO hostRoleCommandDAO;
private StackManagerMock stackManagerMock;
- StackId stackId01;
- StackId stackId02;
- StackId stackId120;
- StackId stackId131;
- StackId stackId201;
- StackId stackId205;
- StackId stackId206;
- StackId stackId207;
- StackId stackId208;
- StackId stackId220;
+ private StackId stackId01;
+ private StackId stackId02;
+ private StackId stackId120;
+ private StackId stackId131;
+ private StackId stackId201;
+ private StackId stackId205;
+ private StackId stackId206;
+ private StackId stackId207;
+ private StackId stackId208;
+ private StackId stackId220;
+ private StackId other20;
@Rule
public ExpectedException expectedException = ExpectedException.none();
@@ -295,6 +296,7 @@ public class AmbariManagementControllerTest {
stackId207 = helper.createMpack(new StackId("HDP-2.0.7")).getStackId();
stackId208 = helper.createMpack(new StackId("HDP-2.0.8")).getStackId();
stackId220 = helper.createMpack(new StackId("HDP-2.2.0")).getStackId();
+ other20 = helper.createMpack(new StackId("OTHER-2.0")).getStackId();
for (Host host : clusters.getHosts()) {
clusters.updateHostMappings(host);
@@ -3698,33 +3700,29 @@ public class AmbariManagementControllerTest {
// // Expected
// }
- try {
- reqs.clear();
- req1 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
- componentName1, componentName1, host1,
- State.INSTALLED.toString());
- req2 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
- componentName1, componentName2, host2,
- State.INSTALLED.toString());
- req3 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
- componentName2, componentName2, host1,
- State.INSTALLED.toString());
- req4 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
- componentName2, componentName2, host2,
- State.INSTALLED.toString());
- req5 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
- componentName3, componentName3, host1,
- State.STARTED.toString());
- reqs.add(req1);
- reqs.add(req2);
- reqs.add(req3);
- reqs.add(req4);
- reqs.add(req5);
- updateHostComponents(reqs, Collections.emptyMap(), true);
- // Expected, now client components with STARTED status will be ignored
- } catch (Exception e) {
- fail("Failure for invalid states");
- }
+ reqs.clear();
+ req1 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
+ componentName1, componentName1, host1,
+ State.INSTALLED.toString());
+ req2 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
+ componentName1, componentName2, host2,
+ State.INSTALLED.toString());
+ req3 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
+ componentName2, componentName2, host1,
+ State.INSTALLED.toString());
+ req4 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
+ componentName2, componentName2, host2,
+ State.INSTALLED.toString());
+ req5 = new ServiceComponentHostRequest(cluster1, serviceGroupName, serviceName1,
+ componentName3, componentName3, host1,
+ State.STARTED.toString());
+ reqs.add(req1);
+ reqs.add(req2);
+ reqs.add(req3);
+ reqs.add(req4);
+ reqs.add(req5);
+ updateHostComponents(reqs, Collections.emptyMap(), true);
+ // Expected, now client components with STARTED status will be ignored
reqs.clear();
req1 = new ServiceComponentHostRequest(cluster1, serviceGroupName, null,
@@ -5194,7 +5192,7 @@ public class AmbariManagementControllerTest {
host1, null);
createServiceComponentHost(cluster1, serviceGroupName, serviceName, componentName1,
host2, null);
- createServiceComponentHost(cluster1, serviceGroupName, null, "SOME_CLIENT_FOR_SERVICE_CHECK",
+ createServiceComponentHost(cluster1, serviceGroupName, serviceName, "SOME_CLIENT_FOR_SERVICE_CHECK",
host2, null);
ServiceRequest r = new ServiceRequest(cluster1, serviceGroupName, serviceName, null,
@@ -8449,7 +8447,7 @@ public class AmbariManagementControllerTest {
clusters.addHost(HOST1);
Host host = clusters.getHost(HOST1);
- setOsFamily(host, "redhat", "5.9");
+ setOsFamily(host, "redhat", "6.3");
clusters.getHost(HOST1).setState(HostState.HEALTHY);
clusters.updateHostMappings(host);
@@ -8490,12 +8488,12 @@ public class AmbariManagementControllerTest {
Set<ServiceComponentHostRequest> componentHostRequests = new HashSet<>();
componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "HDFS", "DATANODE", "DATANODE", HOST1, null));
componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "HDFS", "NAMENODE", "NAMENODE", HOST1, null));
- componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, null, "HDFS_CLIENT", "HDFS_CLIENT", HOST1, null));
+ componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "HDFS", "HDFS_CLIENT", "HDFS_CLIENT", HOST1, null));
componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "HDFS", "SECONDARY_NAMENODE", "SECONDARY_NAMENODE", HOST1, null));
componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "MAPREDUCE2", "HISTORYSERVER", "HISTORYSERVER", HOST1, null));
componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "YARN", "RESOURCEMANAGER", "RESOURCEMANAGER", HOST1, null));
componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "YARN", "NODEMANAGER", "NODEMANAGER", HOST1, null));
- componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, null, "YARN_CLIENT", "YARN_CLIENT", HOST1, null));
+ componentHostRequests.add(new ServiceComponentHostRequest(CLUSTER_NAME, serviceGroupName, "YARN", "YARN_CLIENT", "YARN_CLIENT", HOST1, null));
amc.createHostComponents(componentHostRequests);
@@ -9988,12 +9986,12 @@ public class AmbariManagementControllerTest {
public void testServiceWidgetCreationOnServiceCreate() throws Exception {
String cluster1 = getUniqueName();
ClusterRequest r = new ClusterRequest(null, cluster1,
- State.INSTALLED.name(), SecurityType.NONE, "OTHER-2.0", null);
+ State.INSTALLED.name(), SecurityType.NONE, other20.getStackId(), null);
controller.createCluster(r);
String serviceGroupName = "CORE";
- ServiceGroupResourceProviderTest.createServiceGroup(controller, cluster1, serviceGroupName, "OTHER-2.0");
+ ServiceGroupResourceProviderTest.createServiceGroup(controller, cluster1, serviceGroupName, other20.getStackId());
String serviceName = "HBASE";
- clusters.getCluster(cluster1).setDesiredStackVersion(new StackId("OTHER-2.0"));
+ clusters.getCluster(cluster1).setDesiredStackVersion(other20);
createService(cluster1, serviceGroupName, serviceName, State.INIT);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java
index ffd86d3..c3edefe 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java
@@ -106,6 +106,7 @@ public class AmbariServerTest {
Configuration configuration = createNiceMock(Configuration.class);
SessionHandler sessionHandler = createNiceMock(SessionHandler.class);
SessionCookieConfig sessionCookieConfig = createNiceMock(SessionCookieConfig.class);
+ expect(sessionHandler.getSessionCookieConfig()).andReturn(sessionCookieConfig).anyTimes();
sessionHandlerConfigurer.configuration = configuration;
@@ -241,8 +242,6 @@ public class AmbariServerTest {
final OsFamily mockOSFamily = easyMockSupport.createNiceMock(OsFamily.class);
final EntityManager mockEntityManager = easyMockSupport.createNiceMock(EntityManager.class);
final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
- final MpackManagerFactory mpackManagerFactory = easyMockSupport.createNiceMock(MpackManagerFactory.class);
- final RootLevelSettingsManagerFactory rootLevelSettingsManagerFactory = easyMockSupport.createNiceMock(RootLevelSettingsManagerFactory.class);
AmbariServer ambariServer = new AmbariServer();
@@ -258,7 +257,8 @@ public class AmbariServerTest {
final Injector mockInjector = createMockInjector(mockAmbariMetainfo,
- mockDBDbAccessor, mockOSFamily, mockEntityManager, mockClusters, mockConfiguration, rootLevelSettingsManagerFactory, mpackManagerFactory);
+ mockDBDbAccessor, mockOSFamily, mockEntityManager, mockClusters, mockConfiguration
+ );
expect(mockDBDbAccessor.getConnection()).andReturn(mockConnection).atLeastOnce();
@@ -321,7 +321,8 @@ public class AmbariServerTest {
replay(mockConfiguration);
final Injector mockInjector = createMockInjector(mockAmbariMetainfo,
- mockDBDbAccessor, mockOSFamily, mockEntityManager, mockClusters, mockConfiguration, rootLevelSettingsManagerFactory, mpackManagerFactory);
+ mockDBDbAccessor, mockOSFamily, mockEntityManager, mockClusters, mockConfiguration
+ );
expect(mockDBDbAccessor.getConnection()).andReturn(null);
@@ -346,11 +347,12 @@ public class AmbariServerTest {
}
private Injector createMockInjector(final AmbariMetaInfo mockAmbariMetainfo,
- final DBAccessor mockDBDbAccessor,
- final OsFamily mockOSFamily,
- final EntityManager mockEntityManager,
- final Clusters mockClusters,
- final Configuration mockConfiguration, final RootLevelSettingsManagerFactory mockRootLevelSettingsManagerFactory, MpackManagerFactory mockMpackManagerFactory) {
+ final DBAccessor mockDBDbAccessor,
+ final OsFamily mockOSFamily,
+ final EntityManager mockEntityManager,
+ final Clusters mockClusters,
+ final Configuration mockConfiguration
+ ) {
return Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
@@ -363,8 +365,6 @@ public class AmbariServerTest {
bind(EntityManager.class).toInstance(mockEntityManager);
bind(Clusters.class).toInstance(mockClusters);
bind(Configuration.class).toInstance(mockConfiguration);
- bind(RootLevelSettingsManagerFactory.class).toInstance(mockRootLevelSettingsManagerFactory);
- bind(MpackManagerFactory.class).toInstance(mockMpackManagerFactory);
}
});
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java
index 59e1c0e..390dac6 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/BackgroundCustomCommandExecutionTest.java
@@ -80,6 +80,7 @@ public class BackgroundCustomCommandExecutionTest {
private static final String STACK_VERSION = "2.0.6";
private static final StackId STACK_ID = new StackId("HDP", STACK_VERSION);
+ private static final String HOSTNAME = "c6401";
@Before
public void setup() throws Exception {
@@ -125,64 +126,57 @@ public class BackgroundCustomCommandExecutionTest {
SecurityContextHolder.getContext().setAuthentication(null);
}
- @SuppressWarnings("serial")
@Test
- public void testRebalanceHdfsCustomCommand() {
- try {
- createClusterFixture();
-
- Map<String, String> requestProperties = new HashMap<String, String>() {
- {
- put(REQUEST_CONTEXT_PROPERTY, "Refresh YARN Capacity Scheduler");
- put("command", "REBALANCEHDFS");
- put("namenode" , "{\"threshold\":13}");//case is important here
- }
- };
-
- ExecuteActionRequest actionRequest = new ExecuteActionRequest("c1",
- "REBALANCEHDFS", new HashMap<>(), false);
- actionRequest.getResourceFilters().add(new RequestResourceFilter("CORE", "HDFS", "NAMENODE",Collections.singletonList("c6401")));
+ public void testRebalanceHdfsCustomCommand() throws Exception {
+ createClusterFixture();
+
+ Map<String, String> requestProperties = new HashMap<String, String>() {
+ {
+ put(REQUEST_CONTEXT_PROPERTY, "Refresh YARN Capacity Scheduler");
+ put("command", "REBALANCEHDFS");
+ put("namenode" , "{\"threshold\":13}");//case is important here
+ }
+ };
- controller.createAction(actionRequest, requestProperties);
+ ExecuteActionRequest actionRequest = new ExecuteActionRequest("c1",
+ "REBALANCEHDFS", new HashMap<>(), false);
+ actionRequest.getResourceFilters().add(new RequestResourceFilter("CORE", "HDFS", "NAMENODE", Collections.singletonList(HOSTNAME)));
- Mockito.verify(am, Mockito.times(1)).sendActions(requestCapture.capture(), any(ExecuteActionRequest.class));
+ controller.createAction(actionRequest, requestProperties);
- Request request = requestCapture.getValue();
- Assert.assertNotNull(request);
- Assert.assertNotNull(request.getStages());
- Assert.assertEquals(1, request.getStages().size());
- Stage stage = request.getStages().iterator().next();
+ Mockito.verify(am, Mockito.times(1)).sendActions(requestCapture.capture(), any(ExecuteActionRequest.class));
- System.out.println(stage);
+ Request request = requestCapture.getValue();
+ Assert.assertNotNull(request);
+ Assert.assertNotNull(request.getStages());
+ Assert.assertEquals(1, request.getStages().size());
+ Stage stage = request.getStages().iterator().next();
- Assert.assertEquals(1, stage.getHosts().size());
+ System.out.println(stage);
- List<ExecutionCommandWrapper> commands = stage.getExecutionCommands("c6401");
- Assert.assertEquals(1, commands.size());
+ Assert.assertEquals(1, stage.getHosts().size());
- ExecutionCommand command = commands.get(0).getExecutionCommand();
+ List<ExecutionCommandWrapper> commands = stage.getExecutionCommands(HOSTNAME);
+ Assert.assertEquals(1, commands.size());
- Assert.assertEquals(AgentCommandType.BACKGROUND_EXECUTION_COMMAND, command.getCommandType());
- Assert.assertEquals("{\"threshold\":13}", command.getCommandParams().get("namenode"));
+ ExecutionCommand command = commands.get(0).getExecutionCommand();
- } catch (Exception e) {
- Assert.fail(e.getMessage());
- }
+ Assert.assertEquals(AgentCommandType.BACKGROUND_EXECUTION_COMMAND, command.getCommandType());
+ Assert.assertEquals("{\"threshold\":13}", command.getCommandParams().get("namenode"));
}
private void createClusterFixture() throws AmbariException, AuthorizationException, IllegalAccessException , NoSuchFieldException{
String clusterName = "c1";
createCluster(clusterName);
- addHost("c6401", clusterName);
- addHost("c6402", clusterName);
- clusters.getCluster(clusterName);
+
+ addHost(HOSTNAME, clusterName);
+ clusters.updateHostMappings(clusters.getHost(HOSTNAME));
+
String serviceGroupName = "CORE";
ServiceGroupResourceProviderTest.createServiceGroup(controller, clusterName, serviceGroupName, STACK_ID.getStackId());
createService(clusterName, serviceGroupName, "HDFS", null);
-
createServiceComponent(clusterName, serviceGroupName, "HDFS","NAMENODE", State.INIT);
-
- createServiceComponentHost(clusterName, serviceGroupName, "HDFS","NAMENODE","c6401", null);
+ createServiceComponentHost(clusterName, serviceGroupName, "HDFS","NAMENODE", HOSTNAME, null);
}
private void addHost(String hostname, String clusterName) throws AmbariException {
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestImplTest.java
index 51fa566..cb3a859 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/RequestImplTest.java
@@ -85,7 +85,6 @@ public class RequestImplTest {
Assert.assertTrue(validPropertyIds.contains("HostRoles/actual_configs"));
Assert.assertTrue(validPropertyIds.contains("HostRoles/desired_stack_id"));
Assert.assertTrue(validPropertyIds.contains("HostRoles/version"));
- Assert.assertTrue(validPropertyIds.contains("HostRoles/desired_repository_version"));
Assert.assertTrue(validPropertyIds.contains("HostRoles/desired_state"));
Assert.assertTrue(validPropertyIds.contains("HostRoles/state"));
Assert.assertTrue(validPropertyIds.contains("HostRoles/component_name"));
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java
index 3f7d318..fe01a90 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/utilities/KerberosIdentityCleanerTest.java
@@ -52,6 +52,7 @@ import org.junit.Test;
public class KerberosIdentityCleanerTest extends EasyMockSupport {
@Rule public EasyMockRule mocks = new EasyMockRule(this);
+ private static final long HOST_ID = -1;
private static final String HOST = "c6401";
private static final String HOST2 = "c6402";
private static final String OOZIE = "OOZIE";
@@ -77,7 +78,7 @@ public class KerberosIdentityCleanerTest extends EasyMockSupport {
@Test
public void removesAllKerberosIdentitesOfComponentAfterComponentWasUninstalled() throws Exception {
installComponent(OOZIE, OOZIE_SERVER, HOST);
- kerberosHelper.deleteIdentities(cluster, singletonList(new Component(HOST, OOZIE, OOZIE_SERVER, -1l)), newHashSet("/OOZIE/OOZIE_SERVER/oozie_server1", "/OOZIE/OOZIE_SERVER/oozie_server2"));
+ kerberosHelper.deleteIdentities(cluster, singletonList(new Component(HOST, OOZIE, OOZIE_SERVER, HOST_ID)), newHashSet("/OOZIE/OOZIE_SERVER/oozie_server1", "/OOZIE/OOZIE_SERVER/oozie_server2"));
expectLastCall().once();
replayAll();
uninstallComponent(OOZIE, OOZIE_SERVER, HOST);
@@ -95,7 +96,7 @@ public class KerberosIdentityCleanerTest extends EasyMockSupport {
public void skipsRemovingIdentityThatIsSharedByPrincipalName() throws Exception {
installComponent(OOZIE, OOZIE_SERVER, HOST);
installComponent(OOZIE_2, OOZIE_SERVER_2, HOST);
- kerberosHelper.deleteIdentities(cluster, singletonList(new Component(HOST, OOZIE, OOZIE_SERVER, -1l)), newHashSet("/OOZIE/OOZIE_SERVER/oozie_server1"));
+ kerberosHelper.deleteIdentities(cluster, singletonList(new Component(HOST, OOZIE, OOZIE_SERVER, HOST_ID)), newHashSet("/OOZIE/OOZIE_SERVER/oozie_server1"));
expectLastCall().once();
replayAll();
uninstallComponent(OOZIE, OOZIE_SERVER, HOST);
@@ -106,7 +107,7 @@ public class KerberosIdentityCleanerTest extends EasyMockSupport {
public void skipsRemovingIdentityThatIsSharedByKeyTabFilePath() throws Exception {
installComponent(YARN, RESOURCE_MANAGER, HOST);
installComponent(YARN_2, RESOURCE_MANAGER_2, HOST);
- kerberosHelper.deleteIdentities(cluster, singletonList(new Component(HOST, YARN, RESOURCE_MANAGER, -1l)), newHashSet("/YARN/RESOURCE_MANAGER/rm_unique"));
+ kerberosHelper.deleteIdentities(cluster, singletonList(new Component(HOST, YARN, RESOURCE_MANAGER, HOST_ID)), newHashSet("/YARN/RESOURCE_MANAGER/rm_unique"));
expectLastCall().once();
replayAll();
uninstallComponent(YARN, RESOURCE_MANAGER, HOST);
@@ -141,7 +142,7 @@ public class KerberosIdentityCleanerTest extends EasyMockSupport {
}
private ArrayList<Component> hdfsComponents() {
- return newArrayList(new Component(HOST, HDFS, NAMENODE, 0l), new Component(HOST, HDFS, DATANODE, 0l));
+ return newArrayList(new Component(HOST, HDFS, NAMENODE, HOST_ID), new Component(HOST, HDFS, DATANODE, HOST_ID));
}
private void installComponent(String serviceName, String componentName, String... hostNames) {
@@ -163,7 +164,7 @@ public class KerberosIdentityCleanerTest extends EasyMockSupport {
}
private void uninstallComponent(String service, String component, String host) throws KerberosMissingAdminCredentialsException {
- kerberosIdentityCleaner.componentRemoved(new ServiceComponentUninstalledEvent(CLUSTER_ID, "any", "any", service, "", "", component, host, false, false, 1L));
+ kerberosIdentityCleaner.componentRemoved(new ServiceComponentUninstalledEvent(CLUSTER_ID, "any", "any", service, "", "", component, host, false, false, HOST_ID));
}
private void uninstallService(String service, List<Component> components) throws KerberosMissingAdminCredentialsException {
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ServiceConfigEntityTest.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ServiceConfigEntityTest.java
index fe0fcaa..48f7589 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ServiceConfigEntityTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/entities/ServiceConfigEntityTest.java
@@ -29,19 +29,19 @@ public class ServiceConfigEntityTest {
@Test
public void testSettersGetters() {
ServiceConfigEntity entity = new ServiceConfigEntity();
- //entity.setServiceName("foo");
+ entity.setServiceId(1L);
entity.setUser("bar");
entity.setNote("note");
- entity.setVersion(1L);
- entity.setServiceConfigId(1L);
- entity.setClusterId(1L);
+ entity.setVersion(2L);
+ entity.setServiceConfigId(3L);
+ entity.setClusterId(4L);
entity.setCreateTimestamp(1111L);
- assertEquals("foo", entity.getServiceName());
+ assertEquals(Long.valueOf(1L), entity.getServiceId());
assertEquals("bar", entity.getUser());
assertEquals("note", entity.getNote());
- assertEquals(Long.valueOf(1), entity.getVersion());
- assertEquals(Long.valueOf(1), entity.getServiceConfigId());
- assertEquals(Long.valueOf(1), entity.getClusterId());
+ assertEquals(Long.valueOf(2), entity.getVersion());
+ assertEquals(Long.valueOf(3), entity.getServiceConfigId());
+ assertEquals(Long.valueOf(4), entity.getClusterId());
assertEquals(Long.valueOf(1111), entity.getCreateTimestamp());
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
index 75dbd2a..1fda935 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderForDNWithSpaceTest.java
@@ -179,6 +179,7 @@ public class AmbariLdapAuthenticationProviderForDNWithSpaceTest extends AmbariLd
properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), "src/test/resources/version");
properties.setProperty(Configuration.OS_VERSION.getKey(), "centos5");
properties.setProperty(Configuration.SHARED_RESOURCES_DIR.getKey(), "src/test/resources/");
+ properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), "src/test/resources/mpacks-v2");
return properties;
}
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
index f062dc0..97be709 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProviderTest.java
@@ -118,6 +118,7 @@ public class AmbariLdapAuthenticationProviderTest extends AmbariLdapAuthenticati
injector.getInstance(GuiceJpaInitializer.class);
injector.injectMembers(this);
configuration.setClientSecurityType(ClientSecurityType.LDAP);
+ configuration.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), "src/test/resources/mpacks-v2");
ldapConfiguration = new AmbariLdapConfiguration();
ldapConfiguration.setValueFor(AmbariServerConfigurationKey.ALTERNATE_USER_SEARCH_ENABLED, "false");
ldapConfiguration.setValueFor(AmbariServerConfigurationKey.ALTERNATE_USER_SEARCH_FILTER, "(&(mail={0})(objectClass={userObjectClass}))");
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerActionTest.java
index 2241120..235d5f8 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerActionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/FinalizeKerberosServerActionTest.java
@@ -162,6 +162,7 @@ public class FinalizeKerberosServerActionTest extends EasyMockSupport {
expect(executionCommand.getConfigurationTags()).andReturn(Collections.emptyMap()).anyTimes();
expect(executionCommand.getServiceName()).andReturn(RootComponent.AMBARI_SERVER.name()).anyTimes();
expect(executionCommand.getTaskId()).andReturn(3L).anyTimes();
+ expect(executionCommand.getMpackId()).andReturn(4L).anyTimes();
return executionCommand;
}
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerActionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerActionTest.java
index 27f30d8..60e873a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerActionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/serveraction/kerberos/KerberosServerActionTest.java
@@ -163,6 +163,7 @@ public class KerberosServerActionTest extends EasyMockSupport {
expect(mockExecutionCommand.getRole()).andReturn(null).anyTimes();
expect(mockExecutionCommand.getServiceName()).andReturn(null).anyTimes();
expect(mockExecutionCommand.getTaskId()).andReturn(1L).anyTimes();
+ expect(mockExecutionCommand.getMpackId()).andReturn(4L).anyTimes();
expect(mockHostRoleCommand.getRequestId()).andReturn(1L).anyTimes();
expect(mockHostRoleCommand.getStageId()).andReturn(1L).anyTimes();
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerCommonServicesTest.java b/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerCommonServicesTest.java
index d5626eb..70dd566 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerCommonServicesTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/stack/StackManagerCommonServicesTest.java
@@ -48,7 +48,6 @@ import org.apache.ambari.server.state.CommandScriptDefinition;
import org.apache.ambari.server.state.ComponentInfo;
import org.apache.ambari.server.state.OsSpecific;
import org.apache.ambari.server.state.PropertyInfo;
-import org.apache.ambari.server.state.RepositoryInfo;
import org.apache.ambari.server.state.ServiceInfo;
import org.apache.ambari.server.state.StackInfo;
import org.apache.ambari.server.state.stack.OsFamily;
@@ -57,9 +56,6 @@ import org.easymock.EasyMock;
import org.junit.BeforeClass;
import org.junit.Test;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
-
/**
* StackManager unit tests.
@@ -150,21 +146,6 @@ public class StackManagerCommonServicesTest {
}
@Test
- public void testAddOnServiceRepoIsLoaded() {
- Collection<StackInfo> stacks = stackManager.getStacks("HDP");
- StackInfo stack = null;
- for(StackInfo stackInfo: stackManager.getStacks()) {
- if ("0.2".equals(stackInfo.getVersion())) {
- stack = stackInfo;
- break;
- }
- }
- List<RepositoryInfo> repos = stack.getRepositoriesByOs().get("redhat6");
- ImmutableSet<String> repoIds = ImmutableSet.copyOf(Lists.transform(repos, RepositoryInfo.GET_REPO_ID_FUNCTION));
- assertTrue("Repos are expected to contain MSFT_R-8.1", repoIds.contains("ADDON_REPO-1.0"));
- }
-
- @Test
public void testGetStack() {
StackInfo stack = stackManager.getStack("HDP", "0.1");
assertNotNull(stack);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/stack/StackModuleTest.java b/ambari-server/src/test/java/org/apache/ambari/server/stack/StackModuleTest.java
index ef2918c..a8a03de 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/stack/StackModuleTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/stack/StackModuleTest.java
@@ -49,78 +49,6 @@ import com.google.common.collect.Multiset;
public class StackModuleTest {
@Test
- public void stackServiceReposAreRead() throws Exception {
- StackModule sm = createStackModule("FooBar",
- "2.4",
- Optional.of(Lists.newArrayList(repoInfo("foo", "1.0.1", "http://foo.org"))),
- Lists.newArrayList(repoInfo("bar", "2.0.1", "http://bar.org")));
- Set<String> repoIds = getIds(sm.getModuleInfo().getRepositories());
- assertEquals(ImmutableSet.of("foo:1.0.1", "bar:2.0.1"), repoIds);
- }
-
- /**
- * If more add-on services define the same repo, the duplicate repo definitions should be disregarded.
- * @throws Exception
- */
- @Test
- public void duplicateStackServiceReposAreDiscarded() throws Exception {
- StackModule sm = createStackModule("FooBar",
- "2.4",
- // stack repos
- Optional.of(Lists.newArrayList(repoInfo("StackRepoA", "1.1.1", "http://repos.org/stackrepoA"),
- repoInfo("StackRepoB", "2.2.2", "http://repos.org/stackrepoB"))),
-
- // stack service repos
- // These two should be preserved. even though duplicates, the contents are the same
- Lists.newArrayList(repoInfo("serviceRepoA", "1.0.0", "http://bar.org/1_0_0")),
- Lists.newArrayList(repoInfo("serviceRepoA", "1.0.0", "http://bar.org/1_0_0")),
- // These should be dropped as the names are the same but contents are different
- Lists.newArrayList(repoInfo("serviceRepoB", "1.2.1", "http://bar.org/1_1_1")),
- Lists.newArrayList(repoInfo("serviceRepoB", "1.2.3", "http://bar.org/1_1_1")),
- // The first one should be dropped (overrides a stack repo), the rest only generates warnings (duplicate urls)
- Lists.newArrayList(repoInfo("StackRepoA", "2.0.0", "http://repos.org/stackrepoA_200"),
- repoInfo("ShouldBeJustAWarning1", "3.1.1", "http://repos.org/stackrepoA"),
- repoInfo("ShouldBeJustAWarning2", "1.0.0", "http://bar.org/1_0_0")));
- List<RepositoryInfo> repos = sm.getModuleInfo().getRepositories();
-
- Set<String> repoIds = getIds(repos);
- assertEquals("Unexpected number of repos. Each repo should be added only once", repoIds.size(), repos.size());
- assertEquals("Unexpected repositories",
- ImmutableSet.of("StackRepoA:1.1.1",
- "StackRepoB:2.2.2",
- "serviceRepoA:1.0.0",
- "ShouldBeJustAWarning1:3.1.1",
- "ShouldBeJustAWarning2:1.0.0"), repoIds);
- }
-
- @Test
- public void serviceReposAreProcessedEvenIfNoStackRepo() throws Exception {
- StackModule sm = createStackModule("FooBar",
- "2.4",
- Optional.absent(),
- Lists.newArrayList(repoInfo("bar", "2.0.1", "http://bar.org")));
- Set<String> repoIds = getIds(sm.getModuleInfo().getRepositories());
- assertEquals(ImmutableSet.of("bar:2.0.1"), repoIds);
- }
-
- /**
- * If two add-on services define the same repo, the repo should be disregarded.
- * This applies per os, so the same repo can be defined for multiple os'es (e.g redhat5 and redhat6)
- * @throws Exception
- */
- @Test
- public void duplicateStackServiceReposAreCheckedPerOs() throws Exception {
- StackModule sm = createStackModule("FooBar",
- "2.4",
- Optional.absent(),
- Lists.newArrayList(repoInfo("bar", "2.0.1", "http://bar.org", "centos6")),
- Lists.newArrayList(repoInfo("bar", "2.0.1", "http://bar.org", "centos7")));
- Multiset<String> repoIds = getIdsMultiple(sm.getModuleInfo().getRepositories());
- assertEquals("Repo should be occur exactly twice, once for each os type.",
- ImmutableMultiset.of("bar:2.0.1", "bar:2.0.1"), repoIds);
- }
-
- @Test
public void removedServicesInitialValue () throws Exception {
StackModule sm = createStackModule("FooBar",
"2.4",
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
index 3000e0a..f30bbf4 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
@@ -47,14 +47,11 @@ import org.apache.ambari.server.controller.ClusterRequest;
import org.apache.ambari.server.controller.ConfigurationRequest;
import org.apache.ambari.server.controller.spi.ClusterController;
import org.apache.ambari.server.events.publishers.StateUpdateEventPublisher;
-import org.apache.ambari.server.mpack.MpackManagerFactory;
import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
import org.apache.ambari.server.orm.OrmTestHelper;
import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
-import org.apache.ambari.server.registry.RegistryManager;
-import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
import org.apache.ambari.server.security.SecurityHelper;
import org.apache.ambari.server.security.TestAuthenticationFactory;
import org.apache.ambari.server.stack.StackManagerFactory;
@@ -62,8 +59,6 @@ import org.apache.ambari.server.state.configgroup.ConfigGroup;
import org.apache.ambari.server.state.configgroup.ConfigGroupFactory;
import org.apache.ambari.server.state.stack.OsFamily;
import org.apache.ambari.server.testutils.PartialNiceMockBinder;
-import org.apache.ambari.server.topology.ComponentResolver;
-import org.apache.ambari.server.topology.StackFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -1100,14 +1095,7 @@ public class ConfigHelperTest {
bind(ClusterController.class).toInstance(clusterController);
bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
bind(HostRoleCommandDAO.class).toInstance(createNiceMock(HostRoleCommandDAO.class));
- bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
- bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
bind(StateUpdateEventPublisher.class).toInstance(createNiceMock(StateUpdateEventPublisher.class));
- bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
- bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
- bind(ComponentResolver.class).toInstance(createNiceMock(ComponentResolver.class));
- bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
- bind(StackFactory.class).toInstance(createNiceMock(StackFactory.class));
}
});
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java
index 24c6283..10b59bf 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersTest.java
@@ -75,7 +75,6 @@ import org.apache.ambari.server.topology.HostRequest;
import org.apache.ambari.server.topology.LogicalRequest;
import org.apache.ambari.server.topology.PersistedState;
import org.apache.ambari.server.topology.TopologyManager;
-import org.apache.ambari.server.topology.TopologyRequest;
import org.apache.ambari.server.utils.EventBusSynchronizer;
import org.junit.After;
import org.junit.Before;
@@ -459,18 +458,11 @@ public class ClustersTest {
Maps.newHashMap()
);
- Map<String, HostGroupInfo> hostGroups = Maps.newHashMap();
+ ProvisionClusterRequest topologyRequest = new ProvisionClusterRequest(bp, clusterConfig);
+ topologyRequest.setClusterId(cluster.getClusterId());
+ topologyRequest.setClusterName("Test Cluster");
- ProvisionClusterRequest topologyRequest = createNiceMock(ProvisionClusterRequest.class);
- expect(topologyRequest.getType()).andReturn(TopologyRequest.Type.PROVISION).anyTimes();
- expect(topologyRequest.getBlueprint()).andReturn(bp).anyTimes();
- expect(topologyRequest.getClusterId()).andReturn(cluster.getClusterId()).anyTimes();
- expect(topologyRequest.getConfiguration()).andReturn(clusterConfig).anyTimes();
- expect(topologyRequest.getDescription()).andReturn("Test description").anyTimes();
- expect(topologyRequest.getHostGroupInfo()).andReturn(hostGroups).anyTimes();
-
-
- replay(bp, topologyRequest);
+ replay(bp);
persistedState.persistTopologyRequest(topologyRequest);
@@ -563,15 +555,12 @@ public class ClustersTest {
hostGroupInfo.addHost(hostName + "3");
hostGroups.put(groupName, hostGroupInfo);
- ProvisionClusterRequest topologyRequest = createNiceMock(ProvisionClusterRequest.class);
- expect(topologyRequest.getType()).andReturn(TopologyRequest.Type.PROVISION).anyTimes();
- expect(topologyRequest.getBlueprint()).andReturn(bp).anyTimes();
- expect(topologyRequest.getClusterId()).andReturn(cluster.getClusterId()).anyTimes();
- expect(topologyRequest.getConfiguration()).andReturn(clusterConfig).anyTimes();
- expect(topologyRequest.getDescription()).andReturn("Test description").anyTimes();
- expect(topologyRequest.getHostGroupInfo()).andReturn(hostGroups).anyTimes();
+ ProvisionClusterRequest topologyRequest = new ProvisionClusterRequest(bp, clusterConfig);
+ topologyRequest.setClusterId(cluster.getClusterId());
+ topologyRequest.setClusterName("Test Cluster");
+ topologyRequest.getHostGroupInfo().putAll(hostGroups);
- replay(bp, topologyRequest);
+ replay(bp);
persistedState.persistTopologyRequest(topologyRequest);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterDeployWithStartOnlyTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterDeployWithStartOnlyTest.java
index a49f6d2..ab7e9e5 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterDeployWithStartOnlyTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterDeployWithStartOnlyTest.java
@@ -50,11 +50,16 @@ import org.apache.ambari.server.controller.AmbariServer;
import org.apache.ambari.server.controller.ClusterRequest;
import org.apache.ambari.server.controller.ConfigurationRequest;
import org.apache.ambari.server.controller.RequestStatusResponse;
+import org.apache.ambari.server.controller.internal.ArtifactResourceProvider;
+import org.apache.ambari.server.controller.internal.MpackResourceProvider;
import org.apache.ambari.server.controller.internal.ProvisionAction;
import org.apache.ambari.server.controller.internal.ProvisionClusterRequest;
import org.apache.ambari.server.controller.internal.Stack;
import org.apache.ambari.server.controller.spi.ClusterController;
+import org.apache.ambari.server.controller.spi.RequestStatus;
+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.orm.entities.TopologyLogicalRequestEntity;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.state.Cluster;
@@ -85,7 +90,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@RunWith(PowerMockRunner.class)
-@PrepareForTest(AmbariServer.class)
+@PrepareForTest({ AmbariContext.class, AmbariServer.class })
public class ClusterDeployWithStartOnlyTest extends EasyMockSupport {
private static final String CLUSTER_NAME = "test-cluster";
private static final long CLUSTER_ID = 1;
@@ -165,6 +170,10 @@ public class ClusterDeployWithStartOnlyTest extends EasyMockSupport {
private ConfigureClusterTaskFactory configureClusterTaskFactory;
@Mock(type = MockType.NICE)
private ConfigureClusterTask configureClusterTask;
+ @Mock(type = MockType.NICE)
+ private ArtifactResourceProvider artifactResourceProvider;
+ @Mock(type = MockType.NICE)
+ private MpackResourceProvider mpackResourceProvider;
@Mock(type = MockType.STRICT)
private Future mockFuture;
@@ -311,11 +320,12 @@ public class ClusterDeployWithStartOnlyTest extends EasyMockSupport {
expect(request.getDescription()).andReturn("Provision Cluster Test").anyTimes();
expect(request.getConfiguration()).andReturn(topoConfiguration).anyTimes();
expect(request.getHostGroupInfo()).andReturn(groupInfoMap).anyTimes();
- expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY);
+ expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY).anyTimes();
expect(request.getProvisionAction()).andReturn(ProvisionAction.START_ONLY).anyTimes();
expect(request.getSecurityConfiguration()).andReturn(null).anyTimes();
expect(request.getStackIds()).andReturn(ImmutableSet.of()).anyTimes();
expect(request.getMpacks()).andReturn(ImmutableSet.of()).anyTimes();
+ expect(request.getAllMpacks()).andReturn(ImmutableSet.of()).anyTimes();
expect(componentResolver.resolveComponents(anyObject())).andReturn(ImmutableMap.of(
"group1", ImmutableSet.of(
@@ -354,6 +364,15 @@ public class ClusterDeployWithStartOnlyTest extends EasyMockSupport {
PowerMock.mockStatic(AmbariServer.class);
expect(AmbariServer.getController()).andReturn(managementController).anyTimes();
PowerMock.replay(AmbariServer.class);
+ PowerMock.mockStatic(AmbariContext.class);
+ expect(AmbariContext.getClusterController()).andReturn(clusterController).anyTimes();
+ PowerMock.replay(AmbariContext.class);
+ expect(clusterController.ensureResourceProvider(Resource.Type.Mpack)).andReturn(mpackResourceProvider).anyTimes();
+ expect(clusterController.ensureResourceProvider(Resource.Type.Artifact)).andReturn(artifactResourceProvider).anyTimes();
+ RequestStatus completedStatus = createNiceMock(RequestStatus.class);
+ expect(completedStatus.getStatus()).andReturn(RequestStatus.Status.Complete).anyTimes();
+ expect(artifactResourceProvider.createResources(anyObject())).andReturn(completedStatus).anyTimes();
+ expect(managementController.getAmbariEventPublisher()).andReturn(createNiceMock(AmbariEventPublisher.class)).anyTimes();
expect(managementController.getClusters()).andReturn(clusters).anyTimes();
expect(clusters.getClusterById(anyLong())).andReturn(cluster).anyTimes();
expect(cluster.getClusterName()).andReturn(CLUSTER_NAME).anyTimes();
@@ -382,10 +401,12 @@ public class ClusterDeployWithStartOnlyTest extends EasyMockSupport {
anyString(), eq(AmbariContext.TaskType.INSTALL), anyBoolean())).andReturn(hostRoleCommandInstallComponent4).times(2);
expect(hostRoleCommandInstallComponent3.getTaskId()).andReturn(1L).atLeastOnce();
+ expect(hostRoleCommandInstallComponent3.getRole()).andReturn(Role.valueOf("component3")).atLeastOnce();
expect(hostRoleCommandInstallComponent3.getRoleCommand()).andReturn(RoleCommand.INSTALL).atLeastOnce();
expect(hostRoleCommandInstallComponent3.getStatus()).andReturn(HostRoleStatus.COMPLETED).atLeastOnce();
expect(hostRoleCommandInstallComponent4.getTaskId()).andReturn(2L).atLeastOnce();
+ expect(hostRoleCommandInstallComponent4.getRole()).andReturn(Role.valueOf("component4")).atLeastOnce();
expect(hostRoleCommandInstallComponent4.getRoleCommand()).andReturn(RoleCommand.INSTALL).atLeastOnce();
expect(hostRoleCommandInstallComponent4.getStatus()).andReturn(HostRoleStatus.COMPLETED).atLeastOnce();
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartOnComponentLevelTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartOnComponentLevelTest.java
index 4e12536..7d1ef83 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartOnComponentLevelTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartOnComponentLevelTest.java
@@ -42,6 +42,7 @@ import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
+import org.apache.ambari.server.Role;
import org.apache.ambari.server.RoleCommand;
import org.apache.ambari.server.actionmanager.HostRoleCommand;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
@@ -50,11 +51,16 @@ import org.apache.ambari.server.controller.AmbariServer;
import org.apache.ambari.server.controller.ClusterRequest;
import org.apache.ambari.server.controller.ConfigurationRequest;
import org.apache.ambari.server.controller.RequestStatusResponse;
+import org.apache.ambari.server.controller.internal.ArtifactResourceProvider;
+import org.apache.ambari.server.controller.internal.MpackResourceProvider;
import org.apache.ambari.server.controller.internal.ProvisionAction;
import org.apache.ambari.server.controller.internal.ProvisionClusterRequest;
import org.apache.ambari.server.controller.internal.Stack;
import org.apache.ambari.server.controller.spi.ClusterController;
+import org.apache.ambari.server.controller.spi.RequestStatus;
+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.orm.entities.TopologyLogicalRequestEntity;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.state.Cluster;
@@ -85,7 +91,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@RunWith(PowerMockRunner.class)
-@PrepareForTest(AmbariServer.class)
+@PrepareForTest({ AmbariContext.class, AmbariServer.class })
public class ClusterInstallWithoutStartOnComponentLevelTest extends EasyMockSupport {
private static final String CLUSTER_NAME = "test-cluster";
private static final long CLUSTER_ID = 1;
@@ -155,6 +161,10 @@ public class ClusterInstallWithoutStartOnComponentLevelTest extends EasyMockSupp
private ConfigureClusterTaskFactory configureClusterTaskFactory;
@Mock(type = MockType.NICE)
private ConfigureClusterTask configureClusterTask;
+ @Mock(type = MockType.NICE)
+ private ArtifactResourceProvider artifactResourceProvider;
+ @Mock(type = MockType.NICE)
+ private MpackResourceProvider mpackResourceProvider;
@Mock(type = MockType.NICE)
@@ -308,11 +318,12 @@ public class ClusterInstallWithoutStartOnComponentLevelTest extends EasyMockSupp
expect(request.getDescription()).andReturn("Provision Cluster Test").anyTimes();
expect(request.getConfiguration()).andReturn(topoConfiguration).anyTimes();
expect(request.getHostGroupInfo()).andReturn(groupInfoMap).anyTimes();
- expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY);
+ expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY).anyTimes();
expect(request.getProvisionAction()).andReturn(INSTALL_AND_START).anyTimes();
expect(request.getSecurityConfiguration()).andReturn(null).anyTimes();
expect(request.getStackIds()).andReturn(ImmutableSet.of()).anyTimes();
expect(request.getMpacks()).andReturn(ImmutableSet.of()).anyTimes();
+ expect(request.getAllMpacks()).andReturn(ImmutableSet.of()).anyTimes();
expect(componentResolver.resolveComponents(anyObject())).andReturn(ImmutableMap.of(
"group1", ImmutableSet.of(
@@ -357,6 +368,15 @@ public class ClusterInstallWithoutStartOnComponentLevelTest extends EasyMockSupp
PowerMock.mockStatic(AmbariServer.class);
expect(AmbariServer.getController()).andReturn(managementController).anyTimes();
PowerMock.replay(AmbariServer.class);
+ PowerMock.mockStatic(AmbariContext.class);
+ expect(AmbariContext.getClusterController()).andReturn(clusterController).anyTimes();
+ PowerMock.replay(AmbariContext.class);
+ expect(clusterController.ensureResourceProvider(Resource.Type.Mpack)).andReturn(mpackResourceProvider).anyTimes();
+ expect(clusterController.ensureResourceProvider(Resource.Type.Artifact)).andReturn(artifactResourceProvider).anyTimes();
+ RequestStatus completedStatus = createNiceMock(RequestStatus.class);
+ expect(completedStatus.getStatus()).andReturn(RequestStatus.Status.Complete).anyTimes();
+ expect(artifactResourceProvider.createResources(anyObject())).andReturn(completedStatus).anyTimes();
+ expect(managementController.getAmbariEventPublisher()).andReturn(createNiceMock(AmbariEventPublisher.class)).anyTimes();
expect(managementController.getClusters()).andReturn(clusters).anyTimes();
expect(clusters.getClusterById(anyLong())).andReturn(cluster).anyTimes();
expect(cluster.getClusterName()).andReturn(CLUSTER_NAME).anyTimes();
@@ -382,6 +402,7 @@ public class ClusterInstallWithoutStartOnComponentLevelTest extends EasyMockSupp
expect(ambariContext.createAmbariTask(anyLong(), anyLong(), anyString(),
anyString(), eq(AmbariContext.TaskType.START), anyBoolean())).andReturn(hostRoleCommand).times(1);
expect(hostRoleCommand.getTaskId()).andReturn(1L).atLeastOnce();
+ expect(hostRoleCommand.getRole()).andReturn(Role.DATANODE).atLeastOnce();
expect(hostRoleCommand.getRoleCommand()).andReturn(RoleCommand.INSTALL).atLeastOnce();
expect(hostRoleCommand.getStatus()).andReturn(HostRoleStatus.COMPLETED).atLeastOnce();
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartTest.java b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartTest.java
index 61df17b..cbdd860 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterInstallWithoutStartTest.java
@@ -42,6 +42,7 @@ import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Future;
+import org.apache.ambari.server.Role;
import org.apache.ambari.server.RoleCommand;
import org.apache.ambari.server.actionmanager.HostRoleCommand;
import org.apache.ambari.server.actionmanager.HostRoleStatus;
@@ -50,11 +51,16 @@ import org.apache.ambari.server.controller.AmbariServer;
import org.apache.ambari.server.controller.ClusterRequest;
import org.apache.ambari.server.controller.ConfigurationRequest;
import org.apache.ambari.server.controller.RequestStatusResponse;
+import org.apache.ambari.server.controller.internal.ArtifactResourceProvider;
+import org.apache.ambari.server.controller.internal.MpackResourceProvider;
import org.apache.ambari.server.controller.internal.ProvisionAction;
import org.apache.ambari.server.controller.internal.ProvisionClusterRequest;
import org.apache.ambari.server.controller.internal.Stack;
import org.apache.ambari.server.controller.spi.ClusterController;
+import org.apache.ambari.server.controller.spi.RequestStatus;
+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.orm.entities.TopologyLogicalRequestEntity;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.state.Cluster;
@@ -85,7 +91,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
@RunWith(PowerMockRunner.class)
-@PrepareForTest(AmbariServer.class)
+@PrepareForTest({ AmbariContext.class, AmbariServer.class })
public class ClusterInstallWithoutStartTest extends EasyMockSupport {
private static final String CLUSTER_NAME = "test-cluster";
@@ -157,6 +163,10 @@ public class ClusterInstallWithoutStartTest extends EasyMockSupport {
private ConfigureClusterTaskFactory configureClusterTaskFactory;
@Mock(type = MockType.NICE)
private ConfigureClusterTask configureClusterTask;
+ @Mock(type = MockType.NICE)
+ private ArtifactResourceProvider artifactResourceProvider;
+ @Mock(type = MockType.NICE)
+ private MpackResourceProvider mpackResourceProvider;
@Mock(type = MockType.NICE)
@@ -315,11 +325,12 @@ public class ClusterInstallWithoutStartTest extends EasyMockSupport {
expect(request.getDescription()).andReturn("Provision Cluster Test").anyTimes();
expect(request.getConfiguration()).andReturn(topoConfiguration).anyTimes();
expect(request.getHostGroupInfo()).andReturn(groupInfoMap).anyTimes();
- expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY);
+ expect(request.getConfigRecommendationStrategy()).andReturn(ConfigRecommendationStrategy.NEVER_APPLY).anyTimes();
expect(request.getProvisionAction()).andReturn(INSTALL_ONLY).anyTimes();
expect(request.getSecurityConfiguration()).andReturn(null).anyTimes();
expect(request.getStackIds()).andReturn(ImmutableSet.of(STACK_ID)).anyTimes();
expect(request.getMpacks()).andReturn(ImmutableSet.of()).anyTimes();
+ expect(request.getAllMpacks()).andReturn(ImmutableSet.of()).anyTimes();
expect(componentResolver.resolveComponents(anyObject())).andReturn(ImmutableMap.of(
"group1", ImmutableSet.of(
@@ -359,6 +370,15 @@ public class ClusterInstallWithoutStartTest extends EasyMockSupport {
PowerMock.mockStatic(AmbariServer.class);
expect(AmbariServer.getController()).andReturn(managementController).anyTimes();
PowerMock.replay(AmbariServer.class);
+ PowerMock.mockStatic(AmbariContext.class);
+ expect(AmbariContext.getClusterController()).andReturn(clusterController).anyTimes();
+ PowerMock.replay(AmbariContext.class);
+ expect(clusterController.ensureResourceProvider(Resource.Type.Mpack)).andReturn(mpackResourceProvider).anyTimes();
+ expect(clusterController.ensureResourceProvider(Resource.Type.Artifact)).andReturn(artifactResourceProvider).anyTimes();
+ RequestStatus completedStatus = createNiceMock(RequestStatus.class);
+ expect(completedStatus.getStatus()).andReturn(RequestStatus.Status.Complete).anyTimes();
+ expect(artifactResourceProvider.createResources(anyObject())).andReturn(completedStatus).anyTimes();
+ expect(managementController.getAmbariEventPublisher()).andReturn(createNiceMock(AmbariEventPublisher.class)).anyTimes();
expect(managementController.getClusters()).andReturn(clusters).anyTimes();
expect(clusters.getClusterById(anyLong())).andReturn(cluster).anyTimes();
expect(cluster.getClusterName()).andReturn(CLUSTER_NAME).anyTimes();
@@ -382,6 +402,7 @@ public class ClusterInstallWithoutStartTest extends EasyMockSupport {
expect(ambariContext.createAmbariTask(anyLong(), anyLong(), anyString(),
anyString(), eq(AmbariContext.TaskType.INSTALL), anyBoolean())).andReturn(hostRoleCommand).atLeastOnce();
expect(hostRoleCommand.getTaskId()).andReturn(1L).atLeastOnce();
+ expect(hostRoleCommand.getRole()).andReturn(Role.DATANODE).atLeastOnce();
expect(hostRoleCommand.getRoleCommand()).andReturn(RoleCommand.INSTALL).atLeastOnce();
expect(hostRoleCommand.getStatus()).andReturn(HostRoleStatus.COMPLETED).atLeastOnce();
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/update/HostUpdateHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/update/HostUpdateHelperTest.java
index 17f3b12..94c7b7d 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/update/HostUpdateHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/update/HostUpdateHelperTest.java
@@ -492,7 +492,7 @@ public class HostUpdateHelperTest {
@Override
protected void configure() {
- PartialNiceMockBinder.newBuilder().addConfigsBindings().addFactoriesInstallBinding().build().configure(binder());
+ PartialNiceMockBinder.newBuilder().addAmbariContextBindings().addConfigsBindings().addFactoriesInstallBinding().build().configure(binder());
bind(DBAccessor.class).toInstance(dbAccessor);
bind(EntityManager.class).toInstance(entityManager);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog251Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog251Test.java
index d35bd91..a5798a0 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog251Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog251Test.java
@@ -65,21 +65,28 @@ import org.apache.ambari.server.hooks.HookService;
import org.apache.ambari.server.hooks.users.UserHookService;
import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.orm.DBAccessor.DBColumnInfo;
+import org.apache.ambari.server.registry.RegistryManager;
+import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
import org.apache.ambari.server.scheduler.ExecutionScheduler;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.stack.StackManagerFactory;
import org.apache.ambari.server.state.Cluster;
+import org.apache.ambari.server.state.ClusterSettingFactory;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
import org.apache.ambari.server.state.SecurityType;
import org.apache.ambari.server.state.Service;
import org.apache.ambari.server.state.ServiceComponentHostFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
import org.apache.ambari.server.state.stack.OsFamily;
import org.apache.ambari.server.testutils.PartialNiceMockBinder;
+import org.apache.ambari.server.topology.ComponentResolver;
import org.apache.ambari.server.topology.PersistedState;
import org.apache.ambari.server.topology.PersistedStateImpl;
+import org.apache.ambari.server.topology.StackFactory;
import org.easymock.Capture;
import org.easymock.EasyMockRunner;
import org.easymock.EasyMockSupport;
@@ -316,6 +323,13 @@ public class UpgradeCatalog251Test {
binder.bind(MetadataHolder.class).toInstance(metadataHolder);
binder.bind(AgentConfigsHolder.class).toInstance(createNiceMock(AgentConfigsHolder.class));
binder.bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
+ binder.bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+ binder.bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
+ binder.bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
+ binder.bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+ binder.bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
+ binder.bind(StackFactory.class).toInstance(createNiceMock(StackFactory.class));
+ binder.bind(ComponentResolver.class).toInstance(createNiceMock(ComponentResolver.class));
}
};
return Guice.createInjector(module);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog252Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog252Test.java
index 8f9616d..595da6c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog252Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog252Test.java
@@ -69,26 +69,33 @@ import org.apache.ambari.server.hooks.users.UserHookService;
import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
import org.apache.ambari.server.metadata.ClusterMetadataGenerator;
import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.orm.DBAccessor.DBColumnInfo;
import org.apache.ambari.server.orm.dao.ArtifactDAO;
import org.apache.ambari.server.orm.entities.ArtifactEntity;
+import org.apache.ambari.server.registry.RegistryManager;
+import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
import org.apache.ambari.server.scheduler.ExecutionScheduler;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.stack.StackManagerFactory;
import org.apache.ambari.server.state.Cluster;
+import org.apache.ambari.server.state.ClusterSettingFactory;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
import org.apache.ambari.server.state.Service;
import org.apache.ambari.server.state.ServiceComponentHostFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.kerberos.KerberosComponentDescriptor;
import org.apache.ambari.server.state.kerberos.KerberosDescriptor;
import org.apache.ambari.server.state.kerberos.KerberosDescriptorFactory;
import org.apache.ambari.server.state.stack.OsFamily;
import org.apache.ambari.server.testutils.PartialNiceMockBinder;
+import org.apache.ambari.server.topology.ComponentResolver;
import org.apache.ambari.server.topology.PersistedState;
import org.apache.ambari.server.topology.PersistedStateImpl;
+import org.apache.ambari.server.topology.StackFactory;
import org.easymock.Capture;
import org.easymock.EasyMockRunner;
import org.easymock.Mock;
@@ -163,10 +170,13 @@ public class UpgradeCatalog252Test {
private MetadataHolder metadataHolder;
@Mock(type = MockType.NICE)
+ private ClusterMetadataGenerator metadataGenerator;
+
+ @Mock(type = MockType.NICE)
private Injector injector;
@Before
- public void init() {
+ public void init() throws Exception {
reset(entityManagerProvider, injector);
expect(entityManagerProvider.get()).andReturn(entityManager).anyTimes();
@@ -174,8 +184,9 @@ public class UpgradeCatalog252Test {
expect(injector.getInstance(Gson.class)).andReturn(null).anyTimes();
expect(injector.getInstance(MaintenanceStateHelper.class)).andReturn(null).anyTimes();
expect(injector.getInstance(KerberosHelper.class)).andReturn(kerberosHelper).anyTimes();
+ expect(metadataHolder.updateData(anyObject())).andReturn(Boolean.FALSE).anyTimes();
- replay(entityManagerProvider, injector);
+ replay(entityManagerProvider, injector, metadataHolder);
}
@After
@@ -219,7 +230,6 @@ public class UpgradeCatalog252Test {
final Service sparkMock = createNiceMock(Service.class);
final Service spark2Mock = createNiceMock(Service.class);
final AmbariManagementController controller = createMock(AmbariManagementController.class);
- final ClusterMetadataGenerator metadataGenerator = createMock(ClusterMetadataGenerator.class);
StackId stackId = new StackId("HDP", "2.2");
@@ -466,8 +476,16 @@ public class UpgradeCatalog252Test {
binder.bind(AmbariMetaInfo.class).toInstance(createNiceMock(AmbariMetaInfo.class));
binder.bind(KerberosHelper.class).toInstance(createNiceMock(KerberosHelperImpl.class));
binder.bind(MetadataHolder.class).toInstance(metadataHolder);
+ binder.bind(ClusterMetadataGenerator.class).toInstance(metadataGenerator);
binder.bind(AgentConfigsHolder.class).toInstance(createNiceMock(AgentConfigsHolder.class));
binder.bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
+ binder.bind(ComponentResolver.class).toInstance(createNiceMock(ComponentResolver.class));
+ binder.bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+ binder.bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
+ binder.bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
+ binder.bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+ binder.bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
+ binder.bind(StackFactory.class).toInstance(createNiceMock(StackFactory.class));
}
};
return Guice.createInjector(module);
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
index bbee83b..f1b1b6a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
@@ -87,6 +87,7 @@ import org.apache.ambari.server.hooks.users.UserHookService;
import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
import org.apache.ambari.server.metadata.ClusterMetadataGenerator;
import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.orm.DBAccessor.DBColumnInfo;
import org.apache.ambari.server.orm.dao.ArtifactDAO;
@@ -94,11 +95,14 @@ import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
import org.apache.ambari.server.orm.dao.WidgetDAO;
import org.apache.ambari.server.orm.entities.ArtifactEntity;
import org.apache.ambari.server.orm.entities.WidgetEntity;
+import org.apache.ambari.server.registry.RegistryManager;
+import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
import org.apache.ambari.server.scheduler.ExecutionScheduler;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.stack.StackManagerFactory;
import org.apache.ambari.server.stageplanner.RoleGraphFactory;
import org.apache.ambari.server.state.Cluster;
+import org.apache.ambari.server.state.ClusterSettingFactory;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
import org.apache.ambari.server.state.ConfigFactory;
@@ -110,6 +114,7 @@ import org.apache.ambari.server.state.ServiceComponentFactory;
import org.apache.ambari.server.state.ServiceComponentHostFactory;
import org.apache.ambari.server.state.ServiceComponentImpl;
import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
import org.apache.ambari.server.state.ServiceImpl;
import org.apache.ambari.server.state.ServiceInfo;
import org.apache.ambari.server.state.StackId;
@@ -135,8 +140,10 @@ import org.apache.ambari.server.state.scheduler.RequestExecutionFactory;
import org.apache.ambari.server.state.scheduler.RequestExecutionImpl;
import org.apache.ambari.server.state.stack.OsFamily;
import org.apache.ambari.server.testutils.PartialNiceMockBinder;
+import org.apache.ambari.server.topology.ComponentResolver;
import org.apache.ambari.server.topology.PersistedState;
import org.apache.ambari.server.topology.PersistedStateImpl;
+import org.apache.ambari.server.topology.StackFactory;
import org.apache.ambari.server.topology.tasks.ConfigureClusterTaskFactory;
import org.apache.commons.io.FileUtils;
import org.easymock.Capture;
@@ -809,7 +816,7 @@ public class UpgradeCatalog260Test {
final ClusterMetadataGenerator metadataGenerator = createMock(ClusterMetadataGenerator.class);
expect(metadataGenerator.getClusterMetadataOnConfigsUpdate(eq(cluster)))
.andReturn(createNiceMock(MetadataUpdateEvent.class))
- .once();
+ .anyTimes();
replay(artifactDAO, artifactEntity, cluster, clusters, config, newConfig, hsiConfig, newHsiConfig, response, response1, controller, stackId, metadataGenerator);
@@ -915,7 +922,7 @@ public class UpgradeCatalog260Test {
.addMockedMethod("createConfiguration")
.addMockedMethod("getClusters", new Class[] { })
.addMockedMethod("createConfig")
- .withConstructor(createNiceMock(ActionManager.class), clusters, injector)
+ .withConstructor(createNiceMock(ActionManager.class), clusters, createNiceMock(ClusterMetadataGenerator.class), injector)
.createNiceMock();
Injector injector2 = easyMockSupport.createNiceMock(Injector.class);
@@ -971,13 +978,16 @@ public class UpgradeCatalog260Test {
expect(injector.getInstance(Gson.class)).andReturn(null).anyTimes();
expect(injector.getInstance(MaintenanceStateHelper.class)).andReturn(null).anyTimes();
- replay(injector, clusters, mockHsiConfigs);
+ AgentConfigsHolder agentConfigsHolder = createNiceMock(AgentConfigsHolder.class);
+ MetadataHolder metadataHolder = createNiceMock(MetadataHolder.class);
+ ClusterMetadataGenerator metadataGenerator = easyMockSupport.createNiceMock(ClusterMetadataGenerator.class);
+ replay(injector, clusters, mockHsiConfigs, agentConfigsHolder, metadataGenerator, metadataHolder);
AmbariManagementControllerImpl controller = createMockBuilder(AmbariManagementControllerImpl.class)
.addMockedMethod("createConfiguration")
.addMockedMethod("getClusters", new Class[] { })
.addMockedMethod("createConfig")
- .withConstructor(createNiceMock(ActionManager.class), clusters, injector)
+ .withConstructor(createNiceMock(ActionManager.class), clusters, metadataGenerator, injector)
.createNiceMock();
Injector injector2 = easyMockSupport.createNiceMock(Injector.class);
@@ -989,6 +999,9 @@ public class UpgradeCatalog260Test {
expect(controller.createConfig(anyObject(Cluster.class), anyObject(StackId.class), anyString(), capture(propertiesCapture), anyString(),
anyObject(Map.class), anyLong())).andReturn(config).once();
expect(cluster.getConfig(anyString(), anyString())).andReturn(config);
+ expect(injector2.getInstance(ClusterMetadataGenerator.class)).andReturn(metadataGenerator).anyTimes();
+ expect(injector2.getInstance(MetadataHolder.class)).andReturn(metadataHolder).anyTimes();
+ expect(injector2.getInstance(AgentConfigsHolder.class)).andReturn(agentConfigsHolder).anyTimes();
replay(controller, injector2, config, cluster);
// This tests the update of HSI config 'hive.llap.daemon.keytab.file'.
@@ -1069,7 +1082,16 @@ public class UpgradeCatalog260Test {
bind(CredentialStoreService.class).toInstance(createNiceMock(CredentialStoreService.class));
bind(ExecutionScheduler.class).toInstance(createNiceMock(ExecutionScheduler.class));
bind(StateUpdateEventPublisher.class).toInstance(createNiceMock(StateUpdateEventPublisher.class));
+ bind(MetadataHolder.class).toInstance(createNiceMock(MetadataHolder.class));
+ bind(AgentConfigsHolder.class).toInstance(createNiceMock(AgentConfigsHolder.class));
bind(KerberosHelper.class).toInstance(createNiceMock(KerberosHelperImpl.class));
+ bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+ bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
+ bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
+ bind(ComponentResolver.class).toInstance(createNiceMock(ComponentResolver.class));
+ bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+ bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
+ bind(StackFactory.class).toInstance(createNiceMock(StackFactory.class));
}
});
expect(controller.getClusters()).andReturn(clusters).anyTimes();
@@ -1129,6 +1151,13 @@ public class UpgradeCatalog260Test {
binder.bind(KerberosHelper.class).toInstance(createNiceMock(KerberosHelperImpl.class));
binder.bind(MetadataHolder.class).toInstance(createNiceMock(MetadataHolder.class));
binder.bind(AgentConfigsHolder.class).toInstance(createNiceMock(AgentConfigsHolder.class));
+ binder.bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+ binder.bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
+ binder.bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
+ binder.bind(ComponentResolver.class).toInstance(createNiceMock(ComponentResolver.class));
+ binder.bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+ binder.bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
+ binder.bind(StackFactory.class).toInstance(createNiceMock(StackFactory.class));
binder.install(new FactoryModuleBuilder().build(RequestFactory.class));
binder.install(new FactoryModuleBuilder().build(ConfigureClusterTaskFactory.class));
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
index 6601816..e699653 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog270Test.java
@@ -121,6 +121,7 @@ import static org.easymock.EasyMock.createNiceMock;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.isNull;
import static org.easymock.EasyMock.mock;
import static org.easymock.EasyMock.newCapture;
import static org.easymock.EasyMock.niceMock;
@@ -183,16 +184,20 @@ import org.apache.ambari.server.hooks.users.UserHookService;
import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
import org.apache.ambari.server.metadata.ClusterMetadataGenerator;
import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
import org.apache.ambari.server.orm.DBAccessor;
import org.apache.ambari.server.orm.dao.AmbariConfigurationDAO;
import org.apache.ambari.server.orm.dao.ArtifactDAO;
import org.apache.ambari.server.orm.entities.ArtifactEntity;
+import org.apache.ambari.server.registry.RegistryManager;
+import org.apache.ambari.server.resources.RootLevelSettingsManagerFactory;
import org.apache.ambari.server.scheduler.ExecutionScheduler;
import org.apache.ambari.server.security.SecurityHelper;
import org.apache.ambari.server.security.encryption.CredentialStoreService;
import org.apache.ambari.server.serveraction.kerberos.PrepareKerberosIdentitiesServerAction;
import org.apache.ambari.server.stack.StackManagerFactory;
import org.apache.ambari.server.state.Cluster;
+import org.apache.ambari.server.state.ClusterSettingFactory;
import org.apache.ambari.server.state.Clusters;
import org.apache.ambari.server.state.Config;
import org.apache.ambari.server.state.ConfigHelper;
@@ -200,6 +205,7 @@ import org.apache.ambari.server.state.Host;
import org.apache.ambari.server.state.Service;
import org.apache.ambari.server.state.ServiceComponentHostFactory;
import org.apache.ambari.server.state.ServiceFactory;
+import org.apache.ambari.server.state.ServiceGroupFactory;
import org.apache.ambari.server.state.ServiceImpl;
import org.apache.ambari.server.state.StackId;
import org.apache.ambari.server.state.State;
@@ -211,8 +217,10 @@ import org.apache.ambari.server.state.host.HostFactory;
import org.apache.ambari.server.state.host.HostImpl;
import org.apache.ambari.server.state.stack.OsFamily;
import org.apache.ambari.server.testutils.PartialNiceMockBinder;
+import org.apache.ambari.server.topology.ComponentResolver;
import org.apache.ambari.server.topology.PersistedState;
import org.apache.ambari.server.topology.PersistedStateImpl;
+import org.apache.ambari.server.topology.StackFactory;
import org.apache.commons.io.IOUtils;
import org.easymock.Capture;
import org.easymock.CaptureType;
@@ -577,6 +585,13 @@ public class UpgradeCatalog270Test {
bind(AmbariMetaInfo.class).toInstance(createNiceMock(AmbariMetaInfo.class));
bind(KerberosHelper.class).toInstance(createNiceMock(KerberosHelperImpl.class));
bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
+ bind(ComponentResolver.class).toInstance(createNiceMock(ComponentResolver.class));
+ bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+ bind(ClusterSettingFactory.class).toInstance(createNiceMock(ClusterSettingFactory.class));
+ bind(RootLevelSettingsManagerFactory.class).toInstance(createNiceMock(RootLevelSettingsManagerFactory.class));
+ bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+ bind(ServiceGroupFactory.class).toInstance(createNiceMock(ServiceGroupFactory.class));
+ bind(StackFactory.class).toInstance(createNiceMock(StackFactory.class));
install(new FactoryModuleBuilder().implement(
Host.class, HostImpl.class).build(HostFactory.class));
@@ -1131,7 +1146,7 @@ public class UpgradeCatalog270Test {
.addMockedMethod("createConfig")
.createMock();
expect(controller.getClusters()).andReturn(clusters).anyTimes();
- expect(controller.createConfig(eq(cluster1), eq(stackId), eq("kerberos-env"), capture(capturedProperties), anyString(), anyObject(Map.class), 1L)).andReturn(newConfig).once();
+ expect(controller.createConfig(eq(cluster1), eq(stackId), eq("kerberos-env"), capture(capturedProperties), anyString(), anyObject(Map.class), isNull())).andReturn(newConfig).once();
final ClusterMetadataGenerator metadataGenerator = createMock(ClusterMetadataGenerator.class);
expect(metadataGenerator.getClusterMetadataOnConfigsUpdate(eq(cluster1))).andReturn(createNiceMock(MetadataUpdateEvent.class)).once();
@@ -1139,6 +1154,7 @@ public class UpgradeCatalog270Test {
Injector injector = createNiceMock(Injector.class);
expect(injector.getInstance(AmbariManagementController.class)).andReturn(controller).anyTimes();
expect(injector.getInstance(MetadataHolder.class)).andReturn(createNiceMock(MetadataHolder.class)).anyTimes();
+ expect(injector.getInstance(ClusterMetadataGenerator.class)).andReturn(metadataGenerator).anyTimes();
expect(injector.getInstance(AgentConfigsHolder.class)).andReturn(createNiceMock(AgentConfigsHolder.class)).anyTimes();
expect(injector.getInstance(AmbariServer.class)).andReturn(createNiceMock(AmbariServer.class)).anyTimes();
KerberosHelper kerberosHelperMock = createNiceMock(KerberosHelper.class);
diff --git a/ambari-server/src/test/resources/custom_action_definitions/cust_action_definitions1.xml b/ambari-server/src/test/resources/custom_action_definitions/cust_action_definitions1.xml
index e8e6bc8..80cc489 100644
--- a/ambari-server/src/test/resources/custom_action_definitions/cust_action_definitions1.xml
+++ b/ambari-server/src/test/resources/custom_action_definitions/cust_action_definitions1.xml
@@ -23,6 +23,7 @@
<actionName>customAction1</actionName>
<actionType>USER</actionType>
<inputs>threshold</inputs>
+ <targetServiceGroup>HDPCORE</targetServiceGroup>
<targetService>MAPREDUCE</targetService>
<targetComponent>TASKTRACKER</targetComponent>
<description>A random test</description>
@@ -32,6 +33,7 @@
<actionDefinition>
<actionName>customAction2</actionName>
<actionType>USER</actionType>
+ <targetServiceGroup>HDPCORE</targetServiceGroup>
<targetService>MAPREDUCE</targetService>
<targetComponent>TASKTRACKER</targetComponent>
<description>A random test</description>
@@ -40,6 +42,7 @@
<actionDefinition>
<actionName>customAction3</actionName>
<actionType>USER</actionType>
+ <targetServiceGroup>HDPCORE</targetServiceGroup>
<targetService>MAPREDUCE</targetService>
<targetComponent>TASKTRACKER</targetComponent>
<description>A random test</description>
@@ -47,8 +50,9 @@
<actionDefinition>
<actionName>customAction4</actionName>
<actionType>USERS_OWN</actionType>
+ <targetServiceGroup>HDPCORE</targetServiceGroup>
<targetService>MAPREDUCE</targetService>
<targetComponent>TASKTRACKER</targetComponent>
<description>A random test</description>
</actionDefinition>
-</actionDefinitions>
\ No newline at end of file
+</actionDefinitions>
diff --git a/ambari-server/src/test/resources/custom_action_definitions_invalid/cust_action_definitions_invalid.xml b/ambari-server/src/test/resources/custom_action_definitions_invalid/cust_action_definitions_invalid.xml
index a6fd71e..cabec0e 100644
--- a/ambari-server/src/test/resources/custom_action_definitions_invalid/cust_action_definitions_invalid.xml
+++ b/ambari-server/src/test/resources/custom_action_definitions_invalid/cust_action_definitions_invalid.xml
@@ -24,10 +24,11 @@
<actionName>invalidCustomAction1</actionName>
<actionType>USER</actionType>
<inputs>threshold</inputs>
+ <targetServiceGroup>HDPCORE</targetServiceGroup>
<targetService>MAPREDUCE</targetService>
<targetComponent>TASKTRACKER</targetComponent>
<description>A random test</description>
<targetType>ALL</targetType>
<permissions>NOT.A.PERMISSION</permissions>
</actionDefinition>
-</actionDefinitions>
\ No newline at end of file
+</actionDefinitions>
--
To stop receiving notification emails like this one, please contact
adoroszlai@apache.org.