Skip to content
This repository has been archived by the owner on Jun 14, 2022. It is now read-only.

how can we describe sequencing of the interactions within a scenario? #15

Open
aoberoi opened this issue Aug 17, 2017 · 0 comments
Open
Labels
discussion M-T: An issue where more input is needed to reach a decision

Comments

@aoberoi
Copy link
Contributor

aoberoi commented Aug 17, 2017

currently, when a scenario is replayed it sequences with a few simple rules:

  • order all of the interactions by timestamp
  • take the earliest interaction
  • if the interaction is outgoing, wait for the outgoing request and then respond.
  • if the interaction is incoming, fire the request at the app and continue immediately

the result is that all outgoing requests can "pause" the scenario and steno will only wait for one at a time. while all incoming requests will fire off as quick as they are seen, potentially many of them in flight in parallel.

(this all needs to be documented)

can we come up with an elegant way to describe any sequencing requirement that's different from that?

one idea is to associate some metadata with each interaction so that it can be "triggered" relative to a certain other event, which gets processed and turned into sort of a "dependency graph". for example:

interaction A is an incoming request
interaction B is an outgoing request w/ trigger "after A response"
interaction C is an outgoing request w/ trigger "after A response"
interaction D is an incoming request w/ trigger "before B response"

or something like that...

@aoberoi aoberoi added the question M-T: User needs support to use the project label Aug 17, 2017
@aoberoi aoberoi added discussion M-T: An issue where more input is needed to reach a decision and removed question M-T: User needs support to use the project labels Aug 22, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
discussion M-T: An issue where more input is needed to reach a decision
Projects
None yet
Development

No branches or pull requests

1 participant