3.0.3 • Published 12 months ago

alola v3.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
12 months ago

alola

npm version: alola zero dependencies code style: prettier

curl -i <url> | alola | fx .
  • glue beetween curl -i and cli JSON parser tool of your choice like jq or fx
  • it was built with unix-philosophy in the mind
  • runs assertions on JSON
  • no bail-out: it runs every assertions
  • CI-friendly: process exit code is always the number of failed testcases

usage

# npm install -g alola
# or
# npx alola (recommended)

curl -i <url> | npx alola [assertions]

examples

curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ \
  | npx alola

# output

{
  "redirects": [],
  "protocol": "HTTP/1.1",
  "status": 200,
  "statusText": "OK",
  "headers": {
    "date": "Sun, 10 Jul 2022 08:30:19 GMT",
    "content-type": "application/json",
    "content-length": "68",
    "connection": "keep-alive",
    "x-amzn-requestid": "6f38be71-8c2a-4106-8bd5-6a2a0726d831",
    "x-amzn-trace-id": "root=1-62ca8e1b-3fa47e01777132441c03e3de;sampled=0"
  },
  "body": {
    "date": 1657441819664,
    "foobar": 42,
    "author": "balazs4",
    "name": "alola"
  }
}
# follows redirections
curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ --follow \
  | npx alola

# assertion
curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ \
  | npx alola \
   'status should be 200' \
   'headers.content-type should match json'\
   'body.author should be balazs4'

# silent assertion
curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ \
  | npx alola 'status should be 200' 2>/dev/null

# assertion only
curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ \
  | npx alola 'status should be 200' 1>/dev/null

# json assertion output
curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ \
  | ALOLA_REPORT=json npx alola 'status should be 200' 1>/dev/null

# middleware
curl -i https://ewqfsixnkkhp3syjy65heuhkou0dogwr.lambda-url.eu-central-1.on.aws/ \
  | npx alola 'status should be 200' 'headers.content-type should match json' \
  | fx 'res => res.body.name + " by " + res.body.author'

assertions

<key> should be <expected-value>
<key> should not be <expected-value>
<key> should match <expected-regex>
<key> should not match <expected-regex>

more details

configuration

You can configure alola with the following environment variables:

Environment variableDescriptionDefault valuePossible values
ALOLA_REPORTresult reportertexttext,json
ALOLA_CUSTOMany resolvable path to the custom assertions./.alola.js

author

balazs4 - https://twitter.com/balazs4

3.0.3

12 months ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.0

2 years ago

2.3.2

2 years ago

2.4.0

2 years ago

2.3.0

2 years ago

2.3.1

2 years ago

2.2.0

3 years ago

2.1.2

4 years ago

2.1.1

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago

1.1.2

4 years ago

0.1.0

4 years ago