Package org.apache.jmeter.junit.protocol.http.control

Source Code of org.apache.jmeter.junit.protocol.http.control.HttpTestSampleTest

package org.apache.jmeter.junit.protocol.http.control;

import junit.framework.TestCase;

import java.util.*;

import org.apache.jmeter.protocol.http.control.HttpTestSample;
import org.apache.jmeter.protocol.http.config.UrlConfig;
import org.apache.jmeter.config.*;
import org.apache.jmeter.samplers.NewEntry;
import org.apache.jmeter.control.NoEntryException;

/**
* Title:        Apache JMeter
* Description:
* Copyright:    Copyright (c) 2000
* Company:      Apache Foundation
* @author Michael Stover
* @version 1.0
*/

public class HttpTestSampleTest extends TestCase
{
  HttpTestSample sample, supposedToFail;

  public HttpTestSampleTest(String name)
  {
    super(name);
  }

  public void setUp()
  {
    sample = new HttpTestSample();
    sample.setName("Test Sample");
    sample.setDefaultUrl(getDefaultUrl());
    sample.addConfigElement(getUrl_1());
    sample.addConfigElement(getUrl_2());

    supposedToFail = new HttpTestSample();
  }

  private UrlConfig getDefaultUrl()
  {
    UrlConfig def = new UrlConfig();
    def.putProperty(def.DOMAIN,"www.xerox.com");
    def.putProperty(def.METHOD,def.GET);
    return def;
  }

  private UrlConfig getUrl_1()
  {
    UrlConfig con = new UrlConfig();
    con.putProperty(con.PATH,"index.html");
    return con;
  }

  private UrlConfig getUrl_2()
  {
    UrlConfig con = new UrlConfig();
    con.putProperty(con.PATH,"login.jsp");
    con.putProperty(con.METHOD,con.POST);
    Arguments args = new Arguments();
    args.addArgument("username","mstover");
    args.addArgument("password","pass");
    args.addArgument("action","login");
    con.putProperty(con.ARGUMENTS,args);
    return con;
  }

  public void testNoEntryException()
  {
    boolean failed = false;
    try
    {
      supposedToFail.nextEntry();
    }
    catch(NoEntryException e)
    {
      failed = true;
    }
    assert(failed);
  }

  public void testEntries()
  {
    Collection entries = sample.allEntries();
    assertEquals((long)entries.size(),(long)2);
    boolean first = true;
    for(Iterator it = entries.iterator();it.hasNext();)
    {
      NewEntry entry = (NewEntry)it.next();
      assertEquals("www.xerox.com",entry.getProperty(UrlConfig.class,
          UrlConfig.DOMAIN));
      if(first)
      {
        assertEquals("index.html",entry.getProperty(UrlConfig.class,
            UrlConfig.PATH));
      }
      else
      {
        assertEquals(UrlConfig.POST,entry.getProperty(UrlConfig.class,
            UrlConfig.METHOD));
      }
      first = false;
    }
  }

  public void testNext()
  {
    NewEntry next = null;
    for(int x = 0;x < 10;x++)
    {
      try
      {
        next= sample.nextEntry();
      }
      catch(NoEntryException e)
      {
        fail("No Entry Exception");
      }
      assertEquals("www.xerox.com",next.getProperty(UrlConfig.class,
          UrlConfig.DOMAIN));
    }
  }

}
TOP

Related Classes of org.apache.jmeter.junit.protocol.http.control.HttpTestSampleTest

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.