mirror of
https://github.com/portainer/portainer.git
synced 2025-07-22 06:49:40 +02:00
Implemented remaining container creation options.
This commit is contained in:
parent
c8213bbf33
commit
4682ae4ca7
8 changed files with 351 additions and 201 deletions
|
@ -18,19 +18,28 @@ describe('startContainerController', function() {
|
|||
$httpBackend = _$httpBackend_;
|
||||
});
|
||||
}));
|
||||
|
||||
function expectGetContainers() {
|
||||
$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"
|
||||
}]);
|
||||
}
|
||||
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';
|
||||
var expectedBody = {
|
||||
"name": "container-name",
|
||||
"Memory": 0,
|
||||
"MemorySwap": 0,
|
||||
"CpuShares": 1024,
|
||||
"Cmd": null,
|
||||
"VolumesFrom": [],
|
||||
"Env": [],
|
||||
"ExposedPorts": {
|
||||
"9000/tcp": {},
|
||||
},
|
||||
|
@ -44,32 +53,19 @@ describe('startContainerController', function() {
|
|||
}
|
||||
};
|
||||
|
||||
$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"
|
||||
}]);
|
||||
expectGetContainers();
|
||||
|
||||
$httpBackend.expectPOST('/dockerapi/containers/create?name=container-name', expectedBody).respond({
|
||||
$httpBackend.expectPOST('dockerapi/containers/create?name=container-name', expectedBody).respond({
|
||||
"Id": id,
|
||||
"Warnings": null
|
||||
});
|
||||
$httpBackend.expectPOST('/dockerapi/containers/' + id + '/start?').respond({
|
||||
$httpBackend.expectPOST('dockerapi/containers/' + id + '/start?').respond({
|
||||
"Id": id,
|
||||
"Warnings": null
|
||||
});
|
||||
|
||||
scope.config.name = 'container-name';
|
||||
scope.config.portBindings = [{
|
||||
scope.config.PortBindings = [{
|
||||
ip: '10.20.10.15',
|
||||
extPort: '9999',
|
||||
intPort: '9000'
|
||||
|
@ -86,44 +82,22 @@ describe('startContainerController', function() {
|
|||
var id = '6abd8bfba81cf8a05a76a4bdefcb36c4b66cd02265f4bfcd0e236468696ebc6c';
|
||||
var expectedBody = {
|
||||
"name": "container-name",
|
||||
"Memory": 0,
|
||||
"MemorySwap": 0,
|
||||
"CpuShares": 1024,
|
||||
"Cmd": null,
|
||||
"VolumesFrom": [],
|
||||
"Env": ["SHELL=/bin/bash", "TERM=xterm-256color"],
|
||||
"ExposedPorts": {},
|
||||
"HostConfig": {
|
||||
"PortBindings": {}
|
||||
}
|
||||
"Env": ["SHELL=/bin/bash", "TERM=xterm-256color"]
|
||||
};
|
||||
|
||||
$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"
|
||||
}]);
|
||||
expectGetContainers();
|
||||
|
||||
$httpBackend.expectPOST('/dockerapi/containers/create?name=container-name', expectedBody).respond({
|
||||
$httpBackend.expectPOST('dockerapi/containers/create?name=container-name', expectedBody).respond({
|
||||
"Id": id,
|
||||
"Warnings": null
|
||||
});
|
||||
$httpBackend.expectPOST('/dockerapi/containers/' + id + '/start?').respond({
|
||||
$httpBackend.expectPOST('dockerapi/containers/' + id + '/start?').respond({
|
||||
"Id": id,
|
||||
"Warnings": null
|
||||
});
|
||||
|
||||
scope.config.name = 'container-name';
|
||||
scope.config.env = [{
|
||||
scope.config.Env = [{
|
||||
name: 'SHELL',
|
||||
value: '/bin/bash'
|
||||
}, {
|
||||
|
@ -141,45 +115,26 @@ describe('startContainerController', 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": {}
|
||||
}
|
||||
HostConfig: {
|
||||
"VolumesFrom": ["parent", "other:ro"]
|
||||
},
|
||||
"name": "container-name"
|
||||
};
|
||||
|
||||
$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"
|
||||
}]);
|
||||
expectGetContainers();
|
||||
|
||||
$httpBackend.expectPOST('/dockerapi/containers/create?name=container-name', expectedBody).respond({
|
||||
|
||||
$httpBackend.expectPOST('dockerapi/containers/create?name=container-name', expectedBody).respond({
|
||||
"Id": id,
|
||||
"Warnings": null
|
||||
});
|
||||
$httpBackend.expectPOST('/dockerapi/containers/' + id + '/start?').respond({
|
||||
$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.config.HostConfig.VolumesFrom = [{name: "parent"}, {name:"other:ro"}];
|
||||
|
||||
scope.create();
|
||||
$httpBackend.flush();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue