UNPKG

1.94 kBJavaScriptView Raw
1'use strict';
2
3const test = require('ava');
4const spawn = require('child_process').spawn;
5
6function 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
35test.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 // run the delete after deployment success
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
69test.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 // run the delete after deployment success
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});