UNPKG

2.36 kBJavaScriptView Raw
1'use strict';
2
3const { resolve } = require('path');
4
5const chai = require('chai');
6
7const { getServiceSpecs } = require('../js/utils');
8
9describe('getServiceSpecs', function () {
10 const assert = chai.assert;
11 const projectDir = resolve(__dirname, 'fixtures/project-a');
12
13 it('get specs from default compose file', async () => {
14 const composeFile = resolve(projectDir, 'dc.prod.yml');
15 const result = await getServiceSpecs(composeFile);
16 assert.deepEqual(result, {
17 'back-a': {
18 build: { context: './images/back-a' },
19 manifest: {
20 service: 'back-a',
21 cargoApp: true,
22 cargoFrontend: false,
23 watchable: true,
24 unitTests: {
25 enable: true,
26 service: 'test-back-a',
27 dependencies: ['test-store-a']
28 }
29 }
30 },
31 'back-b': {
32 build: { context: './images/back-b' },
33 manifest: {
34 service: 'back-b',
35 cargoApp: true,
36 cargoFrontend: false,
37 watchable: false,
38 unitTests: {
39 enable: true,
40 service: 'test-back-b'
41 }
42 }
43 },
44 'back-c': {
45 build: { context: './images/back-c' },
46 manifest: {
47 service: 'back-c',
48 cargoApp: true,
49 cargoFrontend: false,
50 watchable: true,
51 unitTests: {
52 enable: false
53 }
54 }
55 },
56 'front-a': {
57 build: { context: './images/front-a' },
58 manifest: {
59 service: 'front-a',
60 cargoApp: false,
61 cargoFrontend: true,
62 watchable: true,
63 unitTests: {
64 enable: false
65 }
66 }
67 },
68 'front-b': {
69 build: { context: './images/front-b' },
70 manifest: {
71 service: 'front-b',
72 cargoApp: false,
73 cargoFrontend: true,
74 watchable: false,
75 unitTests: {
76 enable: false
77 }
78 }
79 },
80 'store-a': {
81 build: { context: './images/store-a' },
82 manifest: {
83 service: 'store-a',
84 cargoApp: false,
85 cargoFrontend: false,
86 watchable: false,
87 unitTests: {
88 enable: false
89 }
90 }
91 },
92 'ext-a': {
93 image: 'postgres:9-alpine'
94 }
95 })
96 });
97
98});