You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mr...@apache.org on 2017/07/13 19:29:33 UTC

ambari git commit: AMBARI-21456: Fix unit tests in branch-feature-AMBARI-14714 (mradhakrishnan)

Repository: ambari
Updated Branches:
  refs/heads/branch-feature-AMBARI-14714 ba7b5cbe8 -> 9e5e261c2


AMBARI-21456: Fix unit tests in branch-feature-AMBARI-14714  (mradhakrishnan)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9e5e261c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9e5e261c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9e5e261c

Branch: refs/heads/branch-feature-AMBARI-14714
Commit: 9e5e261c286ca0962d258fec406752ee7d0366ce
Parents: ba7b5cb
Author: Madhuvanthi Radhakrishnan <mr...@hortonworks.com>
Authored: Thu Jul 13 12:27:55 2017 -0700
Committer: Madhuvanthi Radhakrishnan <mr...@hortonworks.com>
Committed: Thu Jul 13 12:27:55 2017 -0700

----------------------------------------------------------------------
 .../internal/MpackResourceProvider.java         |  8 +++--
 .../ambari/server/mpack/MpackManager.java       | 10 +++++-
 .../ambari/server/agent/AgentResourceTest.java  |  7 +++-
 .../ComponentVersionAlertRunnableTest.java      |  2 ++
 .../ambari/server/api/query/QueryImplTest.java  |  2 +-
 .../StackVersionResourceDefinitionTest.java     |  6 +++-
 .../server/api/services/AmbariMetaInfoTest.java | 35 +++-----------------
 .../services/KerberosServiceMetaInfoTest.java   | 14 ++++++--
 .../ambari/server/bootstrap/BootStrapTest.java  |  4 +++
 .../DatabaseConsistencyCheckHelperTest.java     | 11 ++++++
 .../AmbariManagementControllerImplTest.java     |  6 ++++
 .../server/controller/AmbariServerTest.java     |  5 +++
 .../server/controller/KerberosHelperTest.java   |  2 ++
 .../ActiveWidgetLayoutResourceProviderTest.java |  6 ++++
 .../internal/ClusterControllerImplTest.java     |  7 ++++
 .../internal/MpackResourceProviderTest.java     |  4 +--
 .../StackUpgradeConfigurationMergeTest.java     |  2 ++
 .../UserAuthorizationResourceProviderTest.java  |  7 ++++
 .../internal/UserResourceProviderTest.java      |  6 ++++
 .../server/orm/InMemoryDefaultTestModule.java   |  5 +++
 .../ambari/server/state/ConfigHelperTest.java   |  2 ++
 .../KerberosDescriptorUpdateHelperTest.java     |  3 ++
 .../ambari/server/utils/StageUtilsTest.java     |  2 ++
 23 files changed, 114 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
index 1bef4cd..1fd0343 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/MpackResourceProvider.java
@@ -75,12 +75,12 @@ public class MpackResourceProvider extends AbstractControllerResourceProvider {
   /**
    * The property ids for an mpack resource.
    */
-  private static final Set<String> PROPERTY_IDS = new HashSet<>();
+  public static final Set<String> PROPERTY_IDS = new HashSet<>();
 
   /**
    * The key property ids for a mpack resource.
    */
-  private static final Map<Resource.Type, String> KEY_PROPERTY_IDS = new HashMap<>();
+  public static final Map<Resource.Type, String> KEY_PROPERTY_IDS = new HashMap<>();
 
   @Inject
   protected static MpackDAO mpackDAO;
@@ -115,8 +115,10 @@ public class MpackResourceProvider extends AbstractControllerResourceProvider {
     return pkPropertyIds;
   }
 
+
+
   @Override
-  public RequestStatus createResources(final Request request)
+  public RequestStatus createResourcesAuthorized(final Request request)
     throws SystemException, UnsupportedPropertyException, ResourceAlreadyExistsException,
     NoSuchParentResourceException, IllegalArgumentException {
     Set<Resource> associatedResources = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java b/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java
index 077b05a..8575db4 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/mpack/MpackManager.java
@@ -274,6 +274,10 @@ public class MpackManager {
     String[] stackMetaData = stackId.split("-");
     String stackName = stackMetaData[0];
     String stackVersion = stackMetaData[1];
+    File stack = new File(stackRoot + "/" + stackName);
+    if(!stack.exists()) {
+      stack.mkdir();
+    }
     Path stackPath = Paths.get(stackRoot + "/" + stackName + "/" + stackVersion);
     Path mpackPath = Paths.get(mpacksStaging + "/" + mpack.getName() + "/" + mpack.getVersion());
     if(Files.isSymbolicLink(stackPath))
@@ -290,7 +294,11 @@ public class MpackManager {
   public Path downloadMpack(String mpackURI) throws IOException {
     URL url = new URL(mpackURI);
     String fileName = mpackURI.substring(mpackURI.lastIndexOf('/') + 1, mpackURI.length());
-    Path targetPath = new File(mpacksStaging.toString() + File.separator + MPACK_TAR_LOCATION + File.separator + fileName).toPath();
+    File stagingDir = new File(mpacksStaging.toString() + File.separator + MPACK_TAR_LOCATION);
+    if (!stagingDir.exists()) {
+      stagingDir.mkdir();
+    }
+    Path targetPath = new File(stagingDir.getPath() + File.separator fileName).toPath();
     Files.copy(url.openStream(), targetPath, StandardCopyOption.REPLACE_EXISTING);
 
     return targetPath;

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java b/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
index 38b77da..fe44815 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/agent/AgentResourceTest.java
@@ -39,6 +39,8 @@ import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
 import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
+import org.apache.ambari.server.mpack.MpackManager;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.dao.HostDAO;
 import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
@@ -112,6 +114,7 @@ public class AgentResourceTest extends RandomPortJerseyTest {
   AmbariMetaInfo ambariMetaInfo;
   OsFamily os_family;
   ActionDBAccessor actionDBAccessor;
+  MpackManager mpackManager;
 
   public AgentResourceTest() {
     super(new WebAppDescriptor.Builder(PACKAGE_NAME).servletClass(ServletContainer.class)
@@ -310,6 +313,7 @@ public class AgentResourceTest extends RandomPortJerseyTest {
       ambariMetaInfo = mock(AmbariMetaInfo.class);
       actionDBAccessor = mock(ActionDBAccessor.class);
       sessionManager = mock(SessionManager.class);
+      mpackManager = mock(MpackManager.class);
       bind(OsFamily.class).toInstance(os_family);
       bind(ActionDBAccessor.class).toInstance(actionDBAccessor);
       bind(ActionManager.class).toInstance(actionManager);
@@ -317,6 +321,7 @@ public class AgentResourceTest extends RandomPortJerseyTest {
       bind(AgentCommand.class).to(ExecutionCommand.class);
       bind(HeartBeatHandler.class).toInstance(handler);
       bind(AmbariMetaInfo.class).toInstance(ambariMetaInfo);
+      bind(MpackManager.class).toInstance(mpackManager);
       bind(DBAccessor.class).toInstance(mock(DBAccessor.class));
       bind(HostRoleCommandDAO.class).toInstance(mock(HostRoleCommandDAO.class));
       bind(EntityManager.class).toInstance(createNiceMock(EntityManager.class));
@@ -351,7 +356,7 @@ public class AgentResourceTest extends RandomPortJerseyTest {
       install(new FactoryModuleBuilder().build(StageFactory.class));
       install(new FactoryModuleBuilder().build(ExecutionCommandWrapperFactory.class));
       install(new FactoryModuleBuilder().build(ConfigureClusterTaskFactory.class));
-
+      install(new FactoryModuleBuilder().build(MpackManagerFactory.class));
 
       bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
       bind(SecurityHelper.class).toInstance(SecurityHelperImpl.getInstance());

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/alerts/ComponentVersionAlertRunnableTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/alerts/ComponentVersionAlertRunnableTest.java b/ambari-server/src/test/java/org/apache/ambari/server/alerts/ComponentVersionAlertRunnableTest.java
index e41f568..798051a 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/alerts/ComponentVersionAlertRunnableTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/alerts/ComponentVersionAlertRunnableTest.java
@@ -35,6 +35,7 @@ import org.apache.ambari.server.events.AlertEvent;
 import org.apache.ambari.server.events.AlertReceivedEvent;
 import org.apache.ambari.server.events.MockEventListener;
 import org.apache.ambari.server.events.publishers.AlertEventPublisher;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.dao.AlertDefinitionDAO;
 import org.apache.ambari.server.orm.entities.AlertDefinitionEntity;
@@ -358,6 +359,7 @@ public class ComponentVersionAlertRunnableTest extends EasyMockSupport {
       binder.bind(EntityManager.class).toInstance(createNiceMock(EntityManager.class));
       binder.bind(AmbariMetaInfo.class).toInstance(createNiceMock(AmbariMetaInfo.class));
       binder.bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
+      binder.bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
     }
   }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryImplTest.java
index 0d3aca4..aa5d574 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/query/QueryImplTest.java
@@ -463,7 +463,7 @@ public class QueryImplTest {
     Assert.assertEquals("StackVersion:1", versionNode.getName());
     Assert.assertEquals(Resource.Type.StackVersion, versionNode.getObject().getType());
 
-    Assert.assertEquals(6, versionNode.getChildren().size());
+    Assert.assertEquals(7, versionNode.getChildren().size());
 
     TreeNode<Resource> opSystemsNode = versionNode.getChild("operating_systems");
     Assert.assertEquals(3, opSystemsNode.getChildren().size());

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinitionTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinitionTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinitionTest.java
index 5436c22..0f91037 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinitionTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/resources/StackVersionResourceDefinitionTest.java
@@ -42,7 +42,7 @@ public class StackVersionResourceDefinitionTest {
     ResourceDefinition def = new StackVersionResourceDefinition();
 
     Set<SubResourceDefinition> subResources = def.getSubResourceDefinitions();
-    assertEquals(6, subResources.size());
+    assertEquals(7, subResources.size());
 
     boolean operatingSystemFound = false;
     boolean serviceFound = false;
@@ -50,6 +50,7 @@ public class StackVersionResourceDefinitionTest {
     boolean repoFound = false;
     boolean artifactReturned = false;
     boolean compatibleFound = false;
+    boolean mpackFound = false;
 
     for (SubResourceDefinition subResource : subResources) {
       Resource.Type type = subResource.getType();
@@ -65,6 +66,8 @@ public class StackVersionResourceDefinitionTest {
         artifactReturned = true;
       } else if (type.equals(Resource.Type.CompatibleRepositoryVersion)) {
         compatibleFound = true;
+      } else if (type.equals(Resource.Type.Mpack)) {
+        mpackFound = true;
       }
     }
     assertTrue(operatingSystemFound);
@@ -73,5 +76,6 @@ public class StackVersionResourceDefinitionTest {
     assertTrue(repoFound);
     assertTrue(artifactReturned);
     assertTrue(compatibleFound);
+    assertTrue(mpackFound);
   }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
index f60e824..d2c549b 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/AmbariMetaInfoTest.java
@@ -31,10 +31,8 @@ import static org.junit.Assert.fail;
 import java.io.File;
 import java.io.FileReader;
 import java.lang.reflect.Field;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
@@ -50,8 +48,6 @@ import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.H2DatabaseCleaner;
 import org.apache.ambari.server.StackAccessException;
 import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.controller.MpackRequest;
-import org.apache.ambari.server.controller.MpackResponse;
 import org.apache.ambari.server.controller.spi.Resource;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.metadata.ActionMetadata;
@@ -73,9 +69,7 @@ import org.apache.ambari.server.state.Clusters;
 import org.apache.ambari.server.state.ComponentInfo;
 import org.apache.ambari.server.state.CustomCommandDefinition;
 import org.apache.ambari.server.state.DependencyInfo;
-import org.apache.ambari.server.state.Mpack;
 import org.apache.ambari.server.state.OperatingSystemInfo;
-import org.apache.ambari.server.state.Packlet;
 import org.apache.ambari.server.state.PropertyDependencyInfo;
 import org.apache.ambari.server.state.PropertyInfo;
 import org.apache.ambari.server.state.RepositoryInfo;
@@ -353,30 +347,6 @@ public class AmbariMetaInfoTest {
   }
 
   @Test
-  public void testRegisterMpacks() throws Exception{
-    MpackManager mm = metaInfo.getMpackManager();
-    MpackRequest mpackRequest = createNiceMock(MpackRequest.class);
-    Mpack mpack = new Mpack();
-    mpack.setMpackId((long)100);
-    mpack.setPacklets(new ArrayList<Packlet>());
-    mpack.setPrerequisites(new HashMap<String, String>());
-    mpack.setRegistryId(new Long(100));
-    mpack.setVersion("3.0");
-    mpack.setMpackUri("abc.tar.gz");
-    mpack.setDescription("Test mpack");
-    mpack.setName("testMpack");
-    MpackResponse mpackResponse = new MpackResponse(mpack);
-    expect(mm.registerMpack(mpackRequest)).andReturn(mpackResponse);
-    replay(mm);
-    assertEquals(mpackResponse,metaInfo.registerMpack(mpackRequest));
-  }
-
-  @Test
-  public void testGetPacklets() throws Exception{
-
-  }
-
-  @Test
   public void testConfigDependencies() throws Exception {
     ServiceInfo serviceInfo = metaInfo.getService(STACK_NAME_HDP, EXT_STACK_NAME,
         SERVICE_NAME_MAPRED2);
@@ -805,6 +775,7 @@ public class AmbariMetaInfoTest {
     File stacks = new File("src/main/resources/stacks");
     File version = new File("src/test/resources/version");
     File commonServicesRoot = new File("src/main/resources/common-services");
+    File mpackStaging = new File("src/test/resources/mpacks-v2");
     if (System.getProperty("os.name").contains("Windows")) {
       stacks = new File(ClassLoader.getSystemClassLoader().getResource("stacks").getPath());
       version = new File(new File(ClassLoader.getSystemClassLoader().getResource("").getPath()).getParent(), "version");
@@ -815,6 +786,7 @@ public class AmbariMetaInfoTest {
     properties.setProperty(Configuration.METADATA_DIR_PATH.getKey(), stacks.getPath());
     properties.setProperty(Configuration.COMMON_SERVICES_DIR_PATH.getKey(), commonServicesRoot.getPath());
     properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), version.getPath());
+    properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), mpackStaging.getPath());
     Configuration configuration = new Configuration(properties);
 
     TestAmbariMetaInfo ambariMetaInfo = new TestAmbariMetaInfo(configuration);
@@ -1905,7 +1877,7 @@ public class AmbariMetaInfoTest {
     Properties properties = new Properties();
     properties.setProperty(Configuration.METADATA_DIR_PATH.getKey(), stackRoot.getPath());
     properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), versionFile.getPath());
-    properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(),"/var/lib/ambari-server/resources/mpacks-v2");
+    properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(),"src/test/resources/mpacks-v2");
     Configuration configuration = new Configuration(properties);
 
     TestAmbariMetaInfo metaInfo = new TestAmbariMetaInfo(configuration);
@@ -2047,6 +2019,7 @@ public class AmbariMetaInfoTest {
         // create a mock metainfo DAO for the entire system so that injectables
         // can use the mock as well
         bind(MetainfoDAO.class).toInstance(createNiceMock(MetainfoDAO.class));
+        bind(MpackManager.class).toInstance(createNiceMock(MpackManager.class));
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/api/services/KerberosServiceMetaInfoTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/api/services/KerberosServiceMetaInfoTest.java b/ambari-server/src/test/java/org/apache/ambari/server/api/services/KerberosServiceMetaInfoTest.java
index 4137ffb..32925f3 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/api/services/KerberosServiceMetaInfoTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/api/services/KerberosServiceMetaInfoTest.java
@@ -36,6 +36,7 @@ import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.configuration.Configuration;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.metadata.ActionMetadata;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
 import org.apache.ambari.server.orm.dao.AlertDefinitionDAO;
@@ -154,11 +155,12 @@ public class KerberosServiceMetaInfoTest {
   public void before() throws Exception {
     File stackRoot = new File("src/main/resources/stacks");
     File commonServicesRoot = new File("src/main/resources/common-services");
+    File mpacksStaging = new File("src/test/resources/mpacks-v2");
     LOG.info("Stacks file " + stackRoot.getAbsolutePath());
     LOG.info("Common Services file " + commonServicesRoot.getAbsolutePath());
 
     AmbariMetaInfo metaInfo = createAmbariMetaInfo(stackRoot,
-        commonServicesRoot, new File("src/test/resources/version"), true);
+        commonServicesRoot, new File("src/test/resources/version"),mpacksStaging, true);
 
     metaInfo.init();
 
@@ -196,11 +198,12 @@ public class KerberosServiceMetaInfoTest {
     });
   }
 
-  private TestAmbariMetaInfo createAmbariMetaInfo(File stackRoot, File commonServicesRoot, File versionFile, boolean replayMocks) throws Exception {
+  private TestAmbariMetaInfo createAmbariMetaInfo(File stackRoot, File commonServicesRoot, File versionFile, File mpacksStaging, boolean replayMocks) throws Exception {
     Properties properties = new Properties();
     properties.setProperty(Configuration.METADATA_DIR_PATH.getKey(), stackRoot.getPath());
     properties.setProperty(Configuration.COMMON_SERVICES_DIR_PATH.getKey(), commonServicesRoot.getPath());
     properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), versionFile.getPath());
+    properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), mpacksStaging.getPath());
     Configuration configuration = new Configuration(properties);
 
     TestAmbariMetaInfo metaInfo = new TestAmbariMetaInfo(configuration);
@@ -263,6 +266,12 @@ public class KerberosServiceMetaInfoTest {
       f.setAccessible(true);
       f.set(this, stackManagerFactory);
 
+      // MpackManagerFactory
+      MpackManagerFactory mpackManagerFactory = injector.getInstance(MpackManagerFactory.class);
+      f = c.getDeclaredField("mpackManagerFactory");
+      f.setAccessible(true);
+      f.set(this, mpackManagerFactory);
+
       //AlertDefinitionDAO
       alertDefinitionDAO = createNiceMock(AlertDefinitionDAO.class);
       f = c.getDeclaredField("alertDefinitionDao");
@@ -285,6 +294,7 @@ public class KerberosServiceMetaInfoTest {
       //OSFamily
       Configuration config = createNiceMock(Configuration.class);
       expect(config.getSharedResourcesDirPath()).andReturn("./src/test/resources").anyTimes();
+      expect(config.getMpacksV2StagingPath()).andReturn("./src/test/resources/mpacks-v2").anyTimes();
       replay(config);
       osFamily = new OsFamily(config);
       f = c.getDeclaredField("osFamily");

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/bootstrap/BootStrapTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/bootstrap/BootStrapTest.java b/ambari-server/src/test/java/org/apache/ambari/server/bootstrap/BootStrapTest.java
index b9da013..1c4da29 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/bootstrap/BootStrapTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/bootstrap/BootStrapTest.java
@@ -63,6 +63,7 @@ public class BootStrapTest extends TestCase {
     String bootdir = temp.newFolder("bootdir").toString();
     String metadetadir = temp.newFolder("metadetadir").toString();
     String serverVersionFilePath = temp.newFolder("serverVersionFilePath").toString();
+    String mpackStagingDir = "src/test/resources/mpacks-v2";
     LOG.info("Bootdir is " + bootdir);
     LOG.info("Metadetadir is " + metadetadir);
     LOG.info("ServerVersionFilePath is " + serverVersionFilePath);
@@ -78,6 +79,7 @@ public class BootStrapTest extends TestCase {
     properties.setProperty(Configuration.METADATA_DIR_PATH.getKey(), metadetadir);
     properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), serverVersionFilePath);
     properties.setProperty(Configuration.SHARED_RESOURCES_DIR.getKey(), sharedResourcesDir);
+    properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), mpackStagingDir);
 
     Configuration conf = new Configuration(properties);
     AmbariMetaInfo ambariMetaInfo = new AmbariMetaInfo(conf);
@@ -138,6 +140,7 @@ public class BootStrapTest extends TestCase {
     String bootdir = temp.newFolder("bootdir").toString();
     String metadetadir = temp.newFolder("metadetadir").toString();
     String serverVersionFilePath = temp.newFolder("serverVersionFilePath").toString();
+    String mpackStagingDir = "src/test/resources/mpacks-v2";
     LOG.info("Bootdir is " + bootdir);
     LOG.info("Metadetadir is " + metadetadir);
     LOG.info("ServerVersionFilePath is " + serverVersionFilePath);
@@ -155,6 +158,7 @@ public class BootStrapTest extends TestCase {
     properties.setProperty(Configuration.METADATA_DIR_PATH.getKey(), metadetadir);
     properties.setProperty(Configuration.SERVER_VERSION_FILE.getKey(), serverVersionFilePath);
     properties.setProperty(Configuration.SHARED_RESOURCES_DIR.getKey(), sharedResourcesDir);
+    properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), mpackStagingDir);
     Configuration conf = new Configuration(properties);
     AmbariMetaInfo ambariMetaInfo = new AmbariMetaInfo(conf);
     BootStrapImpl impl = new BootStrapImpl(conf, ambariMetaInfo);

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
----------------------------------------------------------------------
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 868dea1..7431d75 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
@@ -40,6 +40,7 @@ import javax.persistence.EntityManager;
 
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.configuration.Configuration;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.stack.StackManagerFactory;
 import org.apache.ambari.server.state.Clusters;
@@ -67,6 +68,7 @@ public class DatabaseConsistencyCheckHelperTest {
     final Statement mockStatement = easyMockSupport.createNiceMock(Statement.class);
 
     final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.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);
@@ -79,6 +81,7 @@ public class DatabaseConsistencyCheckHelperTest {
         bind(DBAccessor.class).toInstance(mockDBDbAccessor);
         bind(Clusters.class).toInstance(mockClusters);
         bind(OsFamily.class).toInstance(mockOSFamily);
+        bind(MpackManagerFactory.class).toInstance(mockMpackManagerFactory);
       }
     });
 
@@ -111,6 +114,7 @@ public class DatabaseConsistencyCheckHelperTest {
     final Statement mockStatement = easyMockSupport.createNiceMock(Statement.class);
 
     final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.class);
+
     final EntityManager mockEntityManager = easyMockSupport.createNiceMock(EntityManager.class);
     final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
     final OsFamily mockOSFamily = easyMockSupport.createNiceMock(OsFamily.class);
@@ -123,6 +127,7 @@ public class DatabaseConsistencyCheckHelperTest {
         bind(DBAccessor.class).toInstance(mockDBDbAccessor);
         bind(Clusters.class).toInstance(mockClusters);
         bind(OsFamily.class).toInstance(mockOSFamily);
+
       }
     });
 
@@ -265,6 +270,7 @@ public class DatabaseConsistencyCheckHelperTest {
     final ServiceInfo mockHDFSServiceInfo = easyMockSupport.createNiceMock(ServiceInfo.class);
 
     final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.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);
@@ -277,6 +283,7 @@ public class DatabaseConsistencyCheckHelperTest {
         bind(DBAccessor.class).toInstance(mockDBDbAccessor);
         bind(Clusters.class).toInstance(mockClusters);
         bind(OsFamily.class).toInstance(mockOSFamily);
+        bind(MpackManagerFactory.class).toInstance(mockMpackManagerFactory);
       }
     });
 
@@ -462,6 +469,7 @@ 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 EntityManager mockEntityManager = easyMockSupport.createNiceMock(EntityManager.class);
     final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
     final OsFamily mockOSFamily = easyMockSupport.createNiceMock(OsFamily.class);
@@ -474,6 +482,7 @@ public class DatabaseConsistencyCheckHelperTest {
         bind(DBAccessor.class).toInstance(mockDBDbAccessor);
         bind(Clusters.class).toInstance(mockClusters);
         bind(OsFamily.class).toInstance(mockOSFamily);
+        bind(MpackManagerFactory.class).toInstance(mockMpackManagerFacgtory);
       }
     });
 
@@ -549,6 +558,7 @@ public class DatabaseConsistencyCheckHelperTest {
     final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
     final OsFamily mockOSFamily = easyMockSupport.createNiceMock(OsFamily.class);
     final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.class);
+    final MpackManagerFactory mockMpackManagerFactory = easyMockSupport.createNiceMock(MpackManagerFactory.class);
 
     final ResultSet hostRoleCommandResultSet = easyMockSupport.createNiceMock(ResultSet.class);
     final ResultSet executionCommandResultSet = easyMockSupport.createNiceMock(ResultSet.class);
@@ -565,6 +575,7 @@ public class DatabaseConsistencyCheckHelperTest {
         bind(DBAccessor.class).toInstance(mockDBDbAccessor);
         bind(Clusters.class).toInstance(mockClusters);
         bind(OsFamily.class).toInstance(mockOSFamily);
+        bind(MpackManagerFactory.class).toInstance(mockMpackManagerFactory);
       }
     });
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerImplTest.java
----------------------------------------------------------------------
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 bd7dc20..5d46fb3 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
@@ -79,6 +79,7 @@ import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
 import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
 import org.apache.ambari.server.orm.entities.LdapSyncSpecEntity;
 import org.apache.ambari.server.orm.entities.RepositoryVersionEntity;
+import org.apache.ambari.server.registry.RegistryManager;
 import org.apache.ambari.server.security.authorization.Users;
 import org.apache.ambari.server.security.authorization.internal.InternalAuthenticationToken;
 import org.apache.ambari.server.security.encryption.CredentialStoreService;
@@ -140,6 +141,7 @@ public class AmbariManagementControllerImplTest {
   private static final AmbariMetaInfo ambariMetaInfo = createMock(AmbariMetaInfo.class);
   private static final Users users = createMock(Users.class);
   private static final AmbariSessionManager sessionManager = createNiceMock(AmbariSessionManager.class);
+  private static final RegistryManager registryManager = createNiceMock(RegistryManager.class);
 
   @BeforeClass
   public static void setupAuthentication() {
@@ -2218,6 +2220,7 @@ public class AmbariManagementControllerImplTest {
       binder.bind(AmbariMetaInfo.class).toInstance(ambariMetaInfo);
       binder.bind(Users.class).toInstance(users);
       binder.bind(AmbariSessionManager.class).toInstance(sessionManager);
+      binder.bind(RegistryManager.class).toInstance(registryManager);
     }
   }
 
@@ -2404,6 +2407,7 @@ public class AmbariManagementControllerImplTest {
   @Test
   public void testRegisterMpacks() throws Exception{
     MpackRequest mpackRequest = createNiceMock(MpackRequest.class);
+    RequestStatusResponse response = new RequestStatusResponse(new Long(201));
     Mpack mpack = new Mpack();
     mpack.setMpackId((long)100);
     mpack.setPacklets(new ArrayList<Packlet>());
@@ -2417,6 +2421,8 @@ public class AmbariManagementControllerImplTest {
     Injector injector = createNiceMock(Injector.class);
     expect(injector.getInstance(MaintenanceStateHelper.class)).andReturn(null).atLeastOnce();
     expect(ambariMetaInfo.registerMpack(mpackRequest)).andReturn(mpackResponse);
+    ambariMetaInfo.init();
+    expectLastCall();
     replay(ambariMetaInfo,injector);
     AmbariManagementController controller = new AmbariManagementControllerImpl(null, clusters, injector);
     setAmbariMetaInfo(ambariMetaInfo, controller);

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariServerTest.java
----------------------------------------------------------------------
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 319db62..3e4baed 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
@@ -48,6 +48,7 @@ import org.apache.ambari.server.H2DatabaseCleaner;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.checks.DatabaseConsistencyCheckHelper;
 import org.apache.ambari.server.configuration.Configuration;
+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;
@@ -241,6 +242,7 @@ public class AmbariServerTest {
     final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.class);
     final EntityManager mockEntityManager = easyMockSupport.createNiceMock(EntityManager.class);
     final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
+    final MpackManagerFactory mpackManagerFactory = easyMockSupport.createNiceMock(MpackManagerFactory.class);
 
     AmbariServer ambariServer = new AmbariServer();
 
@@ -265,6 +267,7 @@ public class AmbariServerTest {
         bind(EntityManager.class).toInstance(mockEntityManager);
         bind(Clusters.class).toInstance(mockClusters);
         bind(Configuration.class).toInstance(mockConfiguration);
+        bind(MpackManagerFactory.class).toInstance(mpackManagerFactory);
       }
     });
 
@@ -313,6 +316,7 @@ public class AmbariServerTest {
     final StackManagerFactory mockStackManagerFactory = easyMockSupport.createNiceMock(StackManagerFactory.class);
     final EntityManager mockEntityManager = easyMockSupport.createNiceMock(EntityManager.class);
     final Clusters mockClusters = easyMockSupport.createNiceMock(Clusters.class);
+    final MpackManagerFactory mpackManagerFactory = easyMockSupport.createNiceMock(MpackManagerFactory.class);
 
     AmbariServer ambariServer = new AmbariServer();
 
@@ -337,6 +341,7 @@ public class AmbariServerTest {
         bind(EntityManager.class).toInstance(mockEntityManager);
         bind(Clusters.class).toInstance(mockClusters);
         bind(Configuration.class).toInstance(mockConfiguration);
+        bind(MpackManagerFactory.class).toInstance(mpackManagerFactory);
       }
     });
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
index 4508527..03f3a25 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/KerberosHelperTest.java
@@ -75,6 +75,7 @@ import org.apache.ambari.server.controller.utilities.KerberosChecker;
 import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
 import org.apache.ambari.server.metadata.RoleCommandOrder;
 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.ArtifactDAO;
 import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
@@ -256,6 +257,7 @@ public class KerberosHelperTest extends EasyMockSupport {
         bind(KerberosPrincipalDAO.class).toInstance(createNiceMock(KerberosPrincipalDAO.class));
         bind(RoleCommandOrderProvider.class).to(CachedRoleCommandOrderProvider.class);
         bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
+        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
 
         requestStaticInjection(KerberosChecker.class);
       }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
index 4dc06b9..e1dc9a0 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ActiveWidgetLayoutResourceProviderTest.java
@@ -53,6 +53,7 @@ import org.apache.ambari.server.hooks.HookContextFactory;
 import org.apache.ambari.server.hooks.HookService;
 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.dao.HostRoleCommandDAO;
 import org.apache.ambari.server.orm.dao.UserDAO;
@@ -61,6 +62,8 @@ import org.apache.ambari.server.orm.dao.WidgetLayoutDAO;
 import org.apache.ambari.server.orm.entities.UserEntity;
 import org.apache.ambari.server.orm.entities.WidgetLayoutEntity;
 import org.apache.ambari.server.orm.entities.WidgetLayoutUserWidgetEntity;
+import org.apache.ambari.server.registry.RegistryFactory;
+import org.apache.ambari.server.registry.RegistryManager;
 import org.apache.ambari.server.scheduler.ExecutionScheduler;
 import org.apache.ambari.server.security.TestAuthenticationFactory;
 import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -411,6 +414,9 @@ public class ActiveWidgetLayoutResourceProviderTest extends EasyMockSupport {
         bind(HookContextFactory.class).toInstance(createMock(HookContextFactory.class));
         bind(HookService.class).toInstance(createMock(HookService.class));
         bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
+        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+        bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+        bind(RegistryFactory.class).toInstance(createNiceMock(RegistryFactory.class));
       }
     });
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
index 5f9157a..f694aab 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ClusterControllerImplTest.java
@@ -946,6 +946,7 @@ public class ClusterControllerImplTest {
       providers.put(Resource.Type.RepositoryVersion, new TestRepositoryVersionResourceProvider());
       providers.put(Resource.Type.CompatibleRepositoryVersion, new TestCompatibleRepositoryVersionResourceProvider());
       providers.put(Type.StackArtifact, new TestStackArtifactResourceProvider());
+      providers.put(Type.Mpack, new TestMpackResourceProvider());
     }
 
     @Override
@@ -1210,6 +1211,12 @@ public class ClusterControllerImplTest {
     }
   }
 
+  private static class TestMpackResourceProvider extends TestResourceProvider {
+    private TestMpackResourceProvider() {
+      super(MpackResourceProvider.PROPERTY_IDS, MpackResourceProvider.KEY_PROPERTY_IDS);
+    }
+  }
+
   private static class TestRepositoryVersionResourceProvider extends TestResourceProvider {
     private TestRepositoryVersionResourceProvider() {
       super(RepositoryVersionResourceProvider.propertyIds, RepositoryVersionResourceProvider.keyPropertyIds);

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MpackResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MpackResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MpackResourceProviderTest.java
index 3a65e26..f0b81cb 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MpackResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/MpackResourceProviderTest.java
@@ -226,7 +226,7 @@ public class MpackResourceProviderTest {
     replay(m_amc,request);
     // end expectations
 
-    ResourceProvider provider = AbstractControllerResourceProvider.getResourceProvider(
+    MpackResourceProvider provider = (MpackResourceProvider) AbstractControllerResourceProvider.getResourceProvider(
             Resource.Type.Mpack,
             PropertyHelper.getPropertyIds(Resource.Type.Mpack),
             PropertyHelper.getKeyPropertyIds(Resource.Type.Mpack),
@@ -235,7 +235,7 @@ public class MpackResourceProviderTest {
     AbstractResourceProviderTest.TestObserver observer = new AbstractResourceProviderTest.TestObserver();
     ((ObservableResourceProvider)provider).addObserver(observer);
 
-    RequestStatusImpl requestStatus = (RequestStatusImpl) provider.createResources(request);
+    RequestStatusImpl requestStatus = (RequestStatusImpl) provider.createResourcesAuthorized(request);
     Set<Resource> associatedResources = requestStatus.getAssociatedResources();
 
     Assert.assertEquals(1,associatedResources.size());

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java
index a37e4f5..c6773c3 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StackUpgradeConfigurationMergeTest.java
@@ -39,6 +39,7 @@ import org.apache.ambari.server.controller.KerberosHelper;
 import org.apache.ambari.server.controller.spi.ClusterController;
 import org.apache.ambari.server.hooks.HookContextFactory;
 import org.apache.ambari.server.hooks.HookService;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
 import org.apache.ambari.server.orm.dao.RepositoryVersionDAO;
@@ -326,6 +327,7 @@ public class StackUpgradeConfigurationMergeTest extends EasyMockSupport {
       binder.bind(ServiceConfigDAO.class).toInstance(createNiceMock(ServiceConfigDAO.class));
       binder.install(new FactoryModuleBuilder().build(UpgradeContextFactory.class));
       binder.bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
+      binder.bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
 
       binder.requestStaticInjection(UpgradeResourceProvider.class);
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
index 4c52e11..a390276 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserAuthorizationResourceProviderTest.java
@@ -52,6 +52,7 @@ import org.apache.ambari.server.hooks.HookContextFactory;
 import org.apache.ambari.server.hooks.HookService;
 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.dao.HostRoleCommandDAO;
 import org.apache.ambari.server.orm.dao.PermissionDAO;
@@ -60,6 +61,8 @@ import org.apache.ambari.server.orm.dao.UserDAO;
 import org.apache.ambari.server.orm.entities.PermissionEntity;
 import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
 import org.apache.ambari.server.orm.entities.RoleAuthorizationEntity;
+import org.apache.ambari.server.registry.RegistryFactory;
+import org.apache.ambari.server.registry.RegistryManager;
 import org.apache.ambari.server.scheduler.ExecutionScheduler;
 import org.apache.ambari.server.security.TestAuthenticationFactory;
 import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -423,6 +426,10 @@ public class UserAuthorizationResourceProviderTest extends EasyMockSupport {
         bind(HookContextFactory.class).toInstance(createMock(HookContextFactory.class));
         bind(HookService.class).toInstance(createMock(HookService.class));
         bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
+        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+        bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
+        bind(RegistryFactory.class).toInstance(createNiceMock(RegistryFactory.class));
+
       }
     });
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
index d298b7f..c803dd6 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
@@ -53,8 +53,11 @@ import org.apache.ambari.server.hooks.HookContextFactory;
 import org.apache.ambari.server.hooks.HookService;
 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.dao.HostRoleCommandDAO;
+import org.apache.ambari.server.registry.RegistryFactory;
+import org.apache.ambari.server.registry.RegistryManager;
 import org.apache.ambari.server.scheduler.ExecutionScheduler;
 import org.apache.ambari.server.security.TestAuthenticationFactory;
 import org.apache.ambari.server.security.authorization.AuthorizationException;
@@ -258,6 +261,9 @@ public class UserResourceProviderTest extends EasyMockSupport {
         bind(HookService.class).toInstance(createMock(HookService.class));
         bind(HookContextFactory.class).toInstance(createMock(HookContextFactory.class));
         bind(HostRoleCommandFactory.class).to(HostRoleCommandFactoryImpl.class);
+        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
+        bind(RegistryFactory.class).toInstance(createNiceMock(RegistryFactory.class));
+        bind(RegistryManager.class).toInstance(createNiceMock(RegistryManager.class));
       }
     });
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java b/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java
index 434a2a1..9859db6 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/orm/InMemoryDefaultTestModule.java
@@ -91,6 +91,7 @@ public class InMemoryDefaultTestModule extends AbstractModule {
     String version = "src/test/resources/version";
     String sharedResourcesDir = "src/test/resources/";
     String resourcesDir = "src/test/resources/";
+    String mpacksv2Dir = "src/test/resources/mpacks-v2";
     if (System.getProperty("os.name").contains("Windows")) {
       stacks = ClassLoader.getSystemClassLoader().getResource("stacks").getPath();
       version = new File(new File(ClassLoader.getSystemClassLoader().getResource("").getPath()).getParent(), "version").getPath();
@@ -121,6 +122,10 @@ public class InMemoryDefaultTestModule extends AbstractModule {
       properties.setProperty(Configuration.RESOURCES_DIR.getKey(), resourcesDir);
     }
 
+    if (!properties.containsKey(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey())) {
+      properties.setProperty(Configuration.MPACKS_V2_STAGING_DIR_PATH.getKey(), mpacksv2Dir);
+    }
+
     try {
       install(Modules.override(new BeanDefinitionsCachingTestControllerModule(properties)).with(new AbstractModule() {
         @Override

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/state/ConfigHelperTest.java
----------------------------------------------------------------------
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 857da61..2a6b549 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
@@ -46,6 +46,7 @@ import org.apache.ambari.server.controller.AmbariManagementController;
 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.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.GuiceJpaInitializer;
 import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
@@ -1001,6 +1002,7 @@ public class ConfigHelperTest {
           bind(StackManagerFactory.class).toInstance(createNiceMock(StackManagerFactory.class));
           bind(HostRoleCommandFactory.class).toInstance(createNiceMock(HostRoleCommandFactory.class));
           bind(HostRoleCommandDAO.class).toInstance(createNiceMock(HostRoleCommandDAO.class));
+          bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
         }
       });
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorUpdateHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorUpdateHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorUpdateHelperTest.java
index 247d17e..5592685 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorUpdateHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/state/kerberos/KerberosDescriptorUpdateHelperTest.java
@@ -30,6 +30,7 @@ import javax.persistence.TypedQuery;
 import org.apache.ambari.server.AmbariException;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.configuration.Configuration;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.dao.ExtensionLinkDAO;
 import org.apache.ambari.server.orm.entities.ExtensionLinkEntity;
@@ -67,6 +68,7 @@ public class KerberosDescriptorUpdateHelperTest extends EasyMockSupport {
         properties.put("common.services.path", "src/main/resources/common-services");
         properties.put("server.version.file", "target/version");
         properties.put("custom.action.definitions", "/tmp/nofile");
+        properties.put("mpacks-v2.staging.path","src/test/resources/mpacks-v2");
         Configuration configuration = new Configuration(properties);
 
         install(new FactoryModuleBuilder().build(StackManagerFactory.class));
@@ -77,6 +79,7 @@ public class KerberosDescriptorUpdateHelperTest extends EasyMockSupport {
         bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
         bind(Configuration.class).toInstance(configuration);
         bind(ExtensionLinkDAO.class).toInstance(createNiceMock(ExtensionLinkDAO.class));
+        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
       }
     });
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/9e5e261c/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java b/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
index c3b820b..bc238b1 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
@@ -57,6 +57,7 @@ import org.apache.ambari.server.actionmanager.StageFactoryImpl;
 import org.apache.ambari.server.agent.ExecutionCommand;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.configuration.Configuration;
+import org.apache.ambari.server.mpack.MpackManagerFactory;
 import org.apache.ambari.server.orm.DBAccessor;
 import org.apache.ambari.server.orm.dao.HostDAO;
 import org.apache.ambari.server.orm.dao.HostRoleCommandDAO;
@@ -127,6 +128,7 @@ public class StageUtilsTest extends EasyMockSupport {
         bind(HostDAO.class).toInstance(createNiceMock(HostDAO.class));
         bind(PersistedState.class).toInstance(createNiceMock(PersistedState.class));
         bind(HostRoleCommandDAO.class).toInstance(createNiceMock(HostRoleCommandDAO.class));
+        bind(MpackManagerFactory.class).toInstance(createNiceMock(MpackManagerFactory.class));
 
         install(new FactoryModuleBuilder().build(ExecutionCommandWrapperFactory.class));
         install(new FactoryModuleBuilder().implement(Config.class, ConfigImpl.class).build(ConfigFactory.class));