com.projectdarkstar.tools.dtc.domain
Class TestSpec

java.lang.Object
  extended by com.projectdarkstar.tools.dtc.domain.TestSpec
All Implemented Interfaces:
Serializable

public class TestSpec
extends Object
implements Serializable

Represents a complete test specification that pulls together all of the details and parameters necessary to run a DTC test.

See Also:
Serialized Form

Constructor Summary
TestSpec()
           
TestSpec(String name, String description, String testRunner, Long timeLimit, Long maxClients, ServerAppConfig serverAppConfig)
           
 
Method Summary
 boolean equals(Object o)
           
 List<ClientAppConfig> getClientAppConfigs()
          Returns the list of client application simulator configurations to be used to stress the server during the test.
 List<HardwareResourceFamily> getClientResources()
           Returns a list of HardwareResourceFamily objects representing the class of hardware resources that the client application simulators should be run on.
 String getDescription()
           
 Long getId()
          Returns the id of the entity in persistent storage
 Long getMaxClients()
           
 String getName()
           
 List<Property> getProperties()
          Returns a list of arguments in the form of Property objects to be passed to the TestRunner during run time.
 ServerAppConfig getServerAppConfig()
          Returns the complete configuration required to run the server application to be used as the central process of this test.
 List<HardwareResourceFamily> getServerResources()
           Returns a list of HardwareResourceFamily objects representing the class of hardware resources that the server application should be run on.
 List<SystemProbe> getSystemProbes()
          Returns the list of system probes that are to be used to monitor the state of the system while the test is running.
 String getTestRunner()
           Returns the fully qualified class name of the test runner to be used to execute the tests.
 Long getTimeLimit()
          Time limit in seconds to allow the test to run.
 Long getVersionNumber()
          Returns the version number in the data store that this entity represents.
 int hashCode()
           
 void setClientAppConfigs(List<ClientAppConfig> clientAppConfigs)
           
 void setClientResources(List<HardwareResourceFamily> clientResources)
           
 void setDescription(String description)
           
 void setId(Long id)
           
 void setMaxClients(Long maxClients)
           
 void setName(String name)
           
 void setProperties(List<Property> properties)
           
 void setServerAppConfig(ServerAppConfig serverAppConfig)
           
 void setServerResources(List<HardwareResourceFamily> serverResources)
           
 void setSystemProbes(List<SystemProbe> systemProbes)
           
 void setTestRunner(String testRunner)
           
 void setTimeLimit(Long timeLimit)
           
protected  void setVersionNumber(Long versionNumber)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TestSpec

public TestSpec()

TestSpec

public TestSpec(String name,
                String description,
                String testRunner,
                Long timeLimit,
                Long maxClients,
                ServerAppConfig serverAppConfig)
Method Detail

getId

public Long getId()
Returns the id of the entity in persistent storage

Returns:
id of the entity

setId

public void setId(Long id)

getVersionNumber

public Long getVersionNumber()
Returns the version number in the data store that this entity represents. Whenever an update to an object is pushed to the persistent data store, the version number is incremented.

Returns:
version number of the entity

setVersionNumber

protected void setVersionNumber(Long versionNumber)

getName

public String getName()

setName

public void setName(String name)

getDescription

public String getDescription()

setDescription

public void setDescription(String description)

getTestRunner

public String getTestRunner()

Returns the fully qualified class name of the test runner to be used to execute the tests. Different types of test runners have different behaviors:

Returns:
test runner to be used for the tests

setTestRunner

public void setTestRunner(String testRunner)

getTimeLimit

public Long getTimeLimit()
Time limit in seconds to allow the test to run. If the test runs beyond the time limit, it is terminated.

Returns:
time limit of test

setTimeLimit

public void setTimeLimit(Long timeLimit)

getMaxClients

public Long getMaxClients()

setMaxClients

public void setMaxClients(Long maxClients)

getProperties

public List<Property> getProperties()
Returns a list of arguments in the form of Property objects to be passed to the TestRunner during run time.

Returns:
list of arguments

setProperties

public void setProperties(List<Property> properties)

getServerAppConfig

public ServerAppConfig getServerAppConfig()
Returns the complete configuration required to run the server application to be used as the central process of this test.

Returns:
the server application configuration

setServerAppConfig

public void setServerAppConfig(ServerAppConfig serverAppConfig)

getClientAppConfigs

public List<ClientAppConfig> getClientAppConfigs()
Returns the list of client application simulator configurations to be used to stress the server during the test.

Returns:
the client application simulator configurations

setClientAppConfigs

public void setClientAppConfigs(List<ClientAppConfig> clientAppConfigs)

getSystemProbes

public List<SystemProbe> getSystemProbes()
Returns the list of system probes that are to be used to monitor the state of the system while the test is running.

Returns:
the system probes used to monitor the system during testing

setSystemProbes

public void setSystemProbes(List<SystemProbe> systemProbes)

getServerResources

public List<HardwareResourceFamily> getServerResources()

Returns a list of HardwareResourceFamily objects representing the class of hardware resources that the server application should be run on. Before running a test, one resource of each family type must be locked.

If there is only one resource in the list, a single node instance of the server is started. If there are multiple resources, the first node is used to startup the core node, while the remaining are used for app nodes.

Returns:
list of server resources

setServerResources

public void setServerResources(List<HardwareResourceFamily> serverResources)

getClientResources

public List<HardwareResourceFamily> getClientResources()

Returns a list of HardwareResourceFamily objects representing the class of hardware resources that the client application simulators should be run on. Before running a test, one resource of each family type must be locked.

Each client is assigned to a resource in round-robin fashion. A resource may be assigned more than one client application simulator.

Returns:
list of client resources

setClientResources

public void setClientResources(List<HardwareResourceFamily> clientResources)

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2013. All Rights Reserved.