You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by im...@apache.org on 2016/10/06 05:38:21 UTC

[3/3] asterixdb git commit: Tests for ASTERIXDB-1636

Tests for ASTERIXDB-1636

This is a test for the scenario described in the Jira issue. The only
thing I have taken liberty with is changing the socket feed to a file
one. The test case fails when I revert AqlMetadataProvider to the
previous version, and should pass now with this parent.

Change-Id: Ic1521f1d53121b67677778ac123e49e731932c85
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1248
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Taewoo Kim <wa...@yahoo.com>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>


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

Branch: refs/heads/master
Commit: ecba52e0b9eca4f59b9b7fc082b720d677b4d98d
Parents: 0309d51
Author: Ian Maxon <im...@apache.org>
Authored: Wed Oct 5 17:56:07 2016 -0700
Committer: Ian Maxon <im...@apache.org>
Committed: Wed Oct 5 22:17:08 2016 -0700

----------------------------------------------------------------------
 .../installer/test/AsterixRestartIT.java        | 102 +++++++++++++++++++
 .../resources/integrationts/restart/828.h1w.adm | 100 ++++++++++++++++++
 .../issue-1636/issue-1636.01.ddl.aql            |  81 +++++++++++++++
 .../issue-1636/issue-1636.02.ddl.aql            |  27 +++++
 .../issue-1636/issue-1636.03.script.aql         |   1 +
 .../issue-1636/issue-1636.04.ddl.aql            |  35 +++++++
 .../issue-1636/issue-1636.05.mgx.aql            |   2 +
 .../issue-1636/issue-1636.06.mgx.aql            |   2 +
 .../issue-1636/issue-1636.07.script.aql         |   1 +
 .../issue-1636/issue-1636.08.ddl.aql            |  27 +++++
 .../issue-1636/issue-1636.09.sleep.aql          |  25 +++++
 .../issue-1636/issue-1636.10.script.aql         |   1 +
 .../issue-1636/issue-1636.11.script.aql         |   1 +
 .../scripts/feed-restart/issue-1636/cat.sh      |  18 ++++
 .../scripts/feed-restart/issue-1636/grep_log.sh |  20 ++++
 .../feed-restart/issue-1636/kill_cc_and_nc.sh   |  18 ++++
 .../scripts/feed-restart/issue-1636/touch.sh    |  21 ++++
 .../integrationts/restart/testsuite.xml         |  28 +++++
 .../resources/integrationts/restart/tweets.json |  39 +++++++
 19 files changed, 549 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/ecba52e0/asterixdb/asterix-installer/src/test/java/org/apache/asterix/installer/test/AsterixRestartIT.java
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-installer/src/test/java/org/apache/asterix/installer/test/AsterixRestartIT.java b/asterixdb/asterix-installer/src/test/java/org/apache/asterix/installer/test/AsterixRestartIT.java
new file mode 100644
index 0000000..6d7eaa4
--- /dev/null
+++ b/asterixdb/asterix-installer/src/test/java/org/apache/asterix/installer/test/AsterixRestartIT.java
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.asterix.installer.test;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+import org.apache.asterix.event.model.AsterixInstance.State;
+import org.apache.asterix.test.aql.TestExecutor;
+import org.apache.asterix.test.base.RetainLogsRule;
+import org.apache.asterix.testframework.context.TestCaseContext;
+import org.apache.commons.lang3.StringUtils;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+
+//This is just a simple derivative of all of the other IT test cases specifically for test cases which revolve around
+//some behavior where stopping and starting Asterix causes issues
+public class AsterixRestartIT {
+
+    private static final String PATH_BASE = "src/test/resources/integrationts/restart/";
+    private static final String PATH_ACTUAL = "target" + File.separator + "ittest" + File.separator;
+    private static final Logger LOGGER = Logger.getLogger(AsterixRestartIT.class.getName());
+    private static List<TestCaseContext> testCaseCollection;
+    private static String reportPath = new File(
+            StringUtils.join(new String[] { "target", "failsafe-reports" }, File.separator)).getAbsolutePath();
+
+    private final TestExecutor testExecutor = new TestExecutor();
+    private static String scriptHomePath;
+    private static File asterixInstallerPath;
+    private static ProcessBuilder pb;
+    private static Map<String, String> env;
+
+    @Rule
+    public TestRule retainLogs = new RetainLogsRule(AsterixInstallerIntegrationUtil.getManagixHome(), reportPath);
+
+    @BeforeClass
+    public static void setUp() throws Exception {
+        try {
+            pb = new ProcessBuilder();
+            env = pb.environment();
+            asterixInstallerPath = new File(System.getProperty("user.dir"));
+            scriptHomePath = asterixInstallerPath + File.separator + "src" + File.separator + "test" + File.separator
+                    + "resources" + File.separator + "integrationts" + File.separator + "restart"
+                    + File.separator + "scripts";
+            env.put("SCRIPT_HOME", scriptHomePath);
+            AsterixInstallerIntegrationUtil.init();
+            AsterixInstallerIntegrationUtil.transformIntoRequiredState(State.ACTIVE);
+            TestCaseContext.Builder b = new TestCaseContext.Builder();
+            testCaseCollection = b.build(new File(PATH_BASE));
+        } catch (Throwable th) {
+            th.printStackTrace();
+            throw th;
+        }
+    }
+
+    @AfterClass
+    public static void tearDown() throws Exception {
+        AsterixInstallerIntegrationUtil.deinit();
+    }
+
+    @Test
+    public void test() throws Exception {
+        for (TestCaseContext testCaseCtx : testCaseCollection) {
+            testExecutor.executeTest(PATH_ACTUAL, testCaseCtx, pb, false);
+        }
+
+    }
+
+    public static void main(String[] args) throws Exception {
+        try {
+            setUp();
+            new AsterixRestartIT().test();
+        } catch (Exception e) {
+            e.printStackTrace();
+            LOGGER.info("TEST CASES FAILED");
+        } finally {
+            tearDown();
+        }
+    }
+
+}