You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by mo...@apache.org on 2019/10/01 19:55:51 UTC
[zeppelin] branch master updated: [ZEPPELIN-4355][ZEPPELIN-4361]
Fix broken tests in master branch
This is an automated email from the ASF dual-hosted git repository.
moon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
The following commit(s) were added to refs/heads/master by this push:
new 238e032 [ZEPPELIN-4355][ZEPPELIN-4361] Fix broken tests in master branch
238e032 is described below
commit 238e03242b5ed108f99b5624d93fa5606b008d1f
Author: Lee moon soo <mo...@apache.org>
AuthorDate: Tue Oct 1 10:07:56 2019 -0700
[ZEPPELIN-4355][ZEPPELIN-4361] Fix broken tests in master branch
### What is this PR for?
Fix broken test in master branch [ZEPPELIN-4355](https://issues.apache.org/jira/projects/ZEPPELIN/issues/ZEPPELIN-4355), [ZEPPELIN-4361](https://issues.apache.org/jira/projects/ZEPPELIN/issues/ZEPPELIN-4361).
### What type of PR is it?
Hot Fix
### What is the Jira issue?
https://issues.apache.org/jira/projects/ZEPPELIN/issues/ZEPPELIN-4355
https://issues.apache.org/jira/projects/ZEPPELIN/issues/ZEPPELIN-4361
### How should this be tested?
* All CI test should pass
### Questions:
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? no
Author: Lee moon soo <mo...@apache.org>
Closes #3469 from Leemoonsoo/ZEPPELIN-4361 and squashes the following commits:
0eb8a9666 [Lee moon soo] ZEPPELIN-4361
da5755b55 [Lee moon soo] ZEPPELIN-4355
---
.../cassandra/CassandraInterpreterTest.java | 1 +
.../zeppelin/integration/PersonalizeActionsIT.java | 38 ++++++++++++++++------
.../src/app/notebook/notebook.controller.js | 2 +-
3 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java b/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
index df5e4ac..0417dc9 100644
--- a/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
+++ b/cassandra/src/test/java/org/apache/zeppelin/cassandra/CassandraInterpreterTest.java
@@ -773,6 +773,7 @@ public class CassandraInterpreterTest {
.replaceAll(">\\s+<", "><")
.replaceAll("(?s)data-target=\"#[a-f0-9-]+(?:_asCQL|_indices_asCQL)?\"", "")
.replaceAll("(?s)id=\"[a-f0-9-]+(?:_asCQL|_indices_asCQL)?\"", "")
+ .replaceAll("AND memtable_flush_period_in_ms = 0", "")
.trim();
}
diff --git a/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/PersonalizeActionsIT.java b/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/PersonalizeActionsIT.java
index fce9466..1fc8890 100644
--- a/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/PersonalizeActionsIT.java
+++ b/zeppelin-integration/src/test/java/org/apache/zeppelin/integration/PersonalizeActionsIT.java
@@ -201,10 +201,10 @@ public class PersonalizeActionsIT extends AbstractZeppelinIT {
createNewNote();
}
String noteId = driver.getCurrentUrl().substring(driver.getCurrentUrl().lastIndexOf("/") + 1);
- setTextOfParagraph(1, "print(s\"\"\"%table\\n" +
- "name\\tsize\\n" +
- "sun\\t100\\n" +
- "moon\\t10\"\"\")");
+ setTextOfParagraph(1, "%python print(\"%table " +
+ "name\\\\tsize\\\\n" +
+ "sun\\\\t100\\\\n" +
+ "moon\\\\t10\")");
runParagraph(1);
try {
@@ -215,6 +215,11 @@ public class PersonalizeActionsIT extends AbstractZeppelinIT {
"ERROR", CoreMatchers.equalTo("FINISHED"));
}
+ pollingWait(By.xpath("//*[@id='actionbar']" +
+ "//button[contains(@uib-tooltip, 'Switch to personal mode')]"), MAX_BROWSER_TIMEOUT_SEC).click();
+ clickAndWait(By.xpath("//div[@class='modal-dialog'][contains(.,'Do you want to personalize your analysis?')" +
+ "]//div[@class='modal-footer']//button[contains(.,'OK')]"));
+
pollingWait(By.xpath(getParagraphXPath(1) +
"//button[contains(@uib-tooltip, 'Bar Chart')]"), MAX_BROWSER_TIMEOUT_SEC).click();
collector.checkThat("The output of graph mode is changed",
@@ -222,11 +227,8 @@ public class PersonalizeActionsIT extends AbstractZeppelinIT {
"'btn btn-default btn-sm ng-binding ng-scope active')]//i")).getAttribute("class"),
CoreMatchers.equalTo("fa fa-bar-chart"));
- pollingWait(By.xpath("//*[@id='actionbar']" +
- "//button[contains(@uib-tooltip, 'Switch to personal mode')]"), MAX_BROWSER_TIMEOUT_SEC).click();
- clickAndWait(By.xpath("//div[@class='modal-dialog'][contains(.,'Do you want to personalize your analysis?')" +
- "]//div[@class='modal-footer']//button[contains(.,'OK')]"));
authenticationIT.logoutUser("admin");
+ driver.navigate().refresh();
// step 2 : (user1) make sure it is on personalized mode and active graph is 'Bar chart',
// try to change active graph to 'Table' and then check result
@@ -249,12 +251,28 @@ public class PersonalizeActionsIT extends AbstractZeppelinIT {
pollingWait(By.xpath(getParagraphXPath(1) +
"//button[contains(@uib-tooltip, 'Table')]"), MAX_BROWSER_TIMEOUT_SEC).click();
- collector.checkThat("The output of graph mode is not changed",
+ collector.checkThat("Change to table",
driver.findElement(By.xpath(getParagraphXPath(1) + "//button[contains(@class," +
"'btn btn-default btn-sm ng-binding ng-scope active')]//i")).getAttribute("class"),
- CoreMatchers.equalTo("fa fa-bar-chart"));
+ CoreMatchers.equalTo("fa fa-table"));
authenticationIT.logoutUser("user1");
+ driver.navigate().refresh();
+
+ // step 3: (admin) Admin view is still table because of it's personalized!
+ authenticationIT.authenticationUser("admin", "password1");
+ locator = By.xpath("//*[@id='notebook-names']//a[contains(@href, '" + noteId + "')]");
+ element = wait.until(ExpectedConditions.visibilityOfElementLocated(locator));
+ if (element.isDisplayed()) {
+ pollingWait(By.xpath("//*[@id='notebook-names']//a[contains(@href, '" + noteId + "')]"),
+ MAX_BROWSER_TIMEOUT_SEC).click();
+ }
+
+ collector.checkThat("Make sure the output of graph mode is",
+ driver.findElement(By.xpath(getParagraphXPath(1) + "//button[contains(@class," +
+ "'btn btn-default btn-sm ng-binding ng-scope active')]//i")).getAttribute("class"),
+ CoreMatchers.equalTo("fa fa-bar-chart"));
+ authenticationIT.logoutUser("admin");
} catch (Exception e) {
handleException("Exception in PersonalizeActionsIT while testGraphAction ", e);
}
diff --git a/zeppelin-web/src/app/notebook/notebook.controller.js b/zeppelin-web/src/app/notebook/notebook.controller.js
index 0515a85..9bd3333 100644
--- a/zeppelin-web/src/app/notebook/notebook.controller.js
+++ b/zeppelin-web/src/app/notebook/notebook.controller.js
@@ -237,7 +237,7 @@ function NotebookCtrl($scope, $route, $routeParams, $location, $rootScope,
};
$scope.isTrash = function(note) {
- return note ? note.path.split('/')[1] === TRASH_FOLDER_ID : false;
+ return note && note.path ? note.path.split('/')[1] === TRASH_FOLDER_ID : false;
};
// Export notebook