Skip to content

Loading…

Pushing invalid manifest provides unhelpful feedback #29

Open
glenngillen opened this Issue · 2 comments

3 participants

@glenngillen

pvh was tried to push a manifest, which turned out to be invalid. Rather than providing a useful explanation of what went wrong it simply provided an output of the usage/help.

@mmcgrana

I ran into this today. The problems happens even for the simpler case of kensa test manifest and even more confusingly for e.g. kensa test provision. Here's a test case (the broken manifest in this case was missing a comma):

/tmp $ mkdir test
/tmp $ cd test/
/tmp/test $ curl -o addon-manifest.json https://raw.github.com/gist/ae63d1161bd5c64a48ed/c427d79d1a09eed1aaf9d0393b72cedb6daf1121/manifest-broken.json
/tmp/test $ kensa test manifest

Usage: kensa [OPTIONS] command
       kensa init
       kensa create <app_name> --template
       kensa test   <type> [arg1 arg2 ...]
       kensa run    <command> [arg1 arg1 ...]

OPTIONS

  -f, --filename path-to-file
    Sets the manifest file to operate on, default is addon-manifest.json.

  -h, --help
    Show this message

  -p, --plan
    Provision the specified plan instead of "test"

  --async
    Check provision call with async response.

  --without-sso
    Skip single sign-on authentication when doing provision calls

  --post
    Use HTTP POST for single sign-on instead of GET

  --template
    Name of git template on github or full url of git repo.

COMMANDS

  init            Creates a skeleton manifest

  create <app>    Clone a git repo that contains a template add-on

  test <type>     Simulate call from Heroku (provision or deprovision)

  run <command>   Provisions a resource and runs command in returned ENV

  sso <id>        Launches the browser on a Heroku session for the specified id

  push            Send the manifest to Heroku

  pull <id>       Fetch the latest manifest from Heroku

TEST TYPES

  provision [optional params] 
    Simulate a provision call from Heroku.
    [optional params]
      accepts extra command options and passes them on to the provision request
      ie: kensa test provision --foo bar

  deprovision <id>
    Simulate a deprovision call from Heroku.

  planchange <id> <new_plan>
    Simulate a plan change call from Heroku.

  sso <id>
    Simulate a single sign-on call from Heroku.

  manifest
    Confirm that the manifest is valid.  Automatically runs before all tests.

  all
    runs provision, planchange, and deprovision tests.  
    defaults to using 'foo' for planchange plan.

/tmp/test $ curl -o addon-manifest.json https://raw.github.com/gist/ae63d1161bd5c64a48ed/43f4dddac795e240fe86f2285d418d1d2a18af16/manifest-fixed.json
/tmp/test $ kensa test manifest


Testing manifest id key
  Check if exists [PASS]
  Check is a string [PASS]
  Check is not blank [PASS]

Testing manifest api key
  Check if exists [PASS]
  Check is a hash [PASS]
  Check contains password [PASS]
  Check contains test url [PASS]
  Check contains production url [PASS]
  Check production url uses SSL [PASS]
  Check sso url uses SSL [PASS]
  Check contains config_vars array [PASS]
  Check containst at least one config var [PASS]
  Check all config vars are uppercase strings [PASS]
  Check all config vars are prefixed with the addon id [PASS]
  Check deprecated fields [PASS]

done.
/tmp/test $ kensa version
Kensa 1.4.1
@friism

I encountered this also, not helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.