Package com.gistlabs.mechanize

Source Code of com.gistlabs.mechanize.MechanizeAgentTest

/**
* Copyright (C) 2012-2014 Gist Labs, LLC. (http://gistlabs.com)
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.gistlabs.mechanize;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import com.gistlabs.mechanize.exceptions.MechanizeException;
import com.gistlabs.mechanize.parameters.Parameters;

/**
* @author Martin Kersten<Martin.Kersten.mk@gmail.com>
*/
public class MechanizeAgentTest extends MechanizeTestCase {

  @Test
  public void testReceivingAPage() {
    addPageRequest("http://test.com", "Test Page");
    Resource page = agent().get("http://test.com");
    assertEquals("Test Page", page.asString());
  }

  @Test(expected=MechanizeException.class)
  public void testExpectPostButReceiveGetRequestFails() throws Exception {
    addPageRequest("POST", "http://test.com/form", newHtml("OK", ""));
    disableAfterTest();

    Resource result = agent().get("http://test.com/form");
    assertEquals("OK", result.getTitle());
  }

  @Test
  public void testRequestParametersExtractedFromUri() {
    Parameters parameters = agent().doRequest("http://www.test.com/index.html?query=ab+cd&page=1").parameters();
    assertEquals("ab cd", parameters.get("query")[0]);
    assertEquals("1", parameters.get("page")[0]);
  }

  @Test
  public void testDoRequestGet() {
    addPageRequest("GET", "http://test.com/index.html?query=ab+cd&page=1", "Test Page");
    Resource page = agent().doRequest("http://test.com/index.html").add("query", "ab cd").add("page", "1").get();
    assertEquals("Test Page", page.asString());
  }

  @Test
  public void testDoRequestGetWithExistingQueryParameters() {
    addPageRequest("GET", "http://test.com/index.html?query=ab+cd&page=2", "Test Page");
    Resource page = agent().doRequest("http://test.com/index.html?query=ab+cd&page=1").set("page", "2").get();
    assertEquals("Test Page", page.asString());
  }

  @Test
  public void testDoRequestPostWithExistingQueryParameters() {
    Parameters expectedParameters = new Parameters().add("query","ab cd").add("page", "2");
    addPageRequest("Post", "http://test.com/index.html", "Test Page").setParameters(expectedParameters);
    Resource page = agent().doRequest("http://test.com/index.html?query=ab+cd&page=1").set("page", "2").post();
    assertEquals("Test Page", page.asString());
  }

  @Test
  public void testDoRequestWithSetHeader() {
    addPageRequest("GET", "http://test.com/index.html?query=ab+cd&page=1", "Test Page").addHeader("foo", "bar");
    Resource page = agent().doRequest("http://test.com/index.html").add("query", "ab cd").add("page", "1").setHeader("foo", "x").setHeader("foo", "bar").get();
    assertEquals("Test Page", page.asString());
  }

  @Test
  public void testDoRequestWithAddHeaders() {
    addPageRequest("GET", "http://test.com/index.html?query=ab+cd&page=1", "Test Page").addHeader("foo", "bar", "baz");
    Resource page = agent().doRequest("http://test.com/index.html").add("query", "ab cd").add("page", "1").addHeader("foo", "bar", "baz").get();
    assertEquals("Test Page", page.asString());
  }

  @Test
  public void testDoRequestWithAccept() {
    addPageRequest("GET", "http://test.com/index.html?query=ab+cd&page=1", "Test Page").addHeader("Accept", "application/json");
    Resource page = agent().doRequest("http://test.com/index.html").add("query", "ab cd").add("page", "1").accept("application/json").get();
    assertEquals("Test Page", page.asString());
  }
}
TOP

Related Classes of com.gistlabs.mechanize.MechanizeAgentTest

TOP
Copyright © 2018 www.massapi.com. 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.