1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-22 23:09:41 +02:00

Added VolumesFrom to container start.

This commit is contained in:
Kevan Ahlquist 2015-01-20 23:31:57 -06:00
parent 4d22a04484
commit c8213bbf33
3 changed files with 142 additions and 23 deletions

View file

@ -1,9 +1,9 @@
describe('startContainerController', function () {
describe('startContainerController', function() {
var scope, $location, createController, mockContainer, $httpBackend;
beforeEach(angular.mock.module('dockerui'));
beforeEach(inject(function ($rootScope, $controller, _$location_) {
beforeEach(inject(function($rootScope, $controller, _$location_) {
$location = _$location_;
scope = $rootScope.$new();
@ -13,13 +13,13 @@ describe('startContainerController', function () {
});
};
angular.mock.inject(function (_Container_, _$httpBackend_) {
angular.mock.inject(function(_Container_, _$httpBackend_) {
mockContainer = _Container_;
$httpBackend = _$httpBackend_;
});
}));
describe('Create and start a container with port bindings', function () {
describe('Create and start a container with port bindings', function() {
it('should issue a correct create request to the Docker remote API', function() {
var controller = createController();
var id = '6abd8bfba81cf8a05a76a4bdefcb36c4b66cd02265f4bfcd0e236468696ebc6c';
@ -29,19 +29,36 @@ describe('startContainerController', function () {
"MemorySwap": 0,
"CpuShares": 1024,
"Cmd": null,
"VolumesFrom": "",
"VolumesFrom": [],
"Env": [],
"ExposedPorts":{
"ExposedPorts": {
"9000/tcp": {},
},
"HostConfig": {
"PortBindings":{
"PortBindings": {
"9000/tcp": [{
"HostPort": "9999",
"HostIp": "10.20.10.15",
}]
},
}};
}
};
$httpBackend.expectGET('/dockerapi/containers/json?all=1').respond([{
"Command": "./dockerui -e /docker.sock",
"Created": 1421817232,
"Id": "b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f",
"Image": "dockerui:latest",
"Names": ["/dockerui"],
"Ports": [{
"IP": "0.0.0.0",
"PrivatePort": 9000,
"PublicPort": 9000,
"Type": "tcp"
}],
"Status": "Up 2 minutes"
}]);
$httpBackend.expectPOST('/dockerapi/containers/create?name=container-name', expectedBody).respond({
"Id": id,
"Warnings": null
@ -52,14 +69,18 @@ describe('startContainerController', function () {
});
scope.config.name = 'container-name';
scope.config.portBindings = [{ip: '10.20.10.15', extPort: '9999', intPort: '9000'}]
scope.config.portBindings = [{
ip: '10.20.10.15',
extPort: '9999',
intPort: '9000'
}]
scope.create();
$httpBackend.flush();
});
});
describe('Create and start a container with environment variables', function () {
describe('Create and start a container with environment variables', function() {
it('should issue a correct create request to the Docker remote API', function() {
var controller = createController();
var id = '6abd8bfba81cf8a05a76a4bdefcb36c4b66cd02265f4bfcd0e236468696ebc6c';
@ -69,11 +90,29 @@ describe('startContainerController', function () {
"MemorySwap": 0,
"CpuShares": 1024,
"Cmd": null,
"VolumesFrom": "",
"Env":["SHELL=/bin/bash", "TERM=xterm-256color"],
"ExposedPorts":{},
"HostConfig": {"PortBindings":{}}
"VolumesFrom": [],
"Env": ["SHELL=/bin/bash", "TERM=xterm-256color"],
"ExposedPorts": {},
"HostConfig": {
"PortBindings": {}
}
};
$httpBackend.expectGET('/dockerapi/containers/json?all=1').respond([{
"Command": "./dockerui -e /docker.sock",
"Created": 1421817232,
"Id": "b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f",
"Image": "dockerui:latest",
"Names": ["/dockerui"],
"Ports": [{
"IP": "0.0.0.0",
"PrivatePort": 9000,
"PublicPort": 9000,
"Type": "tcp"
}],
"Status": "Up 2 minutes"
}]);
$httpBackend.expectPOST('/dockerapi/containers/create?name=container-name', expectedBody).respond({
"Id": id,
"Warnings": null
@ -84,10 +123,66 @@ describe('startContainerController', function () {
});
scope.config.name = 'container-name';
scope.config.env = [{name: 'SHELL', value: '/bin/bash'}, {name: 'TERM', value: 'xterm-256color'}];
scope.config.env = [{
name: 'SHELL',
value: '/bin/bash'
}, {
name: 'TERM',
value: 'xterm-256color'
}];
scope.create();
$httpBackend.flush();
});
});
});
describe('Create and start a container with volumesFrom', function() {
it('should issue a correct create request to the Docker remote API', function() {
var controller = createController();
var id = '6abd8bfba81cf8a05a76a4bdefcb36c4b66cd02265f4bfcd0e236468696ebc6c';
var expectedBody = {
"name": "container-name",
"Memory": 0,
"MemorySwap": 0,
"CpuShares": 1024,
"Cmd": null,
"VolumesFrom": ["parent", "other:ro"],
"Env": [],
"ExposedPorts": {},
"HostConfig": {
"PortBindings": {}
}
};
$httpBackend.expectGET('/dockerapi/containers/json?all=1').respond([{
"Command": "./dockerui -e /docker.sock",
"Created": 1421817232,
"Id": "b17882378cee8ec0136f482681b764cca430befd52a9bfd1bde031f49b8bba9f",
"Image": "dockerui:latest",
"Names": ["/dockerui"],
"Ports": [{
"IP": "0.0.0.0",
"PrivatePort": 9000,
"PublicPort": 9000,
"Type": "tcp"
}],
"Status": "Up 2 minutes"
}]);
$httpBackend.expectPOST('/dockerapi/containers/create?name=container-name', expectedBody).respond({
"Id": id,
"Warnings": null
});
$httpBackend.expectPOST('/dockerapi/containers/' + id + '/start?').respond({
"Id": id,
"Warnings": null
});
scope.config.name = 'container-name';
scope.config.volumesFrom = [{name: "parent"}, {name:"other:ro"}];
scope.create();
$httpBackend.flush();
});
});
});