http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/com/webautomation/ScreenCaptureHtmlUnitDriver.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/com/webautomation/ScreenCaptureHtmlUnitDriver.java
 
b/zeppelin-server/src/test/java/com/webautomation/ScreenCaptureHtmlUnitDriver.java
deleted file mode 100644
index adad807..0000000
--- 
a/zeppelin-server/src/test/java/com/webautomation/ScreenCaptureHtmlUnitDriver.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * 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 com.webautomation;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.io.IOUtils;
-import org.openqa.selenium.Capabilities;
-import org.openqa.selenium.OutputType;
-import org.openqa.selenium.TakesScreenshot;
-import org.openqa.selenium.WebDriverException;
-import org.openqa.selenium.htmlunit.HtmlUnitDriver;
-import org.openqa.selenium.internal.Base64Encoder;
-import org.openqa.selenium.remote.CapabilityType;
-import org.openqa.selenium.remote.DesiredCapabilities;
-
-import com.gargoylesoftware.htmlunit.BrowserVersion;
-import com.gargoylesoftware.htmlunit.WebClient;
-import com.gargoylesoftware.htmlunit.WebRequest;
-import com.gargoylesoftware.htmlunit.WebWindow;
-import com.gargoylesoftware.htmlunit.html.HtmlElement;
-import com.gargoylesoftware.htmlunit.html.HtmlPage;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * from https://code.google.com/p/selenium/issues/detail?id=1361
- */
-public class ScreenCaptureHtmlUnitDriver extends HtmlUnitDriver implements 
TakesScreenshot {
-
-    private static Map<String, byte[]> imagesCache = 
Collections.synchronizedMap(new HashMap<String, byte[]>());
-
-    private static Map<String, String> cssjsCache = 
Collections.synchronizedMap(new HashMap<String, String>());
-
-    // 
http://stackoverflow.com/questions/4652777/java-regex-to-get-the-urls-from-css
-    private final static Pattern cssUrlPattern = 
Pattern.compile("background(-image)?[\\s]*:[^url]*url[\\s]*\\([\\s]*([^\\)]*)[\\s]*\\)[\\s]*");//
 ?<url>
-
-    static Logger LOGGER = 
LoggerFactory.getLogger(ScreenCaptureHtmlUnitDriver.class);
-
-    public ScreenCaptureHtmlUnitDriver() {
-        super();
-    }
-
-    public ScreenCaptureHtmlUnitDriver(boolean enableJavascript) {
-        super(enableJavascript);
-    }
-
-    public ScreenCaptureHtmlUnitDriver(Capabilities capabilities) {
-        super(capabilities);
-    }
-
-    public ScreenCaptureHtmlUnitDriver(BrowserVersion version) {
-        super(version);
-        DesiredCapabilities var = ((DesiredCapabilities) getCapabilities());
-        var.setCapability(CapabilityType.TAKES_SCREENSHOT, true);
-    }
-
-    @Override
-    @SuppressWarnings("unchecked")
-    public <X> X getScreenshotAs(OutputType<X> target) throws 
WebDriverException {
-        byte[] archive = new byte[0];
-        try {
-            archive = downloadCssAndImages(getWebClient(), (HtmlPage) 
getCurrentWindow().getEnclosedPage());
-        } catch (Exception e) {
-            LOGGER.error("Exception in ScreenCaptureHtmlUnitDriver while 
getScreenshotAs ", e);
-        }
-        if(target.equals(OutputType.BASE64)){
-            return target.convertFromBase64Png(new 
Base64Encoder().encode(archive));
-        }
-        if(target.equals(OutputType.FILE)){
-            File f = new File("screen.tmp");
-            try {
-                FileOutputStream scr = new FileOutputStream(f);
-                scr.write(archive);
-                scr.close();
-            } catch (IOException e) {
-                throw new WebDriverException(e);
-            }
-            return (X) f;
-        }
-        return (X) archive;
-    }
-
-    // 
http://stackoverflow.com/questions/2244272/how-can-i-tell-htmlunits-webclient-to-download-images-and-css
-    protected byte[] downloadCssAndImages(WebClient webClient, HtmlPage page) 
throws Exception {
-        WebWindow currentWindow = webClient.getCurrentWindow();
-        Map<String, String> urlMapping = new HashMap<>();
-        Map<String, byte[]> files = new HashMap<>();
-        WebWindow window = null;
-        try {
-            window = 
webClient.getWebWindowByName(page.getUrl().toString()+"_screenshot");
-            webClient.getPage(window, new WebRequest(page.getUrl()));
-        } catch (Exception e) {
-            LOGGER.error("Exception in ScreenCaptureHtmlUnitDriver while 
downloadCssAndImages ", e);
-            window = webClient.openWindow(page.getUrl(), 
page.getUrl().toString()+"_screenshot");
-        }
-
-        String xPathExpression = "//*[name() = 'img' or name() = 'link' and 
(@type = 'text/css' or @type = 'image/x-icon') or  @type = 'text/javascript']";
-        List<?> resultList = page.getByXPath(xPathExpression);
-
-        Iterator<?> i = resultList.iterator();
-        while (i.hasNext()) {
-            try {
-                HtmlElement el = (HtmlElement) i.next();
-                String resourceSourcePath = el.getAttribute("src").equals("") 
? el.getAttribute("href") : el
-                        .getAttribute("src");
-                if (resourceSourcePath == null || 
resourceSourcePath.equals(""))
-                    continue;
-                URL resourceRemoteLink = 
page.getFullyQualifiedUrl(resourceSourcePath);
-                String resourceLocalPath = mapLocalUrl(page, 
resourceRemoteLink, resourceSourcePath, urlMapping);
-                urlMapping.put(resourceSourcePath, resourceLocalPath);
-                if (!resourceRemoteLink.toString().endsWith(".css")) {
-                    byte[] image = downloadImage(webClient, window, 
resourceRemoteLink);
-                    files.put(resourceLocalPath, image);
-                } else {
-                    String css = downloadCss(webClient, window, 
resourceRemoteLink);
-                    for (String cssImagePath : getLinksFromCss(css)) {
-                        URL cssImagelink = 
page.getFullyQualifiedUrl(cssImagePath.replace("\"", "").replace("\'", "")
-                                .replace(" ", ""));
-                        String cssImageLocalPath = mapLocalUrl(page, 
cssImagelink, cssImagePath, urlMapping);
-                        files.put(cssImageLocalPath, downloadImage(webClient, 
window, cssImagelink));
-                    }
-                    files.put(resourceLocalPath, 
replaceRemoteUrlsWithLocal(css, urlMapping)
-                            .replace("resources/", "./").getBytes());
-                }
-            } catch (Exception e) {
-                LOGGER.error("Exception in ScreenCaptureHtmlUnitDriver while 
resultList.iterator ", e);
-            }
-        }
-        String pagesrc = 
replaceRemoteUrlsWithLocal(page.getWebResponse().getContentAsString(), 
urlMapping);
-        files.put("page.html", pagesrc.getBytes());
-        webClient.setCurrentWindow(currentWindow);
-        return createZip(files);
-    }
-
-    String downloadCss(WebClient webClient, WebWindow window, URL resourceUrl) 
throws Exception {
-        if (cssjsCache.get(resourceUrl.toString()) == null) {
-            cssjsCache.put(resourceUrl.toString(), webClient.getPage(window, 
new WebRequest(resourceUrl))
-                    .getWebResponse().getContentAsString());
-
-        }
-        return cssjsCache.get(resourceUrl.toString());
-    }
-
-    byte[] downloadImage(WebClient webClient, WebWindow window, URL 
resourceUrl) throws Exception {
-        if (imagesCache.get(resourceUrl.toString()) == null) {
-            imagesCache.put(
-                    resourceUrl.toString(),
-                    IOUtils.toByteArray(webClient.getPage(window, new 
WebRequest(resourceUrl)).getWebResponse()
-                            .getContentAsStream()));
-        }
-        return imagesCache.get(resourceUrl.toString());
-    }
-
-    public static byte[] createZip(Map<String, byte[]> files) throws 
IOException {
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        ZipOutputStream zipfile = new ZipOutputStream(bos);
-        Iterator<String> i = files.keySet().iterator();
-        String fileName = null;
-        ZipEntry zipentry = null;
-        while (i.hasNext()) {
-            fileName = i.next();
-            zipentry = new ZipEntry(fileName);
-            zipfile.putNextEntry(zipentry);
-            zipfile.write(files.get(fileName));
-        }
-        zipfile.close();
-        return bos.toByteArray();
-    }
-
-    List<String> getLinksFromCss(String css) {
-        List<String> result = new LinkedList<>();
-        Matcher m = cssUrlPattern.matcher(css);
-        while (m.find()) { // find next match
-            result.add( m.group(2));
-        }
-        return result;
-    }
-
-    String replaceRemoteUrlsWithLocal(String source, Map<String, String> 
replacement) {
-        for (String object : replacement.keySet()) {
-            // background:url(http://org.com/images/image.gif)
-            source = source.replace(object, replacement.get(object));
-        }
-        return source;
-    }
-
-    String mapLocalUrl(HtmlPage page, URL link, String path, Map<String, 
String> replacementToAdd) throws Exception {
-        String resultingFileName = "resources/" + 
FilenameUtils.getName(link.getFile());
-        replacementToAdd.put(path, resultingFileName);
-        return resultingFileName;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java 
b/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
deleted file mode 100644
index d2b38ea..0000000
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/AbstractZeppelinIT.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * 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.zeppelin;
-
-
-import com.google.common.base.Function;
-import org.apache.commons.codec.binary.Base64;
-import org.apache.commons.io.FileUtils;
-import org.openqa.selenium.*;
-import org.openqa.selenium.logging.LogEntries;
-import org.openqa.selenium.logging.LogEntry;
-import org.openqa.selenium.logging.LogType;
-import org.openqa.selenium.support.ui.ExpectedConditions;
-import org.openqa.selenium.support.ui.FluentWait;
-import org.openqa.selenium.support.ui.Wait;
-import org.openqa.selenium.support.ui.WebDriverWait;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.util.Date;
-import java.util.concurrent.TimeUnit;
-
-abstract public class AbstractZeppelinIT {
-  protected static WebDriver driver;
-
-  protected final static Logger LOG = 
LoggerFactory.getLogger(AbstractZeppelinIT.class);
-  protected static final long MIN_IMPLICIT_WAIT = 5;
-  protected static final long MAX_IMPLICIT_WAIT = 30;
-  protected static final long MAX_BROWSER_TIMEOUT_SEC = 30;
-  protected static final long MAX_PARAGRAPH_TIMEOUT_SEC = 120;
-
-  protected void setTextOfParagraph(int paragraphNo, String text) {
-    String editorId = 
driver.findElement(By.xpath(getParagraphXPath(paragraphNo) + 
"//div[contains(@class, 'editor')]")).getAttribute("id");
-    if (driver instanceof JavascriptExecutor) {
-      ((JavascriptExecutor) driver).executeScript("ace.edit('" + editorId + 
"'). setValue('" + text + "')");
-    } else {
-      throw new IllegalStateException("This driver does not support 
JavaScript!");
-    }
-  }
-
-  protected void runParagraph(int paragraphNo) {
-    driver.findElement(By.xpath(getParagraphXPath(paragraphNo) + 
"//span[@class='icon-control-play']")).click();
-  }
-
-
-  protected String getParagraphXPath(int paragraphNo) {
-    return "(//div[@ng-controller=\"ParagraphCtrl\"])[" + paragraphNo + "]";
-  }
-
-  protected String getNoteFormsXPath() {
-    return "(//div[@id='noteForms'])";
-  }
-
-  protected boolean waitForParagraph(final int paragraphNo, final String 
state) {
-    By locator = By.xpath(getParagraphXPath(paragraphNo)
-        + "//div[contains(@class, 'control')]//span[2][contains(.,'" + state + 
"')]");
-    WebElement element = pollingWait(locator, MAX_PARAGRAPH_TIMEOUT_SEC);
-    return element.isDisplayed();
-  }
-
-  protected String getParagraphStatus(final int paragraphNo) {
-    By locator = By.xpath(getParagraphXPath(paragraphNo)
-        + "//div[contains(@class, 'control')]/span[2]");
-
-    return driver.findElement(locator).getText();
-  }
-
-  protected boolean waitForText(final String txt, final By locator) {
-    try {
-      WebElement element = pollingWait(locator, MAX_BROWSER_TIMEOUT_SEC);
-      return txt.equals(element.getText());
-    } catch (TimeoutException e) {
-      return false;
-    }
-  }
-
-  protected WebElement pollingWait(final By locator, final long timeWait) {
-    Wait<WebDriver> wait = new FluentWait<>(driver)
-        .withTimeout(timeWait, TimeUnit.SECONDS)
-        .pollingEvery(1, TimeUnit.SECONDS)
-        .ignoring(NoSuchElementException.class);
-
-    return wait.until(new Function<WebDriver, WebElement>() {
-      public WebElement apply(WebDriver driver) {
-        return driver.findElement(locator);
-      }
-    });
-  }
-
-  protected static boolean endToEndTestEnabled() {
-    return null != System.getenv("TEST_SELENIUM");
-  }
-
-  protected void createNewNote() {
-    clickAndWait(By.xpath("//div[contains(@class, 
\"col-md-4\")]/div/h5/a[contains(.,'Create new" +
-        " note')]"));
-
-    WebDriverWait block = new WebDriverWait(driver, MAX_BROWSER_TIMEOUT_SEC);
-    
block.until(ExpectedConditions.visibilityOfElementLocated(By.id("noteCreateModal")));
-    clickAndWait(By.id("createNoteButton"));
-    
block.until(ExpectedConditions.invisibilityOfElementLocated(By.className("pull-right")));
-  }
-
-  protected void deleteTestNotebook(final WebDriver driver) {
-    WebDriverWait block = new WebDriverWait(driver, MAX_BROWSER_TIMEOUT_SEC);
-    
driver.findElement(By.xpath(".//*[@id='main']//button[@ng-click='moveNoteToTrash(note.id)']"))
-        .sendKeys(Keys.ENTER);
-    
block.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//*[@id='main']//button[@ng-click='moveNoteToTrash(note.id)']")));
-    driver.findElement(By.xpath("//div[@class='modal-dialog'][contains(.,'This 
note will be moved to trash')]" +
-        "//div[@class='modal-footer']//button[contains(.,'OK')]")).click();
-    ZeppelinITUtils.sleep(100, true);
-  }
-
-  protected void clickAndWait(final By locator) {
-    pollingWait(locator, MAX_IMPLICIT_WAIT).click();
-    ZeppelinITUtils.sleep(1000, true);
-  }
-
-  protected void handleException(String message, Exception e) throws Exception 
{
-    LOG.error(message, e);
-    LogEntries logEntries = driver.manage().logs().get(LogType.BROWSER);
-    for (LogEntry entry : logEntries) {
-      LOG.error(new Date(entry.getTimestamp()) + " " + entry.getLevel() + " " 
+ entry.getMessage());
-    }
-    File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
-    LOG.error("ScreenShot::\ndata:image/png;base64," + new 
String(Base64.encodeBase64(FileUtils.readFileToByteArray(scrFile))));
-    throw e;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/CommandExecutor.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/CommandExecutor.java 
b/zeppelin-server/src/test/java/org/apache/zeppelin/CommandExecutor.java
deleted file mode 100644
index 6a55f3e..0000000
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/CommandExecutor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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.zeppelin;
-
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-public class CommandExecutor {
-
-  public final static Logger LOG = 
LoggerFactory.getLogger(CommandExecutor.class);
-
-  public enum IGNORE_ERRORS {
-    TRUE,
-    FALSE
-  }
-
-  public static int NORMAL_EXIT = 0;
-
-  private static IGNORE_ERRORS DEFAULT_BEHAVIOUR_ON_ERRORS = 
IGNORE_ERRORS.TRUE;
-
-  public static Object executeCommandLocalHost(String[] command, boolean 
printToConsole, ProcessData.Types_Of_Data type, IGNORE_ERRORS ignore_errors) {
-    List<String> subCommandsAsList = new ArrayList<>(Arrays.asList(command));
-    String mergedCommand = StringUtils.join(subCommandsAsList, " ");
-
-    LOG.info("Sending command \"" + mergedCommand + "\" to localhost");
-
-    ProcessBuilder processBuilder = new ProcessBuilder(command);
-    Process process = null;
-    try {
-      process = processBuilder.start();
-    } catch (IOException e) {
-      throw new RuntimeException(e);
-    }
-
-    ProcessData data_of_process = new ProcessData(process, printToConsole);
-    Object output_of_process = data_of_process.getData(type);
-    int exit_code = data_of_process.getExitCodeValue();
-
-    if (!printToConsole)
-      LOG.trace(output_of_process.toString());
-    else
-      LOG.debug(output_of_process.toString());
-    if (ignore_errors == IGNORE_ERRORS.FALSE && exit_code != NORMAL_EXIT) {
-      LOG.error(String.format("*********************Command '%s' failed with 
exitcode %s *********************", mergedCommand, exit_code));
-    }
-    return output_of_process;
-  }
-
-  public static Object executeCommandLocalHost(String command, boolean 
printToConsole, ProcessData.Types_Of_Data type) {
-    return executeCommandLocalHost(new String[]{"bash", "-c", command}, 
printToConsole, type, DEFAULT_BEHAVIOUR_ON_ERRORS);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/ProcessData.java
----------------------------------------------------------------------
diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/ProcessData.java 
b/zeppelin-server/src/test/java/org/apache/zeppelin/ProcessData.java
deleted file mode 100644
index 83f5f4c..0000000
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/ProcessData.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * 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.zeppelin;
-
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.util.concurrent.TimeUnit;
-
-public class ProcessData {
-  public enum Types_Of_Data {
-    OUTPUT,
-    ERROR,
-    EXIT_CODE,
-    STREAMS_MERGED,
-    PROCESS_DATA_OBJECT
-  }
-
-  public final static Logger LOG = LoggerFactory.getLogger(ProcessData.class);
-
-  private Process checked_process;
-  private boolean printToConsole = false;
-  private boolean removeRedundantOutput = true;
-
-  public ProcessData(Process connected_process, boolean printToConsole, int 
silenceTimeout, TimeUnit timeUnit) {
-    this.checked_process = connected_process;
-    this.printToConsole = printToConsole;
-    this.silenceTimeout = TimeUnit.MILLISECONDS.convert(silenceTimeout, 
timeUnit);
-  }
-
-  public ProcessData(Process connected_process, boolean printToConsole, int 
silenceTimeoutSec) {
-    this.checked_process = connected_process;
-    this.printToConsole = printToConsole;
-    this.silenceTimeout = TimeUnit.MILLISECONDS.convert(silenceTimeoutSec, 
TimeUnit.SECONDS);
-  }
-
-  public ProcessData(Process connected_process, boolean printToConsole) {
-    this.checked_process = connected_process;
-    this.printToConsole = printToConsole;
-  }
-
-  public ProcessData(Process connected_process) {
-    this.checked_process = connected_process;
-    this.printToConsole = true;
-  }
-
-
-  boolean returnCodeRetrieved = false;
-
-  private String outPutStream = null;
-  private String errorStream = null;
-  private int returnCode;
-  private long silenceTimeout = 10 * 60 * 1000;
-  private final long unconditionalExitDelayMinutes = 30;
-
-  public static boolean isRunning(Process process) {
-    try {
-      process.exitValue();
-      return false;
-    } catch (IllegalThreadStateException e) {
-      return true;
-    }
-  }
-
-  public Object getData(Types_Of_Data type) {
-    //TODO get rid of Pseudo-terminal will not be allocated because stdin is 
not a terminal.
-    switch (type) {
-      case OUTPUT: {
-        return this.getOutPutStream();
-      }
-      case ERROR: {
-        return this.getErrorStream();
-      }
-      case EXIT_CODE: {
-        return this.getExitCodeValue();
-      }
-      case STREAMS_MERGED: {
-        return this.getOutPutStream() + "\n" + this.getErrorStream();
-      }
-      case PROCESS_DATA_OBJECT: {
-        this.getErrorStream();
-        return this;
-      }
-      default: {
-        throw new IllegalArgumentException("Data Type " + type + " not 
supported yet!");
-      }
-    }
-  }
-
-  public int getExitCodeValue() {
-    try {
-      if (!returnCodeRetrieved) {
-        this.checked_process.waitFor();
-        this.returnCode = this.checked_process.exitValue();
-        this.returnCodeRetrieved = true;
-        this.checked_process.destroy();
-      }
-    } catch (Exception inter) {
-      throw new RuntimeException("Couldn't finish waiting for process " + 
this.checked_process + " termination", inter);
-    }
-    return this.returnCode;
-  }
-
-  public String getOutPutStream() {
-    if (this.outPutStream == null) {
-      try {
-        buildOutputAndErrorStreamData();
-      } catch (Exception e) {
-        throw new RuntimeException("Couldn't retrieve Output Stream data from 
process: " + this.checked_process.toString(), e);
-
-      }
-    }
-    this.outPutStream = this.outPutStream.replace("Pseudo-terminal will not be 
allocated because stdin is not a terminal.", "");
-    this.errorStream = this.errorStream.replace("Pseudo-terminal will not be 
allocated because stdin is not a terminal.", "");
-    return this.outPutStream;
-  }
-
-  public String getErrorStream() {
-    if (this.errorStream == null) {
-      try {
-        buildOutputAndErrorStreamData();
-      } catch (Exception e) {
-        throw new RuntimeException("Couldn't retrieve Error Stream data from 
process: " + this.checked_process.toString(), e);
-
-      }
-    }
-    this.outPutStream = this.outPutStream.replace("Pseudo-terminal will not be 
allocated because stdin is not a terminal.", "");
-    this.errorStream = this.errorStream.replace("Pseudo-terminal will not be 
allocated because stdin is not a terminal.", "");
-    return this.errorStream;
-  }
-
-  public String toString() {
-    StringBuilder result = new StringBuilder();
-    result.append(String.format("[OUTPUT STREAM]\n%s\n", this.outPutStream));
-    result.append(String.format("[ERROR STREAM]\n%s\n", this.errorStream));
-    result.append(String.format("[EXIT CODE]\n%d", this.returnCode));
-    return result.toString();
-  }
-
-  private void buildOutputAndErrorStreamData() throws IOException {
-    StringBuilder sbInStream = new StringBuilder();
-    StringBuilder sbErrorStream = new StringBuilder();
-
-    try {
-      InputStream in = this.checked_process.getInputStream();
-      InputStream inErrors = this.checked_process.getErrorStream();
-      BufferedReader inReader = new BufferedReader(new InputStreamReader(in));
-      BufferedReader inReaderErrors = new BufferedReader(new 
InputStreamReader(inErrors));
-      LOG.trace("Started retrieving data from streams of attached process: " + 
this.checked_process);
-
-      long lastStreamDataTime = System.currentTimeMillis();   //Store start 
time to be able to finish method if command hangs
-      long unconditionalExitTime = System.currentTimeMillis() + 
TimeUnit.MILLISECONDS.convert(unconditionalExitDelayMinutes, TimeUnit.MINUTES); 
// Stop after 'unconditionalExitDelayMinutes' even if process is alive and 
sending output
-      final int BUFFER_LEN = 300;
-      char charBuffer[] = new char[BUFFER_LEN];     //Use char buffer to read 
output, size can be tuned.
-      boolean outputProduced = true;                //Flag to check if 
previous iteration produced any output
-      while (isRunning(this.checked_process) || outputProduced) {   //Continue 
if process is alive or some output was produced on previous iteration and there 
may be still some data to read.
-        outputProduced = false;
-        ZeppelinITUtils.sleep(100, false);                                  
//Some local commands can exit fast, but immediate stream reading will give no 
output and after iteration, 'while' condition will be false so we will not read 
out any output while it is still there, just need to wait for some time for it 
to appear in streams.
-
-        StringBuilder tempSB = new StringBuilder();
-        while (inReader.ready()) {
-          tempSB.setLength(0);                                // clean 
temporary StringBuilder
-          int readCount = inReader.read(charBuffer, 0, BUFFER_LEN); //read up 
to 'BUFFER_LEN' chars to buffer
-          if (readCount < 1) {                                     // if 
nothing read or error occurred
-            break;
-          }
-          tempSB.append(charBuffer, 0, readCount);
-
-          sbInStream.append(tempSB);
-          if (tempSB.length() > 0) {
-            outputProduced = true;                                //set flag 
to know that we read something and there may be moire data, even if process 
already exited
-          }
-
-          lastStreamDataTime = System.currentTimeMillis();        //remember 
last time data was read from streams to be sure we are not looping infinitely
-        }
-
-        tempSB = new StringBuilder();                               //Same, 
but for error stream
-        while (inReaderErrors.ready()) {
-          tempSB.setLength(0);
-          int readCount = inReaderErrors.read(charBuffer, 0, BUFFER_LEN);
-          if (readCount < 1) {
-            break;
-          }
-          tempSB.append(charBuffer, 0, readCount);
-          sbErrorStream.append(tempSB);
-          if (tempSB.length() > 0) {
-            outputProduced = true;
-            String temp = new String(tempSB);
-            temp = temp.replaceAll("Pseudo-terminal will not be allocated 
because stdin is not a terminal.", "");
-            //TODO : error stream output need to be improved, because it 
outputs downloading information.
-            if (printToConsole) {
-              if (!temp.trim().equals("")) {
-                if (temp.toLowerCase().contains("error") || 
temp.toLowerCase().contains("failed")) {
-                  LOG.warn(temp.trim());
-                } else {
-                  LOG.debug(temp.trim());
-                }
-              }
-            }
-          }
-          lastStreamDataTime = System.currentTimeMillis();
-        }
-
-
-        if ((System.currentTimeMillis() - lastStreamDataTime > silenceTimeout) 
||     //Exit if silenceTimeout ms has passed from last stream read. Means 
process is alive but not sending any data.
-            (System.currentTimeMillis() > unconditionalExitTime)) {            
        //Exit unconditionally - guards against alive process continuously 
sending data.
-          LOG.info("Conditions: " + (System.currentTimeMillis() - 
lastStreamDataTime > silenceTimeout) + " " +
-              (System.currentTimeMillis() > unconditionalExitTime));
-          this.checked_process.destroy();
-          try {
-            if ((System.currentTimeMillis() > unconditionalExitTime))
-              LOG.error("!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Unconditional 
exit occured@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!\nsome process hag up for more 
than " + unconditionalExitDelayMinutes + " minutes.");
-            LOG.error("!##################################!");
-            StringWriter sw = new StringWriter();
-            new Exception("Exited from buildOutputAndErrorStreamData by 
timeout").printStackTrace(new PrintWriter(sw)); //Get stack trace
-            String exceptionAsString = sw.toString();
-            LOG.error(exceptionAsString);
-          } catch (Exception ignore) {
-            LOG.info("Exception in ProcessData while 
buildOutputAndErrorStreamData ", ignore);
-          }
-          break;
-        }
-      }
-
-      in.close();
-      inErrors.close();
-    } finally {
-      this.outPutStream = sbInStream.toString();
-      this.errorStream = sbErrorStream.toString();
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/WebDriverManager.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/WebDriverManager.java 
b/zeppelin-server/src/test/java/org/apache/zeppelin/WebDriverManager.java
deleted file mode 100644
index 82dc9cc..0000000
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/WebDriverManager.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * 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.zeppelin;
-
-import org.apache.commons.io.FileUtils;
-import org.openqa.selenium.By;
-import org.openqa.selenium.TimeoutException;
-import org.openqa.selenium.WebDriver;
-import org.openqa.selenium.chrome.ChromeDriver;
-import org.openqa.selenium.firefox.FirefoxBinary;
-import org.openqa.selenium.firefox.FirefoxDriver;
-import org.openqa.selenium.firefox.FirefoxProfile;
-import org.openqa.selenium.safari.SafariDriver;
-import org.openqa.selenium.support.ui.ExpectedCondition;
-import org.openqa.selenium.support.ui.WebDriverWait;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.concurrent.TimeUnit;
-
-import static org.junit.Assert.fail;
-
-
-public class WebDriverManager {
-
-  public final static Logger LOG = 
LoggerFactory.getLogger(WebDriverManager.class);
-
-  private static String downLoadsDir = "";
-
-  public static WebDriver getWebDriver() {
-    WebDriver driver = null;
-
-    if (driver == null) {
-      try {
-        FirefoxBinary ffox = new FirefoxBinary();
-        if ("true".equals(System.getenv("TRAVIS"))) {
-          ffox.setEnvironmentProperty("DISPLAY", ":99"); // xvfb is supposed to
-          // run with DISPLAY 99
-        }
-        int firefoxVersion = WebDriverManager.getFirefoxVersion();
-        LOG.info("Firefox version " + firefoxVersion + " detected");
-
-        downLoadsDir = FileUtils.getTempDirectory().toString();
-
-        String tempPath = downLoadsDir + "/firebug/";
-
-        downloadFireBug(firefoxVersion, tempPath);
-
-        final String firebugPath = tempPath + "firebug.xpi";
-        final String firepathPath = tempPath + "firepath.xpi";
-
-        FirefoxProfile profile = new FirefoxProfile();
-        profile.setPreference("browser.download.folderList", 2);
-        profile.setPreference("browser.download.dir", downLoadsDir);
-        profile.setPreference("browser.helperApps.alwaysAsk.force", false);
-        profile.setPreference("browser.download.manager.showWhenStarting", 
false);
-        profile.setPreference("browser.download.manager.showAlertOnComplete", 
false);
-        profile.setPreference("browser.download.manager.closeWhenDone", true);
-        profile.setPreference("app.update.auto", false);
-        profile.setPreference("app.update.enabled", false);
-        profile.setPreference("dom.max_script_run_time", 0);
-        profile.setPreference("dom.max_chrome_script_run_time", 0);
-        profile.setPreference("browser.helperApps.neverAsk.saveToDisk", 
"application/x-ustar,application/octet-stream,application/zip,text/csv,text/plain");
-        profile.setPreference("network.proxy.type", 0);
-
-        // Commenting out installing extensions. See ZEPPELIN-2962.
-        // profile.addExtension(new File(firebugPath));
-        // profile.addExtension(new File(firepathPath));
-
-        driver = new FirefoxDriver(ffox, profile);
-      } catch (Exception e) {
-        LOG.error("Exception in WebDriverManager while FireFox Driver ", e);
-      }
-    }
-
-    if (driver == null) {
-      try {
-        driver = new ChromeDriver();
-      } catch (Exception e) {
-        LOG.error("Exception in WebDriverManager while ChromeDriver ", e);
-      }
-    }
-
-    if (driver == null) {
-      try {
-        driver = new SafariDriver();
-      } catch (Exception e) {
-        LOG.error("Exception in WebDriverManager while SafariDriver ", e);
-      }
-    }
-
-    String url;
-    if (System.getenv("url") != null) {
-      url = System.getenv("url");
-    } else {
-      url = "http://localhost:8080";;
-    }
-
-    long start = System.currentTimeMillis();
-    boolean loaded = false;
-    
driver.manage().timeouts().implicitlyWait(AbstractZeppelinIT.MAX_IMPLICIT_WAIT,
-        TimeUnit.SECONDS);
-    driver.get(url);
-
-    while (System.currentTimeMillis() - start < 60 * 1000) {
-      // wait for page load
-      try {
-        (new WebDriverWait(driver, 30)).until(new ExpectedCondition<Boolean>() 
{
-          @Override
-          public Boolean apply(WebDriver d) {
-            return d.findElement(By.xpath("//i[@uib-tooltip='WebSocket 
Connected']"))
-                .isDisplayed();
-          }
-        });
-        loaded = true;
-        break;
-      } catch (TimeoutException e) {
-        LOG.info("Exception in WebDriverManager while WebDriverWait ", e);
-        driver.navigate().to(url);
-      }
-    }
-
-    if (loaded == false) {
-      fail();
-    }
-
-    driver.manage().window().maximize();
-    return driver;
-  }
-
-  private static void downloadFireBug(int firefoxVersion, String tempPath) {
-    String firebugUrlString = null;
-    if (firefoxVersion < 23)
-      firebugUrlString = 
"http://getfirebug.com/releases/firebug/1.11/firebug-1.11.4.xpi";;
-    else if (firefoxVersion >= 23 && firefoxVersion < 30)
-      firebugUrlString = 
"http://getfirebug.com/releases/firebug/1.12/firebug-1.12.8.xpi";;
-    else if (firefoxVersion >= 30 && firefoxVersion < 33)
-      firebugUrlString = 
"http://getfirebug.com/releases/firebug/2.0/firebug-2.0.7.xpi";;
-    else if (firefoxVersion >= 33)
-      firebugUrlString = 
"http://getfirebug.com/releases/firebug/2.0/firebug-2.0.17.xpi";;
-
-
-    LOG.info("firebug version: " + firefoxVersion + ", will be downloaded to " 
+ tempPath);
-    try {
-      File firebugFile = new File(tempPath + "firebug.xpi");
-      URL firebugUrl = new URL(firebugUrlString);
-      if (!firebugFile.exists()) {
-        FileUtils.copyURLToFile(firebugUrl, firebugFile);
-      }
-
-
-      File firepathFile = new File(tempPath + "firepath.xpi");
-      URL firepathUrl = new 
URL("https://addons.cdn.mozilla.net/user-media/addons/11900/firepath-0.9.7.1-fx.xpi";);
-      if (!firepathFile.exists()) {
-        FileUtils.copyURLToFile(firepathUrl, firepathFile);
-      }
-
-    } catch (IOException e) {
-      LOG.error("Download of firebug version: " + firefoxVersion + ", falied 
in path " + tempPath);
-    }
-    LOG.info("Download of firebug version: " + firefoxVersion + ", 
successful");
-  }
-
-  public static int getFirefoxVersion() {
-    try {
-      String firefoxVersionCmd = "firefox -v";
-      if (System.getProperty("os.name").startsWith("Mac OS")) {
-        firefoxVersionCmd = "/Applications/Firefox.app/Contents/MacOS/" + 
firefoxVersionCmd;
-      }
-      String versionString = (String) 
CommandExecutor.executeCommandLocalHost(firefoxVersionCmd, false, 
ProcessData.Types_Of_Data.OUTPUT);
-      return Integer.valueOf(versionString.replaceAll("Mozilla Firefox", 
"").trim().substring(0, 2));
-    } catch (Exception e) {
-      LOG.error("Exception in WebDriverManager while getWebDriver ", e);
-      return -1;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/ZeppelinITUtils.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/ZeppelinITUtils.java 
b/zeppelin-server/src/test/java/org/apache/zeppelin/ZeppelinITUtils.java
index 402a18d..74ae495 100644
--- a/zeppelin-server/src/test/java/org/apache/zeppelin/ZeppelinITUtils.java
+++ b/zeppelin-server/src/test/java/org/apache/zeppelin/ZeppelinITUtils.java
@@ -41,20 +41,4 @@ public class ZeppelinITUtils {
       LOG.info("Finished.");
     }
   }
-
-  public static void restartZeppelin() {
-    CommandExecutor.executeCommandLocalHost("../bin/zeppelin-daemon.sh 
restart",
-        false, ProcessData.Types_Of_Data.OUTPUT);
-    //wait for server to start.
-    sleep(5000, false);
-  }
-
-  public static void turnOffImplicitWaits(WebDriver driver) {
-    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
-  }
-
-  public static void turnOnImplicitWaits(WebDriver driver) {
-    
driver.manage().timeouts().implicitlyWait(AbstractZeppelinIT.MAX_IMPLICIT_WAIT,
-        TimeUnit.SECONDS);
-  }
 }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
deleted file mode 100644
index 3d1406a..0000000
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/AuthenticationIT.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * 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.zeppelin.integration;
-
-import static org.junit.Assert.assertTrue;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.zeppelin.AbstractZeppelinIT;
-import org.apache.zeppelin.WebDriverManager;
-import org.apache.zeppelin.ZeppelinITUtils;
-import org.apache.zeppelin.conf.ZeppelinConfiguration;
-import org.hamcrest.CoreMatchers;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ErrorCollector;
-import org.openqa.selenium.By;
-import org.openqa.selenium.Keys;
-import org.openqa.selenium.TimeoutException;
-import org.openqa.selenium.WebElement;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * Created for org.apache.zeppelin.integration on 13/06/16.
- */
-public class AuthenticationIT extends AbstractZeppelinIT {
-  private static final Logger LOG = 
LoggerFactory.getLogger(AuthenticationIT.class);
-
-  @Rule
-  public ErrorCollector collector = new ErrorCollector();
-  static String shiroPath;
-  static String authShiro = "[users]\n" +
-      "admin = password1, admin\n" +
-      "finance1 = finance1, finance\n" +
-      "finance2 = finance2, finance\n" +
-      "hr1 = hr1, hr\n" +
-      "hr2 = hr2, hr\n" +
-      "[main]\n" +
-      "sessionManager = 
org.apache.shiro.web.session.mgt.DefaultWebSessionManager\n" +
-      "securityManager.sessionManager = $sessionManager\n" +
-      "securityManager.sessionManager.globalSessionTimeout = 86400000\n" +
-      "shiro.loginUrl = /api/login\n" +
-      "anyofroles = org.apache.zeppelin.utils.AnyOfRolesAuthorizationFilter\n" 
+
-      "[roles]\n" +
-      "admin = *\n" +
-      "hr = *\n" +
-      "finance = *\n" +
-      "[urls]\n" +
-      "/api/version = anon\n" +
-      "/api/interpreter/** = authc, anyofroles[admin, finance]\n" +
-      "/** = authc";
-
-  static String originalShiro = "";
-
-
-  @BeforeClass
-  public static void startUp() {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-
-    try {
-      
System.setProperty(ZeppelinConfiguration.ConfVars.ZEPPELIN_HOME.getVarName(), 
new File("../").getAbsolutePath());
-      ZeppelinConfiguration conf = ZeppelinConfiguration.create();
-      shiroPath = conf.getRelativeDir(String.format("%s/shiro.ini", 
conf.getConfDir()));
-      File file = new File(shiroPath);
-      if (file.exists()) {
-        originalShiro = StringUtils.join(FileUtils.readLines(file, "UTF-8"), 
"\n");
-      }
-      FileUtils.write(file, authShiro, "UTF-8");
-    } catch (IOException e) {
-      LOG.error("Error in AuthenticationIT startUp::", e);
-    }
-    ZeppelinITUtils.restartZeppelin();
-    driver = WebDriverManager.getWebDriver();
-  }
-
-
-  @AfterClass
-  public static void tearDown() {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    try {
-      if (!StringUtils.isBlank(shiroPath)) {
-        File file = new File(shiroPath);
-        if (StringUtils.isBlank(originalShiro)) {
-          FileUtils.deleteQuietly(file);
-        } else {
-          FileUtils.write(file, originalShiro, "UTF-8");
-        }
-      }
-    } catch (IOException e) {
-      LOG.error("Error in AuthenticationIT tearDown::", e);
-    }
-    ZeppelinITUtils.restartZeppelin();
-    driver.quit();
-  }
-
-  public void authenticationUser(String userName, String password) {
-    pollingWait(By.xpath(
-        "//div[contains(@class, 
'navbar-collapse')]//li//button[contains(.,'Login')]"),
-        MAX_BROWSER_TIMEOUT_SEC).click();
-    ZeppelinITUtils.sleep(1000, false);
-    pollingWait(By.xpath("//*[@id='userName']"), 
MAX_BROWSER_TIMEOUT_SEC).sendKeys(userName);
-    pollingWait(By.xpath("//*[@id='password']"), 
MAX_BROWSER_TIMEOUT_SEC).sendKeys(password);
-    
pollingWait(By.xpath("//*[@id='loginModalContent']//button[contains(.,'Login')]"),
-        MAX_BROWSER_TIMEOUT_SEC).click();
-    ZeppelinITUtils.sleep(1000, false);
-  }
-
-  private void testShowNotebookListOnNavbar() throws Exception {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    try {
-      pollingWait(By.xpath("//li[@class='dropdown notebook-list-dropdown']"),
-          MAX_BROWSER_TIMEOUT_SEC).click();
-      assertTrue(driver.findElements(By.xpath("//a[@class=\"notebook-list-item 
ng-scope\"]")).size() > 0);
-      pollingWait(By.xpath("//li[@class='dropdown notebook-list-dropdown']"),
-              MAX_BROWSER_TIMEOUT_SEC).click();
-      pollingWait(By.xpath("//li[@class='dropdown notebook-list-dropdown']"),
-              MAX_BROWSER_TIMEOUT_SEC).click();
-    } catch (Exception e) {
-      handleException("Exception in ParagraphActionsIT while 
testShowNotebookListOnNavbar ", e);
-    }
-  }
-
-  public void logoutUser(String userName) throws URISyntaxException {
-    ZeppelinITUtils.sleep(500, false);
-    driver.findElement(By.xpath("//div[contains(@class, 
'navbar-collapse')]//li[contains(.,'" +
-        userName + "')]")).click();
-    ZeppelinITUtils.sleep(500, false);
-    driver.findElement(By.xpath("//div[contains(@class, 
'navbar-collapse')]//li[contains(.,'" +
-        userName + "')]//a[@ng-click='navbar.logout()']")).click();
-    ZeppelinITUtils.sleep(2000, false);
-    if 
(driver.findElement(By.xpath("//*[@id='loginModal']//div[contains(@class, 
'modal-header')]/button"))
-        .isDisplayed()) {
-      driver.findElement(By.xpath("//*[@id='loginModal']//div[contains(@class, 
'modal-header')]/button")).click();
-    }
-    driver.get(new URI(driver.getCurrentUrl()).resolve("/#/").toString());
-    ZeppelinITUtils.sleep(500, false);
-  }
-
-  //  @Test
-  public void testSimpleAuthentication() throws Exception {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    try {
-      AuthenticationIT authenticationIT = new AuthenticationIT();
-      authenticationIT.authenticationUser("admin", "password1");
-
-      collector.checkThat("Check is user logged in", true,
-          CoreMatchers.equalTo(driver.findElement(By.partialLinkText("Create 
new note"))
-              .isDisplayed()));
-
-      authenticationIT.logoutUser("admin");
-    } catch (Exception e) {
-      handleException("Exception in AuthenticationIT while testCreateNewButton 
", e);
-    }
-  }
-
-  @Test
-  public void testAnyOfRoles() throws Exception {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    try {
-      AuthenticationIT authenticationIT = new AuthenticationIT();
-      authenticationIT.authenticationUser("admin", "password1");
-
-      pollingWait(By.xpath("//div/button[contains(@class, 'nav-btn 
dropdown-toggle ng-scope')]"),
-          MAX_BROWSER_TIMEOUT_SEC).click();
-      clickAndWait(By.xpath("//li/a[contains(@href, '#/interpreter')]"));
-
-      collector.checkThat("Check is user has permission to view this page", 
true,
-          CoreMatchers.equalTo(pollingWait(By.xpath(
-              "//div[@id='main']/div/div[2]"),
-              MIN_IMPLICIT_WAIT).isDisplayed())
-      );
-
-      authenticationIT.logoutUser("admin");
-
-      authenticationIT.authenticationUser("finance1", "finance1");
-
-      pollingWait(By.xpath("//div/button[contains(@class, 'nav-btn 
dropdown-toggle ng-scope')]"),
-          MAX_BROWSER_TIMEOUT_SEC).click();
-      clickAndWait(By.xpath("//li/a[contains(@href, '#/interpreter')]"));
-
-      collector.checkThat("Check is user has permission to view this page", 
true,
-          CoreMatchers.equalTo(pollingWait(By.xpath(
-              "//div[@id='main']/div/div[2]"),
-              MIN_IMPLICIT_WAIT).isDisplayed())
-      );
-      
-      authenticationIT.logoutUser("finance1");
-
-      authenticationIT.authenticationUser("hr1", "hr1");
-
-      pollingWait(By.xpath("//div/button[contains(@class, 'nav-btn 
dropdown-toggle ng-scope')]"),
-          MAX_BROWSER_TIMEOUT_SEC).click();
-      clickAndWait(By.xpath("//li/a[contains(@href, '#/interpreter')]"));
-
-      try {
-        collector.checkThat("Check is user has permission to view this page",
-            true, CoreMatchers.equalTo(
-                pollingWait(By.xpath("//li[contains(@class, 
'ng-toast__message')]//span/span"),
-                    MIN_IMPLICIT_WAIT).isDisplayed()));
-      } catch (TimeoutException e) {
-        throw new Exception("Expected ngToast not found", e);
-      }
-      authenticationIT.logoutUser("hr1");
-
-    } catch (Exception e) {
-      handleException("Exception in AuthenticationIT while testAnyOfRoles ", 
e);
-    }
-  }
-
-  @Test
-  public void testGroupPermission() throws Exception {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    try {
-      AuthenticationIT authenticationIT = new AuthenticationIT();
-      authenticationIT.authenticationUser("finance1", "finance1");
-      createNewNote();
-
-      String noteId = 
driver.getCurrentUrl().substring(driver.getCurrentUrl().lastIndexOf("/") + 1);
-
-      pollingWait(By.xpath("//span[@uib-tooltip='Note permissions']"),
-          MAX_BROWSER_TIMEOUT_SEC).click();
-      pollingWait(By.xpath(".//*[@id='selectOwners']/following::span//input"),
-          MAX_BROWSER_TIMEOUT_SEC).sendKeys("finance ");
-      pollingWait(By.xpath(".//*[@id='selectReaders']/following::span//input"),
-          MAX_BROWSER_TIMEOUT_SEC).sendKeys("finance ");
-      pollingWait(By.xpath(".//*[@id='selectRunners']/following::span//input"),
-              MAX_BROWSER_TIMEOUT_SEC).sendKeys("finance ");
-      pollingWait(By.xpath(".//*[@id='selectWriters']/following::span//input"),
-          MAX_BROWSER_TIMEOUT_SEC).sendKeys("finance ");
-      pollingWait(By.xpath("//button[@ng-click='savePermissions()']"), 
MAX_BROWSER_TIMEOUT_SEC)
-          .sendKeys(Keys.ENTER);
-
-      
pollingWait(By.xpath("//div[@class='modal-dialog'][contains(.,'Permissions 
Saved ')]" +
-              "//div[@class='modal-footer']//button[contains(.,'OK')]"),
-          MAX_BROWSER_TIMEOUT_SEC).click();
-      authenticationIT.logoutUser("finance1");
-
-      authenticationIT.authenticationUser("hr1", "hr1");
-      try {
-        WebElement element = 
pollingWait(By.xpath("//*[@id='notebook-names']//a[contains(@href, '" + noteId 
+ "')]"),
-            MAX_BROWSER_TIMEOUT_SEC);
-        collector.checkThat("Check is user has permission to view this note 
link", false,
-            CoreMatchers.equalTo(element.isDisplayed()));
-      } catch (Exception e) {
-        //This should have failed, nothing to worry.
-      }
-
-      driver.get(new URI(driver.getCurrentUrl()).resolve("/#/notebook/" + 
noteId).toString());
-
-      List<WebElement> privilegesModal = driver.findElements(
-          
By.xpath("//div[@class='modal-content']//div[@class='bootstrap-dialog-header']" 
+
-              "//div[contains(.,'Insufficient privileges')]"));
-      collector.checkThat("Check is user has permission to view this note", 1,
-          CoreMatchers.equalTo(privilegesModal.size()));
-      driver.findElement(
-          By.xpath("//div[@class='modal-content'][contains(.,'Insufficient 
privileges')]" +
-              "//div[@class='modal-footer']//button[2]")).click();
-      authenticationIT.logoutUser("hr1");
-
-      authenticationIT.authenticationUser("finance2", "finance2");
-      try {
-        WebElement element = 
pollingWait(By.xpath("//*[@id='notebook-names']//a[contains(@href, '" + noteId 
+ "')]"),
-            MAX_BROWSER_TIMEOUT_SEC);
-        collector.checkThat("Check is user has permission to view this note 
link", true,
-            CoreMatchers.equalTo(element.isDisplayed()));
-      } catch (Exception e) {
-        //This should have failed, nothing to worry.
-      }
-
-      driver.get(new URI(driver.getCurrentUrl()).resolve("/#/notebook/" + 
noteId).toString());
-
-      privilegesModal = driver.findElements(
-          
By.xpath("//div[@class='modal-content']//div[@class='bootstrap-dialog-header']" 
+
-              "//div[contains(.,'Insufficient privileges')]"));
-      collector.checkThat("Check is user has permission to view this note", 0,
-          CoreMatchers.equalTo(privilegesModal.size()));
-      deleteTestNotebook(driver);
-      authenticationIT.logoutUser("finance2");
-
-
-    } catch (Exception e) {
-      handleException("Exception in AuthenticationIT while testGroupPermission 
", e);
-    }
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/7bff131a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/InterpreterIT.java
----------------------------------------------------------------------
diff --git 
a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/InterpreterIT.java
 
b/zeppelin-server/src/test/java/org/apache/zeppelin/integration/InterpreterIT.java
deleted file mode 100644
index 6adc1f7..0000000
--- 
a/zeppelin-server/src/test/java/org/apache/zeppelin/integration/InterpreterIT.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * 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.zeppelin.integration;
-
-import org.apache.zeppelin.AbstractZeppelinIT;
-import org.apache.zeppelin.WebDriverManager;
-import org.hamcrest.CoreMatchers;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ErrorCollector;
-import org.openqa.selenium.By;
-import org.openqa.selenium.WebElement;
-import org.openqa.selenium.support.ui.Select;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class InterpreterIT extends AbstractZeppelinIT {
-  private static final Logger LOG = 
LoggerFactory.getLogger(InterpreterIT.class);
-
-  @Rule
-  public ErrorCollector collector = new ErrorCollector();
-
-  @Before
-  public void startUp() {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    driver = WebDriverManager.getWebDriver();
-  }
-
-  @After
-  public void tearDown() {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    driver.quit();
-  }
-
-  @Test
-  public void testShowDescriptionOnInterpreterCreate() throws Exception {
-    if (!endToEndTestEnabled()) {
-      return;
-    }
-    try {
-      // navigate to interpreter page
-      WebElement settingButton = 
driver.findElement(By.xpath("//button[@class='nav-btn dropdown-toggle 
ng-scope']"));
-      settingButton.click();
-      WebElement interpreterLink = 
driver.findElement(By.xpath("//a[@href='#/interpreter']"));
-      interpreterLink.click();
-
-      WebElement createButton = 
driver.findElement(By.xpath("//button[contains(., 'Create')]"));
-      createButton.click();
-
-      Select select = new 
Select(driver.findElement(By.xpath("//select[@ng-change='newInterpreterGroupChange()']")));
-      select.selectByVisibleText("spark");
-
-      collector.checkThat("description of interpreter property is displayed",
-          driver.findElement(By.xpath("//tr/td[contains(text(), 
'spark.app.name')]/following-sibling::td[3]")).getText(),
-          CoreMatchers.equalTo("The name of spark application."));
-
-    } catch (Exception e) {
-      handleException("Exception in InterpreterIT while 
testShowDescriptionOnInterpreterCreate ", e);
-    }
-  }
-}
\ No newline at end of file

Reply via email to