mirror of
https://github.com/balena-os/balena-supervisor.git
synced 2024-12-20 06:07:57 +00:00
75 lines
1.5 KiB
CoffeeScript
75 lines
1.5 KiB
CoffeeScript
|
m = require 'mochainon'
|
||
|
{ expect } = m.chai
|
||
|
|
||
|
{ Network } = require '../src/compose/network'
|
||
|
|
||
|
describe 'compose/network.coffee', ->
|
||
|
|
||
|
describe 'compose config -> internal config', ->
|
||
|
|
||
|
it 'should convert a compose configuration to an internal representation', ->
|
||
|
|
||
|
network = Network.fromComposeObject({ logger: null, docker: null }, 'test', 123, {
|
||
|
'driver':'bridge',
|
||
|
'ipam':{
|
||
|
'driver':'default',
|
||
|
'config':[
|
||
|
{
|
||
|
'subnet':'172.25.0.0/25',
|
||
|
'gateway':'172.25.0.1'
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
})
|
||
|
|
||
|
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({ logger: null, docker: null }, 'test', 123, {
|
||
|
'driver':'bridge',
|
||
|
'ipam':{
|
||
|
'driver':'default',
|
||
|
'config':[
|
||
|
{
|
||
|
'subnet':'172.25.0.0/25',
|
||
|
'gateway':'172.25.0.1'
|
||
|
}
|
||
|
]
|
||
|
}
|
||
|
})
|
||
|
|
||
|
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.resin.supervised': 'true'
|
||
|
}
|
||
|
})
|