1 | var utils = require('./utils')
|
2 | var backbeam = utils.backbeam()
|
3 | var assert = require('assert')
|
4 |
|
5 | require('./aws-mock')
|
6 |
|
7 | describe('API methods', () => {
|
8 |
|
9 | before(() => utils.init())
|
10 |
|
11 | it('#apiCreateEndpoint', () => {
|
12 | var params = {
|
13 | method: 'POST',
|
14 | path: '/test',
|
15 | functionName: 'home',
|
16 | }
|
17 | return backbeam.apiCreateEndpoint(params)
|
18 | .then(() => backbeam.readConfig())
|
19 | .then((data) => {
|
20 | var endpoint = backbeam._findEndpoint(data, params)
|
21 | assert.deepEqual(endpoint, {
|
22 | method: 'POST',
|
23 | path: '/test',
|
24 | functionName: 'home',
|
25 | })
|
26 | })
|
27 | })
|
28 |
|
29 | it('#apiCreateEndpoint fails if endpoint already exists', () => {
|
30 | var params = {
|
31 | method: 'POST',
|
32 | path: '/test',
|
33 | functionName: 'home',
|
34 | }
|
35 | return backbeam.apiCreateEndpoint(params)
|
36 | .then(() => Promise.reject('Should have failed to create endpoint'))
|
37 | .catch((err) => {
|
38 | assert.ok(err)
|
39 | })
|
40 | })
|
41 |
|
42 | it('#apiEditEndpoint', () => {
|
43 | var old = {
|
44 | method: 'POST',
|
45 | path: '/test',
|
46 | functionName: 'home',
|
47 | }
|
48 | var params = {
|
49 | method: 'PUT',
|
50 | path: '/test/foo',
|
51 | functionName: 'home',
|
52 | }
|
53 | return backbeam.apiEditEndpoint(old, params)
|
54 | .then(() => backbeam.readConfig())
|
55 | .then((data) => {
|
56 | var endpoint = backbeam._findEndpoint(data, params)
|
57 | assert.deepEqual(endpoint, {
|
58 | method: 'PUT',
|
59 | path: '/test/foo',
|
60 | functionName: 'home',
|
61 | })
|
62 | var oldend = backbeam._findEndpoint(data, old)
|
63 | assert.ok(!oldend)
|
64 | })
|
65 | })
|
66 |
|
67 | it('#apiList', () => {
|
68 | return backbeam.apiList()
|
69 | .then(result => assert.ok(result))
|
70 | })
|
71 |
|
72 | it('#apiListStages', () => {
|
73 | return backbeam.apiListStages()
|
74 | .then(result => assert.ok(result))
|
75 | })
|
76 |
|
77 | it('#apiCreateStage', () => {
|
78 | return backbeam.apiCreateStage({ name: 'dev' })
|
79 | .then(result => assert.ok(result))
|
80 | })
|
81 |
|
82 | it('#apiDeleteEndpoint', () => {
|
83 | var params = {
|
84 | method: 'PUT',
|
85 | path: '/test/foo',
|
86 | functionName: 'home',
|
87 | }
|
88 | return backbeam.apiDeleteEndpoint(params)
|
89 | .then(() => backbeam.readConfig())
|
90 | .then((data) => {
|
91 | var endpoint = backbeam._findEndpoint(data, params)
|
92 | assert.ok(!endpoint)
|
93 | })
|
94 | })
|
95 |
|
96 | })
|