@lpgroup/import-cli

1.4.6 • Public • Published

@lpgroup/import-cli

npm version Known Vulnerabilities Licence MIT tested with jest codecov

Cli command that imports data into rest-api, RabbitMQ and NATS.

Install

Installation of the npm

npm install @lpgroup/import-cli

Configuration

.import.json

{
  "environments": {
    "default": {
      "http": {
        "server": "https://api.thecatapi.com/v1/",
        "user": "",
        "password": "",
        "readyServer": "https://api.thecatapi.com/",
        "headers": { "x-api-key": "446825e1-284d-4d4d-8fc7-7556636211ad" }
      },
      "nats": {
        "uri": "nats://localhost:4222",
        "queue": "import-js",
        "messagePrefix": "int",
        "version": "v2"
      },
      "rabbitmq": {
        "uri": "amqps://user:password@xxxx.cloudamqp.com/user",
        "queue": "dev"
      }
    }
  },
  "requiredKeys": ["owner", "added", "changed", "url"],
  "ignoreKeyCompare": ["_id", "owner", "added", "changed", "url"]
}

Example

Add the following to import/10-votes.js.

import { axios } from "@lpgroup/import-cli";

export default async () => {
  return axios().then(async (ax) => {
    await ax.post(
      "/votes",
      {
        image_id: "good-cat",
        sub_id: "my-user-1234",
        value: 1,
      },
      {
        expected: {
          image_id: "good-cat",
          sub_id: "my-user-1234",
          value: 1,
        },
        noArraySort: true,
        ignoreError: false,
        ignoreKeyCompare: ["_id"],
        requiredKeys: ["changed"],
      },
    );
  });
};

Test Keys API:

Keys Type Description
noArraySort boolean
ignoreError boolean
ignoreKeyCompare array
requiredKeys array
expected object compares expected and actual response
expectedFile string /expected/testFileName/{expectedFile}-method-expected
writeRequest boolean/false expectedFile, will write the request if has diff
writeDiff boolean/false expectedFile, will write if has diff
writeOriginal boolean/true expectedFile, will write original, if has diff,

Add the follwing script to package.json.

{
  "scripts": {
    "import": "import-cli -v -e default -w import/"
  }
}

Run script from command line.

npm run import -- -i 10-votes

Development

yarn jest -- import-cli
yarn workspace @lpgroup/import-cli lpimport

Contribute

See contribute

License

MIT - See licence

Package Sidebar

Install

npm i @lpgroup/import-cli

Weekly Downloads

29

Version

1.4.6

License

MIT

Unpacked Size

15.7 kB

Total Files

8

Last publish

Collaborators

  • arlukin
  • muscot