portainer/app/components/startContainer/startContainerController.sp...

63 lines
2.2 KiB
JavaScript

describe('startContainerController', function () {
var scope, $location, createController, mockContainer, $httpBackend;
beforeEach(angular.mock.module('dockerui'));
beforeEach(inject(function ($rootScope, $controller, _$location_) {
$location = _$location_;
scope = $rootScope.$new();
createController = function() {
return $controller('StartContainerController', {
'$scope': scope
});
};
angular.mock.inject(function (_Container_, _$httpBackend_) {
mockContainer = _Container_;
$httpBackend = _$httpBackend_;
});
}));
describe('Starting a container with options', 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": "",
"ExposedPorts":{
"9000/tcp": {},
},
"HostConfig": {
"PortBindings":{
"9000/tcp": [{
"HostPort": "9999",
"HostIp": "10.20.10.15",
}]
},
}};
$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.portBindings = [{ip: '10.20.10.15', extPort: '9999', intPort: '9000'}]
//var response = mockContainer.create({});
scope.create();
$httpBackend.flush();
//console.log(response);
});
});
});