@cumulus/integration-tests
Integration tests
Last updated 2 days ago by lfrederick .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @cumulus/integration-tests 
SYNC missed versions from official npm registry.

@cumulus/integration-tests

This package provides a CLI and functions for testing Cumulus.

⚠️ The documented API of this package will not change without a deprecation warning being provided in earlier releases. Code in this package that is not documented in this README may change without warning, and is not considered part of the package's public API.

About Cumulus

Cumulus is a cloud-based data ingest, archive, distribution and management prototype for NASA's future Earth science data streams.

Cumulus Documentation

Installation

$ npm install @cumulus/integration-tests

API

Modules

Collections
Executions
Granules
Providers
Rules

Collections

Example

const Collections = require('@cumulus/integration-test/Collections');

createCollection(prefix, [overrides]) ⇒ Promise.<Object>

Create a collection using the Cumulus API.

The default collection is very simple. It expects that, for any discovered file, the granule ID is everything in the filename before the extension. For example, a file named gran-1.txt would have a granuleId of gran-1. Filenames can only contain a single . character.

Collection defaults:

  • name: random string starting with collection-name-
  • version: random string starting with collection-version-
  • reportToEms: false
  • granuleId: '^[^.]+$'
  • granuleIdExtraction: '^([^.]+)\..+$'
  • sampleFileName: 'asdf.jpg'
  • files:
    [
      {
        bucket: 'protected',
        regex: '^[^.]+\..+$',
        sampleFileName: 'asdf.jpg'
      }
    ]
    

Kind: Exported function
Returns: Promise.<Object> - the generated collection

Param Type Description
prefix string the Cumulus stack name
[overrides] Object properties to set on the collection, overriding the defaults

Executions

Example

const Executions = require('@cumulus/integration-test/Executions');

findExecutionArn(prefix, matcher, [options]) ⇒ Promise.<string>

Find the execution ARN matching the matcher function

Kind: Exported function
Returns: Promise.<string> - the ARN of the matching execution

Param Type Default Description
prefix string the name of the Cumulus stack
matcher function a predicate function that takes an execution and determines if this is the execution that is being searched for
[options] Object
[options.timeout] integer 0 the number of seconds to wait for a matching execution to be found

getExecutionWithStatus(params) ⇒ Promise.<Object>

Wait for an execution to have an expected status and return the execution

Kind: Exported function
Returns: Promise.<Object> - the execution as returned by the GET /executions/<execution-arn> endpoint

Param Type Default Description
params Object
params.prefix string the name of the Cumulus stack
params.arn string the execution ARN to fetch
params.status string the status to wait for
[params.callback] function cumulusApiClient.invokeApifunction an async function to invoke the API Lambda that takes a prefix / user payload
[params.timeout] integer 30 the number of seconds to wait for the execution to reach a terminal state

Granules

Example

const Granules = require('@cumulus/integration-test/Granules');

getGranuleWithStatus(params) ⇒ Promise.<Object>

Wait for a granule to have an expected status and return the granule

Kind: Exported function
Returns: Promise.<Object> - the granule as returned by the GET /granules/<granule-id> endpoint

Param Type Default Description
params Object
params.prefix string the name of the Cumulus stack
params.granuleId string the granuleId of the granule
params.status string the status to wait for
[params.callback] function cumulusApiClient.invokeApifunction an async function to invoke the API Lambda that takes a prefix / user payload
[params.timeout] integer 30 the number of seconds to wait for the execution to reach a terminal state

Providers

Example

const Providers = require('@cumulus/integration-test/Providers');

createProvider(prefix, [overrides]) ⇒ Promise.<Object>

Create a provider using the Cumulus API

Provider defaults:

  • id: random string starting with provider-
  • protocol: s3
  • globalConnectionLimit: 10

Kind: Exported function
Returns: Promise.<Object> - the generated provider

Param Type Description
prefix string the Cumulus stack name
[overrides] Object properties to set on the provider, overriding the defaults

Rules

Example

const Rules = require('@cumulus/integration-test/Rules');

createOneTimeRule(prefix, [overrides]) ⇒ Promise.<Object>

Create a onetime rule using the Cumulus API

Rule defaults:

  • name: random string starting with rule_
  • rule: { type: 'onetime' }

Kind: Exported function
Returns: Promise.<Object> - the generated rule

Param Type Description
prefix string the name of the Cumulus stack
[overrides] Object properties to set on the rule, overriding the defaults

CLI Usage

Usage: cumulus-test TYPE COMMAND [options]


  Options:

    -V, --version                   output the version number
    -s, --stack-name <stackName>    AWS Cloud Formation stack name (default: null)
    -b, --bucket-name <bucketName>  AWS S3 internal bucket name (default: null)
    -w, --workflow <workflow>       Workflow name (default: null)
    -i, --input-file <inputFile>    Workflow input JSON file (default: null)
    -h, --help                      output usage information


  Commands:

    workflow  Execute a workflow and determine if the workflow completes successfully

For example, to test the HelloWorld workflow:

cumulus-test workflow --stack-name helloworld-cumulus --bucket-name cumulus-bucket-internal --workflow HelloWorldWorkflow --input-file ./helloWorldInput.json

Contributing

To make a contribution, please see our contributing guidelines.


Generated automatically using npm run build-docs

Current Tags

  • 1.23.2                                ...           latest (2 days ago)
  • 1.7.1                                ...           patch-1.7.1 (2 years ago)
  • 1.10.1-1                                ...           release-v1.10.1-1 (2 years ago)
  • 1.13.6                                ...           release-v1.13.6 (7 months ago)

62 Versions

  • 1.23.2                                ...           2 days ago
  • 1.23.1                                ...           2 days ago
  • 1.23.0                                ...           6 days ago
  • 1.22.1                                ...           24 days ago
  • 1.22.0                                ...           a month ago
  • 1.21.0                                ...           2 months ago
  • 1.20.0                                ...           2 months ago
  • 1.19.0                                ...           3 months ago
  • 1.18.0                                ...           4 months ago
  • 1.17.0-alpha                                ...           4 months ago
  • 1.17.0                                ...           5 months ago
  • 1.14.5                                ...           5 months ago
  • 1.16.1                                ...           6 months ago
  • 1.16.0                                ...           6 months ago
  • 1.15.0                                ...           7 months ago
  • 1.13.6                                ...           7 months ago
  • 1.14.4                                ...           7 months ago
  • 1.14.3                                ...           7 months ago
  • 1.14.2                                ...           8 months ago
  • 1.14.1                                ...           9 months ago
  • 1.13.5                                ...           9 months ago
  • 1.14.0                                ...           9 months ago
  • 1.13.4                                ...           10 months ago
  • 1.13.3                                ...           10 months ago
  • 1.13.2                                ...           10 months ago
  • 1.13.1                                ...           10 months ago
  • 1.13.0                                ...           a year ago
  • 1.12.1                                ...           a year ago
  • 1.12.0                                ...           a year ago
  • 1.11.3                                ...           a year ago
  • 1.11.2                                ...           a year ago
  • 1.11.1                                ...           a year ago
  • 1.11.0                                ...           a year ago
  • 1.10.4                                ...           a year ago
  • 1.10.1-1                                ...           2 years ago
  • 1.10.3                                ...           2 years ago
  • 1.10.2                                ...           2 years ago
  • 1.10.1                                ...           2 years ago
  • 1.10.0                                ...           2 years ago
  • 1.9.1                                ...           2 years ago
  • 1.9.0                                ...           2 years ago
  • 1.8.1                                ...           2 years ago
  • 1.7.1                                ...           2 years ago
  • 1.8.0                                ...           2 years ago
  • 1.7.0                                ...           2 years ago
  • 1.6.0                                ...           2 years ago
  • 1.5.5                                ...           2 years ago
  • 1.5.4                                ...           2 years ago
  • 1.5.3                                ...           2 years ago
  • 1.5.2                                ...           2 years ago
  • 1.5.1                                ...           2 years ago
  • 1.5.0                                ...           2 years ago
  • 1.4.1                                ...           2 years ago
  • 1.4.0                                ...           2 years ago
  • 1.3.0                                ...           2 years ago
  • 1.2.0                                ...           2 years ago
  • 1.1.4                                ...           2 years ago
  • 1.1.3                                ...           2 years ago
  • 1.1.2                                ...           2 years ago
  • 1.1.1                                ...           2 years ago
  • 1.1.0                                ...           2 years ago
  • 1.0.1                                ...           2 years ago
Downloads
Today 0
This Week 31
This Month 141
Last Day 0
Last Week 72
Last Month 5
Dependencies (23)
Dev Dependencies (0)
None
Dependents (1)

Copyright 2014 - 2017 © taobao.org |