-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathadd-services.test.js
More file actions
102 lines (80 loc) · 7.54 KB
/
add-services.test.js
File metadata and controls
102 lines (80 loc) · 7.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
const { join } = require('node:path')
const { execSync } = require('node:child_process')
const { expect } = require('chai')
const fs = require('node:fs')
const TempUtil = require('./tempUtil')
const tempUtil = new TempUtil(__filename, { local: true })
const { getFileHash, updateDependency, setupHack, undoSetupHack } = require('./util')
describe('cds add cap-operator', () => {
let temp, bookshop, orignalXsSecurityJson
before(async () => {
await tempUtil.cleanUp()
temp = await tempUtil.mkTempFolder()
bookshop = join(temp, 'bookshop')
execSync(`cds init bookshop --nodejs --add xsuaa,html5-repo,destination`, { cwd: temp })
updateDependency(bookshop)
execSync(`npm install`, { cwd: bookshop })
setupHack(bookshop)
orignalXsSecurityJson = fs.readFileSync(bookshop+"/xs-security.json", 'utf8')
})
afterEach(async () => {
if (cds.utils.exists(join(bookshop, 'chart'))) execSync(`rm -r chart`, { cwd: bookshop })
})
after(async () => {
undoSetupHack(bookshop)
await tempUtil.cleanUp()
})
it('Add cap-operator chart with service only', async () => {
execSync(`cds add cap-operator --with-service-only`, { cwd: bookshop })
expect(getFileHash(join(__dirname,'files/expectedChart/Chart-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/Chart.yaml')))
expect(getFileHash(join(__dirname,'../files/chart/values.schema.json'))).to.equal(getFileHash(join(bookshop, 'chart/values.schema.json')))
expect(getFileHash(join(__dirname,'files/expectedChart/values-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/values.yaml')))
})
it('Add cap-operator chart with service only and mta', async () => {
expect(() => execSync(`cds add cap-operator --with-service-only --with-mta mta.yaml`, { cwd: bookshop })).to.throw('Option \'--with-service-only\' cannot be used with \'--with-mta\' or \'--with-mta-extensions\'')
})
it('Add templates to an existing cap-operator service only chart', async () => {
execSync(`cds add cap-operator --with-service-only`, { cwd: bookshop })
execSync(`cds add cap-operator --with-templates`, { cwd: bookshop })
expect(getFileHash(join(__dirname,'files/expectedChart/Chart-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/Chart.yaml')))
expect(getFileHash(join(__dirname,'files/expectedChart/values-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/values.yaml')))
expect(getFileHash(join(__dirname,'files/expectedChart/templates/_helpers.tpl'))).to.equal(getFileHash(join(bookshop, 'chart/templates/_helpers.tpl')))
expect(getFileHash(join(__dirname,'files/expectedChart/templates/cap-operator-cros-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/cap-operator-cros.yaml')))
expect(getFileHash(join(__dirname,'files/domain.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/domain.yaml')))
expect(getFileHash(join(__dirname,'../files/chart/values.schema.json'))).to.equal(getFileHash(join(bookshop, 'chart/values.schema.json')))
expect(getFileHash(join(__dirname,'../files/commonTemplates/service-binding.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/service-binding.yaml')))
expect(getFileHash(join(__dirname,'../files/commonTemplates/service-instance.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/service-instance.yaml')))
})
it('Add cap-operator configurable template chart with service only', async () => {
execSync(`cds add cap-operator --with-service-only --with-configurable-templates`, { cwd: bookshop })
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/Chart-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/Chart.yaml')))
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/values-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/values.yaml')))
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/templates/_helpers.tpl'))).to.equal(getFileHash(join(bookshop, 'chart/templates/_helpers.tpl')))
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/templates/cap-operator-cros-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/cap-operator-cros.yaml')))
expect(getFileHash(join(__dirname,'files/domain.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/domain.yaml')))
expect(getFileHash(join(__dirname,'../files/configurableTemplatesChart/values.schema.json'))).to.equal(getFileHash(join(bookshop, 'chart/values.schema.json')))
expect(getFileHash(join(__dirname,'../files/commonTemplates/service-binding.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/service-binding.yaml')))
expect(getFileHash(join(__dirname,'../files/commonTemplates/service-instance.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/service-instance.yaml')))
})
it('Add cap-operator service only chart with IAS & AMS', async () => {
execSync(`cds add ias,ams`, { cwd: bookshop })
execSync(`cds add cap-operator --with-service-only --with-templates`, { cwd: bookshop })
expect(getFileHash(join(__dirname,'files/expectedChart/Chart-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/Chart.yaml')))
expect(getFileHash(join(__dirname,'files/expectedChart/values-svc-ias.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/values.yaml')))
expect(getFileHash(join(__dirname,'files/expectedChart/templates/_helpers-ias.tpl'))).to.equal(getFileHash(join(bookshop, 'chart/templates/_helpers.tpl')))
expect(getFileHash(join(__dirname,'files/expectedChart/templates/cap-operator-cros-svc-ias.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/cap-operator-cros.yaml')))
expect(getFileHash(join(__dirname,'../files/chart/values.schema.json'))).to.equal(getFileHash(join(bookshop, 'chart/values.schema.json')))
})
it('Add cap-operator configurable template service only chart with IAS & AMS', async () => {
execSync(`cds add ias,ams`, { cwd: bookshop })
execSync(`cds add cap-operator --with-service-only --with-configurable-templates`, { cwd: bookshop })
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/Chart-svc.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/Chart.yaml')))
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/values-svc-ias.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/values.yaml')))
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/templates/_helpers-ias.tpl'))).to.equal(getFileHash(join(bookshop, 'chart/templates/_helpers.tpl')))
expect(getFileHash(join(__dirname,'files/expectedConfigurableTemplatesChart/templates/cap-operator-cros-svc-ias.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/cap-operator-cros.yaml')))
expect(getFileHash(join(__dirname,'files/domain.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/domain.yaml')))
expect(getFileHash(join(__dirname,'../files/configurableTemplatesChart/values.schema.json'))).to.equal(getFileHash(join(bookshop, 'chart/values.schema.json')))
expect(getFileHash(join(__dirname,'../files/commonTemplates/service-binding.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/service-binding.yaml')))
expect(getFileHash(join(__dirname,'../files/commonTemplates/service-instance.yaml'))).to.equal(getFileHash(join(bookshop, 'chart/templates/service-instance.yaml')))
})
})