Rice Pastry API

rice.p2p.commonapi.testing
Class CommonAPITest

java.lang.Object
  |
  +--rice.p2p.commonapi.testing.CommonAPITest
Direct Known Subclasses:
PastRegrTest, ScribeRegrTest, SplitStreamRegrTest

public abstract class CommonAPITest
extends java.lang.Object

Provides regression testing setup for applications written on top of the commonapi. Currently is written to use Pastry nodes, but this will be abstracted away.

Version:
$Id: CommonAPITest.java,v 1.3 2003/10/13 23:32:21 animesh Exp $
Author:
Alan Mislove

Field Summary
static java.lang.String BOOTSTRAP_HOST
           
static int BOOTSTRAP_PORT
           
protected  rice.pastry.PastryNodeFactory factory
           
static rice.p2p.commonapi.IdFactory FACTORY
           
static java.lang.String FAILURE
           
protected  rice.pastry.NodeIdFactory idFactory
           
static java.lang.String INSTANCE_NAME
           
protected  rice.p2p.commonapi.Node[] nodes
           
static int NUM_NODES
           
protected static int PAD_SIZE
           
static int PORT
           
static int PROTOCOL
           
static int PROTOCOL_DIRECT
           
protected  rice.pastry.direct.NetworkSimulator simulator
           
static int SIMULATOR
           
static int SIMULATOR_EUCLIDEAN
           
static int SIMULATOR_SPHERE
           
static java.lang.String SUCCESS
           
 
Constructor Summary
CommonAPITest()
          Constructor, which takes no arguments and sets up the factories in preparation for node creation.
 
Method Summary
protected  void assertEquals(java.lang.String description, java.lang.Object expected, java.lang.Object actual)
          Thows an exception if expected is not equal to actual.
protected  void assertTrue(java.lang.String intention, boolean test)
          Throws an exception if the test condition is not met.
protected  rice.p2p.commonapi.Node createNode(int num)
          Method which creates a single node, given it's node number
protected  rice.pastry.NodeHandle getBootstrap()
          Gets a handle to a bootstrap node.
protected  void kill(int n)
          Method which kills the specified node
protected static void parseArgs(java.lang.String[] args)
          process command line args
protected  void pause(int ms)
          Method which pauses for the provided number of milliseconds
protected abstract  void processNode(int num, rice.p2p.commonapi.Node node)
          Method which should process the given newly-created node
protected abstract  void runTest()
          Method which should run the test - this is called once all of the nodes have been created and are ready.
protected  void sectionDone()
          Method which prints the end of a test section.
protected  void sectionStart(java.lang.String name)
          Method which prints the beginning of a test section.
protected  void simulate()
          In case we're using the direct simulator, this method simulates the message passing.
 void start()
          Method which starts the creation of nodes
protected  void stepDone()
          Method which prints the end of a test section step, with an assumed success.
protected  void stepDone(java.lang.String status)
          Method which prints the end of a test section step.
protected  void stepDone(java.lang.String status, java.lang.String message)
          Method which prints the end of a test section step, as well as a message.
protected  void stepException(java.lang.Exception e)
          Method which prints an exception which occured during testing.
protected  void stepStart(java.lang.String name)
          Method which prints the beginning of a test section step.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodes

protected rice.p2p.commonapi.Node[] nodes

factory

protected rice.pastry.PastryNodeFactory factory

idFactory

protected rice.pastry.NodeIdFactory idFactory

simulator

protected rice.pastry.direct.NetworkSimulator simulator

NUM_NODES

public static int NUM_NODES

FACTORY

public static rice.p2p.commonapi.IdFactory FACTORY

SUCCESS

public static final java.lang.String SUCCESS
See Also:
Constant Field Values

FAILURE

public static final java.lang.String FAILURE
See Also:
Constant Field Values

PAD_SIZE

protected static final int PAD_SIZE
See Also:
Constant Field Values

PROTOCOL_DIRECT

public static final int PROTOCOL_DIRECT
See Also:
Constant Field Values

SIMULATOR_SPHERE

public static final int SIMULATOR_SPHERE
See Also:
Constant Field Values

SIMULATOR_EUCLIDEAN

public static final int SIMULATOR_EUCLIDEAN
See Also:
Constant Field Values

PORT

public static int PORT

BOOTSTRAP_HOST

public static java.lang.String BOOTSTRAP_HOST

BOOTSTRAP_PORT

public static int BOOTSTRAP_PORT

PROTOCOL

public static int PROTOCOL

SIMULATOR

public static int SIMULATOR

INSTANCE_NAME

public static java.lang.String INSTANCE_NAME
Constructor Detail

CommonAPITest

public CommonAPITest()
Constructor, which takes no arguments and sets up the factories in preparation for node creation.

Method Detail

start

public void start()
Method which starts the creation of nodes


simulate

protected void simulate()
In case we're using the direct simulator, this method simulates the message passing.


createNode

protected rice.p2p.commonapi.Node createNode(int num)
Method which creates a single node, given it's node number

Parameters:
num - The number of creation order
Returns:
The created node

getBootstrap

protected rice.pastry.NodeHandle getBootstrap()
Gets a handle to a bootstrap node.

Returns:
handle to bootstrap node, or null.

pause

protected void pause(int ms)
Method which pauses for the provided number of milliseconds

Parameters:
ms - The number of milliseconds to pause

kill

protected void kill(int n)
Method which kills the specified node

Parameters:
n - The node to kill

processNode

protected abstract void processNode(int num,
                                    rice.p2p.commonapi.Node node)
Method which should process the given newly-created node

Parameters:
num - The number o the node
node - The newly created node

runTest

protected abstract void runTest()
Method which should run the test - this is called once all of the nodes have been created and are ready.


sectionStart

protected final void sectionStart(java.lang.String name)
Method which prints the beginning of a test section.

Parameters:
name - The name of section

sectionDone

protected final void sectionDone()
Method which prints the end of a test section.


stepStart

protected final void stepStart(java.lang.String name)
Method which prints the beginning of a test section step.

Parameters:
name - The name of step

stepDone

protected final void stepDone()
Method which prints the end of a test section step, with an assumed success.


stepDone

protected final void stepDone(java.lang.String status)
Method which prints the end of a test section step.

Parameters:
status - The status of step

stepDone

protected final void stepDone(java.lang.String status,
                              java.lang.String message)
Method which prints the end of a test section step, as well as a message.

Parameters:
status - The status of section
message - The message

stepException

protected final void stepException(java.lang.Exception e)
Method which prints an exception which occured during testing.

Parameters:
e - The exception which was thrown

assertTrue

protected final void assertTrue(java.lang.String intention,
                                boolean test)
Throws an exception if the test condition is not met.


assertEquals

protected final void assertEquals(java.lang.String description,
                                  java.lang.Object expected,
                                  java.lang.Object actual)
Thows an exception if expected is not equal to actual.


parseArgs

protected static void parseArgs(java.lang.String[] args)
process command line args


Rice Pastry API

Copyright © 2001 - Rice Pastry.


Imprint-Dataprotection