Package com.gistlabs.mechanize

Source Code of com.gistlabs.mechanize.MechanizeTestCase

/**
* 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 java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.junit.After;
import org.junit.Assert;

import com.gistlabs.mechanize.util.apache.ContentType;

/**
* @author Martin Kersten<Martin.Kersten.mk@gmail.com>
*/
public class MechanizeTestCase {
  private MechanizeMock agent = new MechanizeMock();
  protected boolean doAfterTest = true;
 
  protected String contentType() {
    return ContentType.TEXT_PLAIN.getMimeType();
  }
 
  public void disableAfterTest() {
    doAfterTest = false;
  }

  @After
  public void afterTest() {
    if(doAfterTest) {
      PageRequest next = agent.nextUnexecutedPageRequest();
      if(next != null)
        Assert.fail("Unexecuted page request: " + next.toString());
    }
  }

  public PageRequest addPageRequest(final String uri, final String body) {
    return addPageRequest("GET", uri, body);
  }

  public PageRequest addPageRequest(final String method, final String uri, final String body) {
    PageRequest request = new PageRequest(method, uri, body).setContentType(contentType());
    agent.requests.add(request);
    return request;
  }

  public PageRequest addPageRequest(final String method, final String uri, final InputStream body) {
    PageRequest request = new PageRequest(method, uri, body).setContentType(contentType());
    agent.requests.add(request);
    return request;
  }

  protected String newHtml(final String title, final String bodyHtml) {
    return "<html><head><title>" + title + "</title></head><body>" + bodyHtml + "</body></html>";
  }

  public List<NameValuePair> parameter(final String name, final String value) {
    List<NameValuePair> result = new ArrayList<NameValuePair>();
    result.add(new BasicNameValuePair(name, value));
    return result;
  }

  protected Mechanize agent() {
    return agent;
  }
}
TOP

Related Classes of com.gistlabs.mechanize.MechanizeTestCase

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.