Package com.google.jstestdriver.browser

Examples of com.google.jstestdriver.browser.BrowserFileSet


  public void testSendCommand() throws Exception {
    MockServer server = new MockServer();
    server.expect("http://localhost/heartbeat?id=1", "OK");
    server.expect("http://localhost/fileSet?POST?{id=1, data=[], action=browserFileCheck}",
        gson.toJson(new BrowserFileSet()));
    server.expect("http://localhost/fileSet?POST?{data=[], action=serverFileCheck}", "[]");
    server.expect("http://localhost/cmd?POST?{data={\"command\":\"execute\","
        + "\"parameters\":[\"cmd\"]}, id=1}", "");
    server.expect("http://localhost/cmd?id=1", "{\"response\":"
        + "{\"response\":\"1\",\"browser\":{\"name\":\"browser1\"},"
View Full Code Here


            java.util.Collections.<FileInfo>emptyList(), null);

    server.expect("http://localhost/heartbeat?id=" + id, "OK");
    server.expect(
        "http://localhost/fileSet?POST?{id=" + id + ", data=" + gson.toJson(testCase) + ", action=browserFileCheck}",
        gson.toJson(new BrowserFileSet()));

    server.expect("http://localhost/fileSet?POST?{data=[], action=serverFileCheck}", "[]");

    BrowserInfo browserInfo = new BrowserInfo();
    browserInfo.setId(Long.parseLong(id));
View Full Code Here

    String id = "1";
    MockServer server = new MockServer();

    server.expect("http://localhost/heartbeat?id=1", "OK");
    server.expect("http://localhost/fileSet?POST?{id=1, data=" + gson.toJson(testCase) + ", action=browserFileCheck}",
        gson.toJson(new BrowserFileSet()));
    server.expect("http://localhost/fileSet?POST?{data=[], action=serverFileCheck}", "[]");
    server.expect(
            "http://localhost/cmd?POST?{data={\"command\":\"runTests\","
                + "\"parameters\":[\"[\\\"testCase.testFoo\\\",\\\"testCase.testBar\\\"]\",\"false\",\"\"]}, id=1}", "");
    BrowserInfo browserInfo = new BrowserInfo();
View Full Code Here

    JstdTestCase testCaseToRun =
        new JstdTestCase(Lists.newArrayList(createFile(fileOne, 3), createFile(fileTwo, 1)),
            Collections.<FileInfo>emptyList(), Collections.<FileInfo>emptyList(), "one");

    assertEquals(
        new BrowserFileSet(Lists.newArrayList(createFile(fileOne, 3)),
            Lists.newArrayList(createFile(fileThree, 3)), false),
            browserFileCheck.handle(browser, gson.toJson(testCaseToRun)));
  }
View Full Code Here

    server.expect(
        baseUrl
            + "fileSet?POST?{id=1, data="
            + gson.toJson(new JstdTestCase(Collections.<FileInfo>emptyList(), Collections
                .<FileInfo>emptyList(), Collections.<FileInfo>emptyList(), null))
            + ", action=browserFileCheck}", gson.toJson(new BrowserFileSet()));
    server.expect(baseUrl + "cmd?POST?{data={mooh}, id=1}", "");
    BrowserInfo browserInfo = new BrowserInfo();
    browserInfo.setId(Long.parseLong(id));
    browserInfo.setUploadSize(10);
    server.expect(baseUrl + "cmd?listBrowsers", gson.toJson(Lists.newArrayList(browserInfo)));
View Full Code Here

    server.expect(baseUrl + "heartbeat?id=1", "OK");
    server.expect(baseUrl + "fileSet?POST?{data=" + gson.toJson(testCase)
        + ", action=serverFileCheck}", "[]");
    server.expect(baseUrl + "fileSet?POST?{id=1, data=" + gson.toJson(testCase)
      + ", action=browserFileCheck}", gson.toJson(new BrowserFileSet()));
    server.expect(baseUrl + "cmd?POST?{data={mooh}, id=1}", "");
    server.expect(baseUrl + "cmd?id=1", "{\"response\":{\"response\":\"response\","
        + "\"browser\":{\"name\":\"browser\"},\"error\":\"error\",\"executionTime\":123},"
        + "\"last\":true}");
    BrowserInfo browserInfo = new BrowserInfo();
View Full Code Here

    FileInfo serveInfo = new FileInfo("foo2.js", 0, -1, false, true, null, "foo2.js");
    String serveInfoContents = "foobar2";
    List<FileInfo> fileSet = Arrays.asList(loadInfo, serveInfo);

    final BrowserFileSet browserFileSet =
        new BrowserFileSet(fileSet, Lists.<FileInfo>newArrayList(), false);
    JstdTestCase jstdTestCase = new JstdTestCase(Collections.<FileInfo>emptyList(),
        Arrays.asList(
            new FileInfo(loadInfo.getFilePath(), loadInfo.getTimestamp(), -1, loadInfo
                .isPatch(), loadInfo.isServeOnly(), loadInfoContents, loadInfo
                .getFilePath()),
View Full Code Here

  @Override
  public BrowserFileSet handle(SlaveBrowser browser, String data) {
    JstdTestCase testCase = gson.fromJson(data, JstdTestCase.class);
    if (browser == null) {
      logger.debug("no browser, returning empty set.");
      return new BrowserFileSet(Collections.<FileInfo>emptyList(),
          Collections.<FileInfo>emptyList(), false);
    }

    if (browser.hasFileLoadErrors()) {
      logger.debug("errors in the previous load, requesting refresh.");
      return new BrowserFileSet(Lists.<FileInfo>newLinkedList(),
          Lists.<FileInfo>newLinkedList(), true);
    }

    final List<FileInfo> filesToUpdate = Lists.newLinkedList();
    final List<FileInfo> extraFiles = Lists.newLinkedList();
    boolean reset = false;
    logger.debug("Determing files to update {}, {}", testCase.toFileSet(), browser.getFileSet());
    for (FileInfo newFile : testCase.getServable()) {
      if (browser.getFileSet().contains(newFile)) {
        for (FileInfo oldFile : browser.getFileSet()) {
          if (oldFile.shouldReplaceWith(newFile)) {
            filesToUpdate.add(newFile);
          }
        }
      } else {
        filesToUpdate.add(newFile);
      }
    }
    extraFiles.addAll(browser.getFileSet());
    extraFiles.removeAll(testCase.toFileSet());

    if (!(filesToUpdate.isEmpty() && extraFiles.isEmpty())
        && (browser.getBrowserInfo().getName().contains("Safari")
            || browser.getBrowserInfo().getName().contains("Opera")
            || browser.getBrowserInfo().getName().contains("Konqueror"))) {
      // reload all files if Safari, Opera, or Konqueror, because they don't
      // overwrite properly.
      // TODO(corysmith): Replace this with polymorphic browser classes.
      logger.info("Resetting browser fileset to ensure proper overwriting. {} {}", filesToUpdate.isEmpty(), extraFiles);
      filesToUpdate.addAll(testCase.toFileSet());
      // TODO(corysmith): Change the browser to handle it's own resets.
      browser.resetFileSet();
      reset = true;
    }

    return new BrowserFileSet(filesToUpdate, extraFiles, reset);
  }
View Full Code Here

  /** Determines what files have been changed as compared to the server. */
  public List<FileInfo> determineBrowserFileSet(String browserId, JstdTestCase testCase,
      ResponseStream stream) {

    BrowserFileSet browserFileSet = getBrowserFileSet(browserId, testCase);

    stopWatch.start("resolving browser upload %s", browserId);
    try {
      logger.debug("Updating files {}", browserFileSet.getFilesToUpload());
      // need a linked hashset here to avoid adding a file more than once.
      final Set<FileInfo> finalFilesToUpload = new LinkedHashSet<FileInfo>();
      // reset if there are extra files in the browser
      if (browserFileSet.shouldReset() || !browserFileSet.getExtraFiles().isEmpty()) {
        reset(browserId, stream, testCase);
        browserFileSet = getBrowserFileSet(browserId, testCase);
        logger.info("second fileset {}", browserFileSet);
      }
      for (FileInfo file : browserFileSet.getFilesToUpload()) {
        finalFilesToUpload.addAll(determineInBrowserDependencies(file, testCase.getServable()));
      }
      return Lists.newArrayList(finalFilesToUpload);
    } finally {
      stopWatch.stop("resolving browser upload %s", browserId);
View Full Code Here

    fileSetParams.put("data", gson.toJson(testCase));
    fileSetParams.put("action", BrowserFileCheck.ACTION);
    //logger.info("FileParams: {}", fileSetParams);
    String postResult = server.post(baseUrl + "/fileSet", fileSetParams);
    if (postResult.length() < 0) {
      return new BrowserFileSet(Collections.<FileInfo>emptyList(), Collections.<FileInfo>emptyList(), false);
    }
    BrowserFileSet browserFileSet = gson.fromJson(postResult, BrowserFileSet.class);
    stopWatch.stop("get upload set %s", browserId);
    return browserFileSet;
  }
View Full Code Here

TOP

Related Classes of com.google.jstestdriver.browser.BrowserFileSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.