Class ScenarioInteraction

java.lang.Object
de.telekom.test.bddwebapp.interaction.FlatInteraction
de.telekom.test.bddwebapp.interaction.ScenarioInteraction

@Component public class ScenarioInteraction extends FlatInteraction
Holds context variables that are needed in the entire JBehave Scenario.

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.

After a first implementation of scenario interaction by Sven Schomaker, working for Deutsche Telekom AG in 2013.

Author:
Daniel Keiss <daniel.keiss@telekom.de>

Copyright (c) 2023 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 Details

  • Constructor Details

    • ScenarioInteraction

      public ScenarioInteraction()
  • Method Details

    • startInteraction

      public void startInteraction()
      Overrides:
      startInteraction in class FlatInteraction
    • arrayBody

      public List<Object> arrayBody()
    • mapBody

      public Map<String,Object> mapBody()
    • mapPathParam

      public Map<String,String> mapPathParam()
    • mapQueryParam

      public Map<String,String> mapQueryParam()
    • rememberFromStoryInteraction

      public void rememberFromStoryInteraction(String key)
      Store some data from story interaction to the scenario interaction context
    • rememberObjectFromStoryInteraction

      public void rememberObjectFromStoryInteraction(String entityKey, String objectKey)
      Store an object from story interaction for an specific entity in the scenario interaction context. Recall this object with recallObject().
    • setStoryInteraction

      public void setStoryInteraction(StoryInteraction storyInteraction)
    • remember

      default void remember(Enum key, Object value)
      Store some data in the interaction context for later use. Use enum as key.
    • recall

      default <S> S recall(Enum key)
      Get some data in the interaction context. Use enum as key.
    • recallNotNull

      default <S> S recallNotNull(String key)
    • recallNotNull

      default <S> S recallNotNull(Enum key)
    • rememberObject

      default void rememberObject(String entityKey, String objectKey, Object value)
    • rememberObject

      default void rememberObject(Enum entityKey, String objectKey, Object value)
    • rememberObject

      default void rememberObject(String entityKey, Map<String,Object> object)
    • rememberObject

      default void rememberObject(Enum entityKey, Map<String,Object> object)
    • recallObject

      default <S> S recallObject(String objectKey, String attributeKey)
    • recallObjectNotNull

      default <S> S recallObjectNotNull(String objectKey, String attributeKey)
    • recallObject

      default <S> S recallObject(Enum objectKey, String attributeKey)
    • recallObjectNotNull

      default <S> S recallObjectNotNull(Enum objectKey, String attributeKey)
    • recallMap

      default <S> Map<String,S> recallMap(String key)
    • recallMap

      default <S> Map<String,S> recallMap(Enum key)
    • recallMapOrCreateNew

      default <S> Map<String,S> recallMapOrCreateNew(String key)
    • recallMapOrCreateNew

      default <S> Map<String,S> recallMapOrCreateNew(Enum key)
    • rememberToList

      default <S> void rememberToList(String key, S value)
    • rememberToList

      default <S> void rememberToList(Enum key, S value)
    • recallList

      default <S> List<S> recallList(String key)
    • recallList

      default <S> List<S> recallList(Enum key)
    • recallListOrCreateNew

      default <S> List<S> recallListOrCreateNew(String key)
    • recallListOrCreateNew

      default <S> List<S> recallListOrCreateNew(Enum key)
    • clear

      default void clear(String key)
    • clear

      default void clear(Enum key)