You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by sm...@apache.org on 2014/06/18 00:45:33 UTC

git commit: SLIDER-142. Have the agent functional test create the app pkg dynamically

Repository: incubator-slider
Updated Branches:
  refs/heads/develop e2440c32d -> 055ed0b07


SLIDER-142. Have the agent functional test create the app pkg dynamically


Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/055ed0b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/055ed0b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/055ed0b0

Branch: refs/heads/develop
Commit: 055ed0b076fca892e4c8df32afc2a4fcc65259b4
Parents: e2440c3
Author: Sumit Mohanty <sm...@hortonworks.com>
Authored: Tue Jun 17 15:45:24 2014 -0700
Committer: Sumit Mohanty <sm...@hortonworks.com>
Committed: Tue Jun 17 15:45:24 2014 -0700

----------------------------------------------------------------------
 .../test_command_log/cmd_log_app_pkg.zip        | Bin 6676 -> 0 bytes
 .../lifecycle/AgentCommandTestBase.groovy       |  63 ++++++++++++++++---
 2 files changed, 54 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/055ed0b0/slider-core/src/test/app_packages/test_command_log/cmd_log_app_pkg.zip
----------------------------------------------------------------------
diff --git a/slider-core/src/test/app_packages/test_command_log/cmd_log_app_pkg.zip b/slider-core/src/test/app_packages/test_command_log/cmd_log_app_pkg.zip
deleted file mode 100644
index e44907a..0000000
Binary files a/slider-core/src/test/app_packages/test_command_log/cmd_log_app_pkg.zip and /dev/null differ

http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/055ed0b0/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentCommandTestBase.groovy
----------------------------------------------------------------------
diff --git a/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentCommandTestBase.groovy b/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentCommandTestBase.groovy
index daf091c..d1d6f07 100644
--- a/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentCommandTestBase.groovy
+++ b/slider-funtest/src/test/groovy/org/apache/slider/funtest/lifecycle/AgentCommandTestBase.groovy
@@ -26,8 +26,13 @@ import org.apache.slider.common.params.SliderActions
 import org.apache.slider.funtest.framework.CommandTestBase
 import org.apache.slider.funtest.framework.FuntestProperties
 import org.apache.slider.funtest.framework.SliderShell
+import org.apache.tools.zip.ZipEntry
+import org.apache.tools.zip.ZipOutputStream
+import org.junit.Assert
 import org.junit.Before
 import org.junit.BeforeClass
+import org.junit.rules.TemporaryFolder
+import org.junit.Rule
 
 
 @Slf4j
@@ -38,10 +43,9 @@ class AgentCommandTestBase extends CommandTestBase
   
   protected static String APP_RESOURCE = "../slider-core/src/test/app_packages/test_command_log/resources.json"
   protected static String APP_TEMPLATE = "../slider-core/src/test/app_packages/test_command_log/appConfig.json"
-  protected static String APP_PKG = "../slider-core/src/test/app_packages/test_command_log/cmd_log_app_pkg.zip"
+  protected static String APP_PKG_DIR = "../slider-core/src/test/app_packages/test_command_log/"
   protected static String AGENT_CONF = "../slider-agent/conf/agent.ini"
   protected static final File LOCAL_SLIDER_AGENT_TARGZ
-  protected static final File LOCAL_APP_PKZ
   protected static final File LOCAL_AGENT_CONF
 
   protected static Path agentTarballPath;
@@ -53,10 +57,12 @@ class AgentCommandTestBase extends CommandTestBase
     LOCAL_SLIDER_AGENT_TARGZ = new File(
         SLIDER_BIN_DIRECTORY,
         AGENT_SLIDER_GZ).canonicalFile
-    LOCAL_APP_PKZ = new File(APP_PKG).canonicalFile
     LOCAL_AGENT_CONF = new File(AGENT_CONF).canonicalFile
   }
 
+  @Rule
+  public TemporaryFolder folder = new TemporaryFolder();
+
   @BeforeClass
   public static void setupAgent() {
     assumeAgentTestsEnabled()
@@ -67,12 +73,6 @@ class AgentCommandTestBase extends CommandTestBase
     Path localTarball = new Path(LOCAL_SLIDER_AGENT_TARGZ.toURI());
     clusterFS.copyFromLocalFile(false, true, localTarball, agentTarballPath)
 
-    // Upload the app pkg
-    assume(LOCAL_APP_PKZ.exists(), "App pkg not found at $LOCAL_APP_PKZ")
-    appPkgPath = new Path(clusterFS.homeDirectory, "/slider/cmd_log_app_pkg.zip")
-    Path localAppPkg = new Path(LOCAL_APP_PKZ.toURI());
-    clusterFS.copyFromLocalFile(false, true, localAppPkg, appPkgPath)
-
     // Upload the agent.ini
     assume(LOCAL_AGENT_CONF.exists(), "Agent config not found at $LOCAL_AGENT_CONF")
     agtIniPath = new Path(clusterFS.homeDirectory, "/slider/agent/conf/agent.ini")
@@ -80,6 +80,26 @@ class AgentCommandTestBase extends CommandTestBase
     clusterFS.copyFromLocalFile(false, true, localAgtIni, agtIniPath)
   }
 
+
+  @Before
+  public void specificSetupForTest() {
+    appPkgPath = new Path(clusterFS.homeDirectory, "/slider/cmd_log_app_pkg.zip")
+    if (!clusterFS.exists(appPkgPath)) {
+      clusterFS.delete(appPkgPath, false)
+    }
+
+    def pkgPath = folder.newFolder("testpkg")
+    File zipFileName = new File(pkgPath, "cmd_log_app_pkg.zip").canonicalFile
+    assume(new File(APP_PKG_DIR).exists(), "App pkg dir not found at $APP_PKG_DIR")
+
+    zipDir(zipFileName.canonicalPath, APP_PKG_DIR)
+
+    // Verify and upload the app pkg
+    assume(zipFileName.exists(), "App pkg not found at $zipFileName")
+    Path localAppPkg = new Path(zipFileName.toURI());
+    clusterFS.copyFromLocalFile(false, true, localAppPkg, appPkgPath)
+  }
+
   public static void assumeAgentTestsEnabled() {
     assumeFunctionalTestsEnabled()
     assume(AGENTTESTS_ENABLED, "Agent tests disabled")
@@ -131,4 +151,29 @@ class AgentCommandTestBase extends CommandTestBase
 
     return exists
   }
+
+  public static void addDir(File dirObj, ZipOutputStream zipFile, String prefix) {
+    dirObj.eachFile() { file ->
+      if (file.directory) {
+        addDir(file, zipFile, prefix + file.name + File.separator)
+      } else {
+        log.info("Adding to zip - " + prefix + file.getName())
+        zipFile.putNextEntry(new ZipEntry(prefix + file.getName()))
+        file.eachByte(1024) { buffer, len -> zipFile.write(buffer, 0, len) }
+        zipFile.closeEntry()
+      }
+    }
+  }
+
+  public static void zipDir(String zipFile, String dir) {
+    File dirObj = new File(dir);
+    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFile));
+    log.info("Creating : " + zipFile);
+    try {
+      addDir(dirObj, out, "");
+    }
+    finally {
+      out.close();
+    }
+  }
 }