balena-supervisor/test/18-compose-network.coffee
Cameron Diver e5d7379b74
Keep the network and volume models consistent across usage
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2019-07-03 10:42:42 +01:00

75 lines
1.5 KiB
CoffeeScript

{ expect } = require './lib/chai-config'
{ Network } = require '../src/compose/network'
describe 'compose/network', ->
describe 'compose config -> internal config', ->
it 'should convert a compose configuration to an internal representation', ->
network = Network.fromComposeObject('test', 123, {
'driver': 'bridge',
'ipam': {
'driver': 'default',
'config': [
{
'subnet': '172.25.0.0/25',
'gateway': '172.25.0.1'
}
]
}
}, { logger: null, docker: null })
expect(network.config).to.deep.equal({
driver: 'bridge'
ipam: {
driver: 'default'
config: [
subnet: '172.25.0.0/25'
gateway: '172.25.0.1'
]
options: {}
}
enableIPv6: false,
internal: false,
labels: {}
options: {}
})
describe 'internal config -> docker config', ->
it 'should convert an internal representation to a docker representation', ->
network = Network.fromComposeObject('test', 123, {
'driver': 'bridge',
'ipam': {
'driver': 'default',
'config': [
{
'subnet': '172.25.0.0/25',
'gateway': '172.25.0.1'
}
]
}
}, { logger: null, docker: null })
expect(network.toDockerConfig()).to.deep.equal({
Name: '123_test',
Driver: 'bridge',
CheckDuplicate: true,
IPAM: {
Driver: 'default',
Config: [{
Subnet: '172.25.0.0/25'
Gateway: '172.25.0.1'
}]
Options: {}
}
EnableIPv6: false,
Internal: false,
Labels: {
'io.balena.supervised': 'true'
}
})