testaro icon indicating copy to clipboard operation
testaro copied to clipboard

Add tests with clean-room development

Open poolcvs opened this issue 1 year ago • 0 comments

The management of this application at CVS Health wishes to enhance the testaro tool with 5 new rules, using clean-room development, to avoid potential claims of misuse of software owned by others.

One contributor may perform this work, or two or more may do it in collaboration.

The work involves these steps:

  1. Clone testaro onto your development host.
  2. Get training on creating testaro rules by adding 5 training rules. This does not require clean-room development. That means that you can consult me as you create these rules. These training rules are not only for training; they are actual contributions to Testaro, adding functionality that is currently not present.
  3. Add the 5 clean-room rules. This must be done without consulting me.

All 10 rules are listed in a comment at the start of the CONSTANTS section of tests/testaro.js.

Adding a rule involves these steps:

  1. Verify that the rule fails validation by executing npm test xyz (replacing xyz with the rule ID).
  2. Read CONTRIBUTING.md to learn how to create a Testaro rule.
  3. Create a file in the testaro directory for the rule and implement the rule in that file.
  4. Validate the rule by executing npm test xyz again.
  5. Correct the rule to cure any failures and revalidate, until there are no failures.
  6. Submit a pull request for the addition.
  7. Move the entry for the rule out of its comments block into evalRules.

If you wish to participate in the work on this issue, please comment below.

You may notice that the CONTRIBUTING.md document describes validator construction as step 2 of adding a test to testaro. However, for this issue, all 10 validators have already been created. You can inspect the validation targets (in validation/tests/targets) to understand what the rules must permit and prohibit.

poolcvs avatar Nov 15 '23 20:11 poolcvs