Big News: Socket Selected for OpenAI's Cybersecurity Grant Program.Details
Socket
Book a DemoSign in
Socket

rotan

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rotan

bamboo test utils

latest
Source
npmnpm
Version
2.0.0
Version published
Maintainers
1
Created
Source

rotan

npm version Build Status Coverage Status JavaScript Style Guide

Rotan is a small command line utility to easily test your artifacts (in Bamboo :). It can output tap or xunit reports.

Currently you can do the following:

  • test if your OpenAPI or Swagger files are valid
  • test if your JSON/YAML is conform a JSON schema
  • run a custom tape test

Installation

npm install rotan

Getting help

  • rotan -h
  • rotan openapi -h
  • rotan json -h
  • rotan js -h

Examples

Validate your OpenAPI or Swagger files

tap output:

rotan openapi openapi-definition.json

TAP version 13
# Parse file openapi-definition.json
ok 1 Valid swagger file

1..1
# tests 1
# pass  1

# ok

xunit reporting:

rotan openapi openapi-definition.json -x

<?xml version="1.0"?>
<testsuites>
  <testsuite name="Parse file use-rotan-swagger.json" tests="1" failures="0" errors="0">
    <testcase name="#1 Valid swagger file"/>
  </testsuite>
</testsuites>

Validate a JSON/YAML file with a JSON schema

rotan json schema.json swagger.json

TAP version 13
# Structure of input file should conform to the schema
ok 1 swagger.json is valid
ok 2 schema.json is valid JSON
ok 3 swagger.json is conform schema.json

1..3
# tests 3
# pass  3

# ok
rotan json schema.json swagger.json -x

<?xml version="1.0"?>
<testsuites>
  <testsuite name="Structure of iput file should conform to the schema" tests="3" failures="0" errors="0">
    <testcase name="#1 swagger.json is valid"/>
    <testcase name="#2 schema.json is valid JSON"/>
    <testcase name="#3 swagger.json is conform schema.json"/>
  </testsuite>
</testsuites>
# inject snippets into your openapi before validating
rotan json schema.json swagger.yaml -i 'snippets/*.yaml'
TAP version 13
# Structure of input file should conform to the schema
ok 1 swagger.yaml is valid
ok 2 schema.json is valid JSON
ok 3 swagger.yaml is conform schema.json

1..3
# tests 3
# pass  3

# ok

Custom tape test

Create your tape tests like this:

// tests.js
exports.test = function (options) {
  var test = options.tape.createHarness()
  var stream = test.createStream()

  test('it should return ok', function (t) {
    t.plan(1)
    t.ok(true, 'looking good')
  })

  return stream
}

Then run it like this:

rotan js tests.js

TAP version 13
# it should return ok
ok 1 looking good

1..1
# tests 1
# pass  1

# ok

or

rotan js tests.js -x

<?xml version="1.0"?>
<testsuites>
  <testsuite name="it should return ok" tests="1" failures="0" errors="0">
    <testcase name="#1 looking good"/>
  </testsuite>
</testsuites>

Keywords

bamboo

FAQs

Package last updated on 07 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts