{"id":21524716,"url":"https://github.com/assertedio/asrtd","last_synced_at":"2025-03-17T18:17:11.553Z","repository":{"id":43944563,"uuid":"265860299","full_name":"assertedio/asrtd","owner":"assertedio","description":"asserted.io command line interface","archived":false,"fork":false,"pushed_at":"2023-01-11T22:29:06.000Z","size":4455,"stargazers_count":0,"open_issues_count":27,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T05:23:35.810Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/assertedio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-21T13:48:53.000Z","updated_at":"2020-08-12T14:00:56.000Z","dependencies_parsed_at":"2023-02-09T08:46:19.079Z","dependency_job_id":null,"html_url":"https://github.com/assertedio/asrtd","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assertedio%2Fasrtd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assertedio%2Fasrtd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assertedio%2Fasrtd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/assertedio%2Fasrtd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/assertedio","download_url":"https://codeload.github.com/assertedio/asrtd/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244085011,"owners_count":20395523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T01:28:42.600Z","updated_at":"2025-03-17T18:17:11.526Z","avatar_url":"https://github.com/assertedio.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# asrtd\n\n![npm](https://img.shields.io/npm/v/asrtd)\n![CircleCI](https://img.shields.io/circleci/build/github/assertedio/asrtd)\n![GitHub](https://img.shields.io/github/license/assertedio/asrtd)\n\n![asserted logo](https://raw.githubusercontent.com/assertedio/asrtd/master/images/logo-dark.png)\n\n[asserted.io](https://asserted.io) command line interface\n\nTest in prod. Continously integration test your app with tests written in [Mocha](https://mochajs.org/).\n\n## Installation\n\nInstall the command line client and log in. \n\n```bash\nnpm i -g asrtd\nasrtd login\n```\n\nMove to your project directory and initialize.\n\n```bash\ncd my-project\nasrtd init\n```\n\nThis will create an `.asserted/` directory containing the following:\n\n```bash\nroutine.json    ## Routine configuration with interval and mocha config\npackage.json    ## NPM package defining the (currently) fixed set of dependencies available during testing\nexamples/       ## Directory containing examples, can be modified or removed   \n```\n\n## Developing Locally\n\nCreate some tests inside `.asserted/` (or modify the tests in `examples/`), then run them using the command below:\n\n```bash\nasrtd run\n```\n\n![asrtd records](https://raw.githubusercontent.com/assertedio/asrtd/master/images/local.png)\n\nBy default, test files should be suffixed with `.asrtd.js` to be picked up by Mocha, but that can be configured in `routine.json`.\n\n## Push to asserted.io\n\nWhen you're ready to run them continuously, use:\n\n```bash\nasrtd push\n```\n\nThey'll immediately start running on asserted.io with the interval that you specified. \nGo to `app.asserted.io` to configure the notification preferences for test failures to get pinged by email, SMS, or Slack webhook.\n\n## Status, Timeline, and Records\n\nTo see the current status of the routine associated with the current directory, run:\n\n```bash\nasrtd status\n```\n\n![asrtd records](https://raw.githubusercontent.com/assertedio/asrtd/master/images/status.png)\n\nTo get a timeline of the how the status has changed recently, run:\n\n```bash\nasrtd timeline\n```\n\n![asrtd records](https://raw.githubusercontent.com/assertedio/asrtd/master/images/timeline.png)\n\nTo get a list of recent records, run:\n\n```bash\nasrtd records\n```\n\n![asrtd records](https://raw.githubusercontent.com/assertedio/asrtd/master/images/records.png)\n\n\n\n# Commands\n\nAt any time you can run `asrtd --help` to get a list of available commands.\n\n![asrtd records](https://raw.githubusercontent.com/assertedio/asrtd/master/images/help.png)\n\n\n# Dependencies\n\n## Fixed Dependencies\n\nThe dependencies available on the free plan are fixed, but they should cover most major use cases.\n\nFor cases where custom dependencies are required, upgrade to a paid plan.\n\n### Major libraries\n\n- mocha - [NPM](http://npmjs.com/package/mocha) - [Docs](https://mochajs.org/)\n- chai - [NPM](https://www.npmjs.com/package/chai) - [Docs](https://www.chaijs.com/)\n- sinon - [NPM](https://www.npmjs.com/package/sinon) - [Docs](https://sinonjs.org/)\n- axios - [NPM](https://www.npmjs.com/package/axios) - [Docs](https://www.npmjs.com/package/axios)\n- lodash - [NPM](https://www.npmjs.com/package/lodash) - [Docs](https://lodash.com/)\n\n### All Available Dependencies\n\n```json\n{\n    \"ajv\": \"^6.12.2\",\n    \"async\": \"^3.2.0\",\n    \"axios\": \"^0.19.2\",\n    \"bcrypt\": \"^4.0.1\",\n    \"bluebird\": \"^3.7.2\",\n    \"chai\": \"^4.2.0\",\n    \"cookie\": \"^0.4.1\",\n    \"crypto-js\": \"^4.0.0\",\n    \"dotenv\": \"^8.2.0\",\n    \"faker\": \"^4.1.0\",\n    \"fs-extra\": \"^9.0.0\",\n    \"getenv\": \"^1.0.0\",\n    \"got\": \"^11.1.3\",\n    \"http-status\": \"^1.4.2\",\n    \"ip\": \"^1.1.5\",\n    \"jsdom\": \"^16.2.2\",\n    \"jsonwebtoken\": \"^8.5.1\",\n    \"lodash\": \"^4.17.15\",\n    \"luxon\": \"^1.24.1\",\n    \"mocha\": \"^7.1.2\",\n    \"moment\": \"^2.25.3\",\n    \"ms\": \"^2.1.2\",\n    \"node-fetch\": \"^2.6.0\",\n    \"qs\": \"^6.9.4\",\n    \"ramda\": \"^0.27.0\",\n    \"request\": \"^2.88.2\",\n    \"request-promise\": \"^4.2.5\",\n    \"sinon\": \"^9.0.2\",\n    \"tar\": \"^6.0.2\",\n    \"underscore\": \"^1.10.2\",\n    \"uuid\": \"^8.0.0\",\n    \"validator\": \"^13.0.0\"\n}\n```\n\n## Custom Dependencies\n\nFor paid plans, custom dependencies are an option.\nTo use custom dependencies, just change the \"dependencies\" entry in your `routine.json` to \"custom\", as shown below.\n\n```json5\n{\n  \"id\": \"rt-GKgRG\",\n  \"projectId\": \"p-1HLbs9Z\",\n  \"name\": \"custom-dep-tests\",\n  \"description\": \"Tests with Custom Dependencies\",\n  \"interval\": {\n    \"unit\": \"min\",\n    \"value\": 10\n  },\n  \"dependencies\": \"custom\", // The \"custom\" option is available on paid plans\n  \"mocha\": {\n    \"files\": [\n      \"**/*.asrtd.js\"\n    ],\n    \"ignore\": [],\n    \"bail\": false,\n    \"ui\": \"bdd\"\n  },\n  \"timeoutSec\": 10\n}\n```\n\nOnce that change is made, any subsequent pushes will include all of the dependencies listed in the \"dependencies\" entry of your `package.json`. \"devDependencies\" and \"peerDependencies\" are ignored.\n\nA modified version of `npm-shrinkwrap` is used to capture the exact versions of the dependencies in your current `node_modules` folder during the push.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassertedio%2Fasrtd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fassertedio%2Fasrtd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fassertedio%2Fasrtd/lists"}