Class RandomEnumValueFunction
java.lang.Object
org.citrusframework.functions.core.RandomEnumValueFunction
- All Implemented Interfaces:
Function
Function to choose one random value from a list of strings. The enumeration values to choose from
can either be specified as parameters or in the
values property of
an instance of this class. These two possibilities can only be used exclusively - either empty values
property and non-empty parameters or empty parameters and non-empty values property.
Example custom function definition and the corresponding usage in a test:
<bean id="myCustomFunctionLibrary" class="org.citrusframework.functions.FunctionLibrary">
<property name="name" value="myCustomFunctionLibrary" />
<property name="prefix" value="custom:" />
<property name="members">
<map>
<entry key="randomHttpStatusCode">
<bean class="org.citrusframework.functions.core.RandomEnumValueFunction">
<property name="values">
<list>
<value>200</value>
<value>500</value>
<value>401</value>
</list>
</property>
</bean>
</entry>
</map>
</property>
</bean>
and the corresponding usage which sets the httpStatusCode to one of the configured values - 200, 500 or 401:
<variable name="httpStatusCode" value="custom:randomHttpStatusCode()" />
The other usage possibility is to choose a random value from a list of values given as argument like this which achieves the same result as the previously shown custom function:
<variable name="httpStatusCode" value="citrus:randomEnumValue('200', '401', '500')" />
You should choose which one of the two flavours to use based on the number of times you use this function - if you need it in
only one special case you may go with specifying the list as arguments otherwise you should define a custom function and reuse it.-
Field Summary
Fields inherited from interface org.citrusframework.functions.Function
functions, logger, RESOURCE_PATH -
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
RandomEnumValueFunction
public RandomEnumValueFunction()
-
-
Method Details
-
execute
-
randomValue
Pseudo-randomly choose one of the supplied values and return it.- Parameters:
values-- Returns:
- Throws:
IllegalArgumentException- if the values supplied arenullor an empty list.
-
getValues
-
setValues
-