Skip to content
This repository has been archived by the owner on Jan 19, 2021. It is now read-only.

TestArmada/cargo

Repository files navigation

⚠️⚠️ DEPRECATED ⚠️⚠️

This project, and it's related TestArmada projects, will no longer be supported. No further work from the owners will be done, and no PRs will be reviewed.

Data provider for testarmada

Build Status License: MIT codecov

file format

Provider should only support .js. .js support is to allow user generate some random data on the fly, like user registration scenario that requires fresh email account every time.

Each .js data file should return a json object.

supported files

   ${DPRO}.js          : main test data
   ${DPRO_INST}.js : (optional) extra data that only applies to certain instance

default file location

  ${REPO_ROOT}/config/data

  # file location can be changed by using
  ${DPRO_LOCATION}

file loading rules

basic

 # to only load from ${REPO_ROOT}/config/data/local.js
 DPRO=local ./node_modules/.bin/magellan --test xxxxx ......

 # to only load from ${REPO_ROOT}/config/data/prod-a.js
 DPRO=prod-a ./node_modules/.bin/magellan --test xxxxx ......

advantage

 # change file location to ${REPO_ROOT}/config/staging.js
 DPRO_LOCATION="./config/" DPRO=staging ./node_modules/.bin/magellan --test xxxxx ......

 # load both ${REPO_ROOT}/config/data/staging.js and ${REPO_ROOT}/config/data/staging-2.js
 # config in staging-2.js will be used if common config exists.
 DPRO=staging DPRO_INST=2 ./node_modules/.bin/magellan --test xxxxx ......

usage

 /** data file
 *{
 * "beijing": {
 *     "name": "Beijing",
 *     "country": "China",
 *     "description": "It is the most populous city in the China"
 *   },
 *   "timestamp": function () {
 *     return new Date().getTime();
 *  }
 *}
 */
 var td = require("dpro");

 console.log(td.beijing, td.beijing.description);
 console.log(td.timestamp());

License

Documentation in this project is licensed under Creative Commons Attribution 4.0 International License. Full details available at https://creativecommons.org/licenses/by/4.0