1 | 'use strict';
|
2 |
|
3 | const test = require('ava');
|
4 | const spawn = require('child_process').spawn;
|
5 |
|
6 | function runCfCommand(cmd, kesFolder, deployment, template) {
|
7 | const argument = [
|
8 | 'cf',
|
9 | cmd,
|
10 | '--kes-folder',
|
11 | kesFolder,
|
12 | '--region',
|
13 | 'us-east-1',
|
14 | '--yes'
|
15 | ];
|
16 |
|
17 | if (deployment) {
|
18 | argument.push('--deployment');
|
19 | argument.push(deployment);
|
20 | }
|
21 |
|
22 | if (template) {
|
23 | argument.push('--template');
|
24 | argument.push(template);
|
25 | }
|
26 |
|
27 | if (process.env.AWS_PROFILE) {
|
28 | argument.push('--profile');
|
29 | argument.push(process.env.AWS_PROFILE);
|
30 | }
|
31 |
|
32 | return spawn('./bin/cli.js', argument);
|
33 | }
|
34 |
|
35 | test.serial.cb('create and delete full example with a template', (t) => {
|
36 | const deploy = runCfCommand(
|
37 | 'deploy',
|
38 | 'examples/app_using_template',
|
39 | 'kesTestDeployment',
|
40 | 'examples/lambdas'
|
41 | );
|
42 |
|
43 | deploy.stdout.on('data', (data) => {
|
44 | console.log(`stdout: ${data}`);
|
45 | });
|
46 |
|
47 | deploy.on('close', (code) => {
|
48 | t.is(code, 0);
|
49 |
|
50 |
|
51 | const del = runCfCommand(
|
52 | 'delete',
|
53 | 'examples/app_using_template',
|
54 | 'kesTestDeployment',
|
55 | 'examples/lambdas'
|
56 | );
|
57 |
|
58 | del.stdout.on('data', (data) => {
|
59 | console.log(`stdout: ${data}`);
|
60 | });
|
61 |
|
62 | del.on('close', (code) => {
|
63 | t.is(code, 0);
|
64 | t.end();
|
65 | });
|
66 | });
|
67 | });
|
68 |
|
69 | test.serial.cb('create and delete the lambdas example', (t) => {
|
70 | const deploy = runCfCommand(
|
71 | 'deploy',
|
72 | 'examples/lambdas',
|
73 | 'kesTestDeployment'
|
74 | );
|
75 |
|
76 | deploy.stdout.on('data', (data) => {
|
77 | console.log(`stdout: ${data}`);
|
78 | });
|
79 |
|
80 | deploy.on('close', (code) => {
|
81 | t.is(code, 0);
|
82 |
|
83 |
|
84 | const del = runCfCommand(
|
85 | 'delete',
|
86 | 'examples/lambdas',
|
87 | 'kesTestDeployment'
|
88 | );
|
89 |
|
90 | del.stdout.on('data', (data) => {
|
91 | console.log(`stdout: ${data}`);
|
92 | });
|
93 |
|
94 | del.on('close', (code) => {
|
95 | t.is(code, 0);
|
96 | t.end();
|
97 | });
|
98 | });
|
99 | });
|