- internet-storm-center-status-report-skill is not yet published, but available at
GitHub - jrwarwick/internet-storm-center-status-report-skill: Reports the current global internet storm center condition.
(though the real question I have is clearly generalizable)
- Mark II, devkit is my test environment
I’m just now writing my first behavior/vk test, using Scenario Outline so I can provide a list of acceptable keywords, but I’m finding that the test runner tries several times to try to find each of the acceptable keywords. Instead, I would like it to succeed and move on as long as at least one of its tries does contain at least one of the keywords. How should I express that in the feature file?
More detail: Skill in a nutshell: get the current SANS ISC global threat condition and report it. So if it reports "condition is currently green " or it reports "condition is currently red " then just mark it successful and move on. But instead it is makes the call, gets green (good so far) but then it retries several times to get red and fails to get red, so fails the test.
Merely omitting the color altogether doesn’t seem best, what if the “response” was “404”? Then it should fail; so I want to include a limited range of responses, but any one of them should result in a pass.
Here is what the test definition looks like right now:
Feature: internet-storm-center-status-report Scenario Outline: Current SANS Internet Storm Center threat condition report Given an English speaking user When the user says "what is the current internet storm center condition" Then "internet-storm-center-status-report-skill" should reply with dialog from "report.status.center.storm.internet.dialog" And mycroft reply should contain "<Color>" Examples: Threat Condition Colors | Color | | green | | yellow | | red |
Maybe something like ‘And mycroft reply should contain “”’ should be ‘And mycroft reply should contain at least one “”’, which didn’t work when I tried it. Neither did:
And mycroft reply should contain “green”,“yellow”,“red”