Class StoryInteraction
- java.lang.Object
-
- de.telekom.test.bddwebapp.interaction.FlatInteraction
-
- de.telekom.test.bddwebapp.interaction.StoryInteraction
-
@Configuration @Component @Scope(scopeName="prototype") public class StoryInteraction extends FlatInteraction
Holds context variables that are needed in the entire JBehave Story.An Interaction is a spring bean which keeps ThreadLocal state information of a single specification execution available across different steps. The Interaction is setup and torn down before and after every specification execution.
- Author:
- Daniel Keiss <daniel.keiss@telekom.de>
Copyright (c) 2020 Daniel Keiss, Deutsche Telekom IT GmbH This file is distributed under the conditions of the Apache License, Version 2.0. For details see the file license on the toplevel.
-
-
Field Summary
Fields Modifier and Type Field Description static StringOBJECT_KEY_SEPARATOR-
Fields inherited from class de.telekom.test.bddwebapp.interaction.FlatInteraction
context, LIST_ITEM_FORMAT
-
-
Constructor Summary
Constructors Constructor Description StoryInteraction()
-
Method Summary
All Methods Instance Methods Concrete Methods Default Methods Modifier and Type Method Description default voidclear(Enum key)default voidclear(String key)org.springframework.aop.framework.ProxyFactoryBeanproxiedThreadLocalTargetSourceStoryInteraction(org.springframework.aop.target.ThreadLocalTargetSource threadLocalStoryInteraction)default <S> Srecall(Enum key)Get some data in the interaction context.default <S> List<S>recallList(Enum key)default <S> List<S>recallList(String key)default <S> List<S>recallListOrCreateNew(Enum key)default <S> List<S>recallListOrCreateNew(String key)default <S> Map<String,S>recallMap(Enum key)default <S> Map<String,S>recallMap(String key)default <S> Map<String,S>recallMapOrCreateNew(Enum key)default <S> Map<String,S>recallMapOrCreateNew(String key)default <S> SrecallNotNull(Enum key)Get some data in the interaction context.default <S> SrecallNotNull(String key)Get some data in the interaction context.default <S> SrecallObject(Enum objectKey, String attributeKey)default <S> SrecallObject(String objectKey, String attributeKey)default <S> SrecallObjectNotNull(Enum objectKey, String attributeKey)default <S> SrecallObjectNotNull(String objectKey, String attributeKey)default voidremember(Enum key, Object value)Store some data in the interaction context for later use.voidrememberFromScenarioInteraction(String key)Store some data from scenario interaction to the story interaction context for later use.default voidrememberObject(Enum entityKey, String objectKey, Object value)default voidrememberObject(Enum entityKey, Map<String,Object> object)default voidrememberObject(String entityKey, String objectKey, Object value)default voidrememberObject(String entityKey, Map<String,Object> object)voidrememberObjectFromScenarioInteraction(String entityKey, String objectKey)Store an object from scenario interaction for an specific entity in the story interaction context for later use.default <S> voidrememberToList(Enum key, S value)default <S> voidrememberToList(String key, S value)voidsetScenarioInteraction(ScenarioInteraction scenarioInteraction)org.springframework.aop.target.ThreadLocalTargetSourcethreadLocalStoryInteraction()-
Methods inherited from class de.telekom.test.bddwebapp.interaction.FlatInteraction
getContext, logAllPossibleKeysWithType, logAllPossibleKeysWithValue, recall, recallByHierarchy, remember, startInteraction, stopInteraction
-
-
-
-
Field Detail
-
OBJECT_KEY_SEPARATOR
public static final String OBJECT_KEY_SEPARATOR
- See Also:
- Constant Field Values
-
-
Method Detail
-
rememberFromScenarioInteraction
public void rememberFromScenarioInteraction(String key)
Store some data from scenario interaction to the story interaction context for later use.- Parameters:
key- interaction key
-
rememberObjectFromScenarioInteraction
public void rememberObjectFromScenarioInteraction(String entityKey, String objectKey)
Store an object from scenario interaction for an specific entity in the story interaction context for later use. Recall this object with recallObject().- Parameters:
entityKey- interaction key - entity partobjectKey- interaction key - object part
-
threadLocalStoryInteraction
@Bean(destroyMethod="destroy") public org.springframework.aop.target.ThreadLocalTargetSource threadLocalStoryInteraction()
-
proxiedThreadLocalTargetSourceStoryInteraction
@Primary @Bean(name="proxiedThreadLocalTargetSourceStoryInteraction") public org.springframework.aop.framework.ProxyFactoryBean proxiedThreadLocalTargetSourceStoryInteraction(@Qualifier("threadLocalStoryInteraction") org.springframework.aop.target.ThreadLocalTargetSource threadLocalStoryInteraction)
-
setScenarioInteraction
public void setScenarioInteraction(ScenarioInteraction scenarioInteraction)
-
remember
public default void remember(Enum key, Object value)
Store some data in the interaction context for later use. Use enum as key.- Parameters:
key- interaction keyvalue- interaction value
-
recall
public default <S> S recall(Enum key)
Get some data in the interaction context. Use enum as key.- Type Parameters:
S- type for value from interaction context- Parameters:
key- interaction key- Returns:
- value from interaction context
-
recallNotNull
public default <S> S recallNotNull(String key)
Get some data in the interaction context. Throw assertion error if value is not found.- Type Parameters:
S- type for value from interaction context- Parameters:
key- interaction key- Returns:
- value from interaction context
-
recallNotNull
public default <S> S recallNotNull(Enum key)
Get some data in the interaction context. Throw assertion error if value is not found.- Type Parameters:
S- type for value from interaction context- Parameters:
key- interaction key- Returns:
- value from interaction context
-
rememberObject
public default void rememberObject(String entityKey, String objectKey, Object value)
-
recallObjectNotNull
public default <S> S recallObjectNotNull(String objectKey, String attributeKey)
-
rememberToList
public default <S> void rememberToList(String key, S value)
-
rememberToList
public default <S> void rememberToList(Enum key, S value)
-
clear
public default void clear(String key)
-
clear
public default void clear(Enum key)
-
-