Offline Requestor Model - Test Scenarios
1. Requestor partially connected
1.1. Requestor Agent outage
- Launch & initialize Requestor
yagna
daemon
- Launch Requestor Agent to start an interactive service payload on a VM
- Execute a simple ExeScript batch to ensure successful interaction with payload
- Shutdown the Requestor Agent
- Restart the Requestor Agent
- Execute a simple ExeScript batch to ensure the Requestor Agent application has successfully reconnected to the Daemon
1.2. Requestor Daemon outage
- Launch & initialize Requestor
yagna
daemon
- Launch Requestor Agent to start an interactive service payload on a VM
- Execute a simple ExeScript batch to ensure successful interaction with payload
- Shutdown the Requestor Daemon
- Restart the Requestor Daemon
- Execute a simple ExeScript batch to ensure the Daemon has successfully reconnected
1.3. Network disruption
- Launch & initialize Requestor
yagna
daemon
- Launch Requestor Agent to start an interactive service payload on a VM
- Execute a simple ExeScript batch to ensure successful interaction with payload
- Disconnect the Requestor machine from network
- Reconnect the Requestor machine to network
- Execute a simple ExeScript batch to ensure the Requestor Daemon has successfully reconnected
1.4. Requestor Daemon network address change
- Launch & initialize Requestor
yagna
daemon on machine with IP address A
- Launch Requestor Agent to start an interactive service payload on a VM
- Execute a simple ExeScript batch to ensure successful interaction with payload
- Shutdown the Requestor Daemon
- Start the Requestor Daemon with the same node id/identity on a different IP address
- Execute a simple ExeScript batch to ensure the Daemon has successfully reconnected from a different network address
2. Requestor offline (“fire&forget”)
2.1. Upfront payment
- Launch & initialize Requestor
yagna
daemon
- Launch Requestor Agent to start an interactive service, with upfront payment allowing for
t
seconds of operation
- Ensure the service runs successfully (eg. by observing logs on Provider)
- Shutdown the Requestor Agent & Daemon
- Ensure the service runs successfully on provider
- Wait
t
seconds
- Ensure the Provider has terminated the Activity after the budget runs out
2.2. Self-sustained payment
- Launch & initialize Requestor
yagna
daemon
- Launch Requestor Agent to start an interactive service, with self-sustained payment platform
- Ensure the service runs successfully (eg. by observing logs on Provider)
- Shutdown the Requestor Agent & Daemon
- Ensure the service runs successfully on Provider
- Restart the Requestor Agent & Daemon
- Terminate the Activity
3. Requestor delegates control
3.1. Full control delegation
- Launch & initialize Requestor
yagna
daemons A & B
- Launch Requestor Agent on Requestor A to start an interactive service, with pay-as-you-go payment scheme
- Execute a simple ExeScript batch from Requestor A to ensure successful interaction with payload
- Grant control over the Agreement to Requestor B
- Launch Requestor Agent on Requestor B
- Execute a simple ExeScript batch from Requestor B to ensure successful interaction with payload
- Terminate the Activity from Requestor B
3.2. Partial control delegation
…basically run scenarios as in 3.1., but granting various atomic permissions and validating that respective actions are permitted/forbidden accordingly.