Skip to content

cf-platform-eng/isv-ci-generator

Repository files navigation

ISV CI Test Yeoman Generator

This is a Yeoman Generator that generates a scaffold which contains just enough to get you (our valued partner) started with your own ISV-CI tests.

Current scaffolds include:

  • app, which is a simple 'Hello World' example.
  • tile, which will install and uninstall your tile, just like our pre-canned version that you can expand with your own custom tests.
  • helm, which will install and test a helm chart. This is pending the creation of a pre-canned version.

Usage

  1. Gather prerequisites

    1. You will need NPM installed on your computer

    2. Install Yeoman if you don't have it already

    npm install -g yo
  2. Install the generator.

    1. Download the latest release of isv-ci-generator.tgz

    2. Extract the tarball to a directory. You should put this somewhere meaningful if you want to keep the generator installed.

    mkdir isv-ci-generator
    cd isv-ci-generator
    tar xzf <path to downloaded isv-ci-generator.tgz>
    1. In the generator directory, link the generator to Yeoman
    npm link
  3. Run the generator

  • To generate a simple hello world test:
    cd <project parent> 
    yo isv-ci <your-test-name> # Test scaffold is generated in <project parent>/<your-test-name> 
  • To generate a helm chart install/uninstall test:
    cd <project parent> 
    yo isv-ci:helm <your-test-name> # Test scaffold for helm test is generated in <project parent>/<your-test-name> 
    Follow the instructions provided by the generator to get started. Instructions to enhance the default helm test can be found here.

Development

  1. Link this generator to the Yeoman registry

    run npm link in this directory

  2. use Yeoman to test the generator. To generate a simple hello world test:

    yo isv-ci my-sample-test

Tests

Template test is app/index.test.js

Unit tests are included with the template, and can be exercised with make test which:

  1. runs the template, building the app in ./temp/example
  2. runs the bats tests inside the example directory.