1 | {call} = require "when/generator"
|
2 | amen = require "amen"
|
3 | assert = require "assert"
|
4 |
|
5 | cson = require "c50n"
|
6 | {read} = require "fairmont"
|
7 | {resolve} = require "path"
|
8 |
|
9 | pbx = require "../src/pbx"
|
10 |
|
11 | pandaconfig = null
|
12 |
|
13 | call ->
|
14 | try
|
15 | pandaconfig = yield cson.parse (read(resolve("#{process.env.HOME}/.pandacluster.cson")))
|
16 | catch error
|
17 | assert.fail error, null, "Credential file ~/.pandacluster.cson missing"
|
18 |
|
19 | amen.describe "Huxley API", (context) ->
|
20 |
|
21 | cluster_name = "peter-cli-test"
|
22 | secret_token = null
|
23 | cluster_url = null
|
24 | {url, email, key_pair, public_keys} = pandaconfig
|
25 |
|
26 | context.test "Create a user", (context) ->
|
27 |
|
28 | user = (yield pbx.create_user pandaconfig)
|
29 | {secret_token} = (JSON.parse user).user
|
30 |
|
31 |
|
32 | assert.ok user
|
33 | assert.ok secret_token
|
34 |
|
35 | context.test "Create a cluster", ->
|
36 | pandaconfig.cluster_name = cluster_name
|
37 | pandaconfig.secret_token = secret_token
|
38 | location =
|
39 | (yield pbx.create_cluster pandaconfig)
|
40 |
|
41 |
|
42 | cluster_url = location
|
43 | assert.ok cluster_url
|
44 |
|
45 | console.log "*****cluster created, cluster_url: ", cluster_url
|
46 |
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 | cluster_status =
|
54 | (yield pbx.wait_on_cluster {cluster_url, secret_token, url})
|
55 |
|
56 | console.log "*****cluster_status is done: ", cluster_status
|
57 | assert.ok cluster_status
|
58 |
|
59 | context.test "Delete a cluster", ->
|
60 | url = pandaconfig.url
|
61 |
|
62 | response = (yield pbx.delete_cluster {cluster_url, secret_token, url})
|
63 | console.log "***** done deleting"
|