Package com.gistlabs.mechanize

Source Code of com.gistlabs.mechanize.MechanizeAgentIntTest

/**
* 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 static org.junit.Assert.assertTrue;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.junit.Test;

import com.gistlabs.mechanize.impl.DefaultResource;
import com.gistlabs.mechanize.impl.MechanizeAgent;
import com.gistlabs.mechanize.parameters.Parameters;

/**
* @author Martin Kersten<Martin.Kersten.mk@gmail.com>
*/
public class MechanizeAgentIntTest extends MechanizeTestCase {
  static final String firefoxUserAgent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.1) Gecko/20100122 firefox/3.6.1";

  protected Mechanize agent() {
    return new MechanizeAgent().setUserAgent(firefoxUserAgent);
  }

  @Test
  public void testPostMethod() {
    Mechanize agent = agent();
    Parameters parameters = new Parameters().add("param1", "value").add("param2", "value2");
    Resource page = agent.post("http://posttestserver.com/post.php", parameters);
    String pageString = page.asString();
    assertTrue(pageString.contains(" Successfully dumped 2 post variables"));
  }

  @Test
  public void testDownloadToImage() throws IOException {
    String wikipediaLogoUri = "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png";
    BufferedImage image = ImageIO.read(agent().get(wikipediaLogoUri).getInputStream());

    assertEquals(200, image.getWidth());
    assertEquals(200, image.getHeight());
  }

  @Test
  public void testDownloadToFile() throws Exception {
    String wikipediaLogoUri = "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png";
    File file = File.createTempFile("mechanize", ".png");
    file.delete();

    agent().get(wikipediaLogoUri).saveTo(file);
    assertEquals(45283, file.length());
    file.delete();
  }

  @Test
  public void testDownloadPage() throws Exception {
    String wikipediaLogoUri = "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png";
    File file = File.createTempFile("mechanize", ".png");
    file.delete();

    Resource page = agent().get(wikipediaLogoUri);

    assertTrue(page instanceof DefaultResource);

    assertEquals("image/png", page.getContentType());
    page.saveTo(file);
    assertEquals(45283, file.length());
    file.delete();

    // in here my copied stream doesn't get the right bytes...

    page.saveTo(file);
    assertEquals(45283, file.length());
    file.delete();
  }
}
TOP

Related Classes of com.gistlabs.mechanize.MechanizeAgentIntTest

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.