Jkovarik / cumulus_test

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cumulus Framework

Build Status npm version Coverage Status

πŸ“– Documentation:

More Information

For more information about this project of more about NASA's Earth Observing System Data and Information System (EOSDIS) and its cloud work, please contact Katie Baynes or visit us at https://earthdata.nasa.gov.

πŸ”¨ Development

Installation

This is for installation for Cumulus development. See the Cumulus deployment instructions for instructions on deploying the released Cumulus packages.

Prerequisites

  • NVM and node version 8.
  • yarn
  • AWS CLI
  • BASH
  • Docker (only required for testing)
  • docker-compose (only required for testing pip install docker-compose)

Install the correct node version:

nvm install
nvm use

Install Lerna

We use Lerna to manage multiple Cumulus packages in the same repo. You need to install lerna as a global module first:

$ yarn global add lerna

Install Local Dependencies

We use yarn for local package management

$ yarn install
$ yarn ybootstrap

Building All packages:

$ yarn build

Build and watch packages:

$ yarn watch

Running the cumulus API locally

Start localstack:

$ docker-compose up local

Start the API

$ cd packages/api
$ yarn serve

πŸ“ Tests

Unit Tests

LocalStack

LocalStack provides local versions of most AWS services for testing.

The LocalStack repository has installation instructions.

Localstack is included in the docker-compose file. You only need to run the docker-compose command in the next section in order to use it with your tests.

Docker containers

Turn on the docker containers first:

$ docker-compose up local

If you prefer to run docker in detached mode (i.e. run containers in the background), run:

$ docker-compose up -d local

Run tests

Run the test commands next

$ export LOCALSTACK_HOST=localhost
$ yarn test

Integration Tests

For more information please read this.

πŸ”¦ Code Coverage and Quality

For more information please read this.

πŸ“¦ Adding New Packages

Create a new folder under packages if it is a common library or create folder under cumulus/tasks if it is a lambda task. cd to the folder and run npm init.

Make sure to name the package as @cumulus/package-name.

Running command in all package folders

$ lerna exec -- rm -rf ./package-lock.json

Cleaning Up all the repos

$ yarn clean

Contribution

Please refer to: https://github.com/nasa/cumulus/blob/master/CONTRIBUTING.md for more information.

πŸ›’ Release

To release a new version of cumulus read this.

About

License:Other


Languages

Language:JavaScript 99.0%Language:Shell 0.8%Language:HTML 0.1%Language:CSS 0.0%Language:Dockerfile 0.0%Language:nesC 0.0%