mirror of https://github.com/portainer/portainer
				
				
				
			
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
| describe('NetworksController', function () {
 | |
|   var $scope, $httpBackend, $routeParams;
 | |
| 
 | |
|   beforeEach(module('portainer'));
 | |
|   beforeEach(inject(function (_$httpBackend_, $controller, _$routeParams_) {
 | |
|     $scope = {};
 | |
|     $httpBackend = _$httpBackend_;
 | |
|     $routeParams = _$routeParams_;
 | |
|     $controller('NetworksController', {
 | |
|       $scope: $scope,
 | |
|       $routeParams: $routeParams,
 | |
|     });
 | |
|   }));
 | |
| 
 | |
|   it('initializes correctly', function () {
 | |
|     expectGetNetwork();
 | |
|     $httpBackend.flush();
 | |
|   });
 | |
| 
 | |
|   it('issues correct remove calls to the remote API', function () {
 | |
|     expectGetNetwork();
 | |
|     $httpBackend.flush();
 | |
|     $scope.networks[0].Checked = true;
 | |
|     $scope.networks[2].Checked = true;
 | |
|     $httpBackend.expectDELETE('dockerapi/networks/f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566').respond(204);
 | |
|     $httpBackend.expectDELETE('dockerapi/networks/13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e').respond(204);
 | |
|     $scope.removeAction();
 | |
|     $httpBackend.flush();
 | |
|   });
 | |
|   it('issues a correct network creation call to the remote API', function () {
 | |
|     expectGetNetwork();
 | |
|     var createBody = {
 | |
|       Name: 'isolated_nw',
 | |
|       Driver: 'bridge',
 | |
|       IPAM: {
 | |
|         Config: [
 | |
|           {
 | |
|             Subnet: '172.20.0.0/16',
 | |
|             IPRange: '172.20.10.0/24',
 | |
|             Gateway: '172.20.10.11',
 | |
|           },
 | |
|         ],
 | |
|       },
 | |
|     };
 | |
|     $httpBackend.expectPOST('dockerapi/networks/create', createBody).respond(201);
 | |
|     expectGetNetwork();
 | |
|     $scope.addNetwork(createBody);
 | |
|     $httpBackend.flush();
 | |
|   });
 | |
| 
 | |
|   function expectGetNetwork() {
 | |
|     $httpBackend.expectGET('dockerapi/networks').respond([
 | |
|       {
 | |
|         Name: 'bridge',
 | |
|         Id: 'f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566',
 | |
|         Scope: 'local',
 | |
|         Driver: 'bridge',
 | |
|         IPAM: {
 | |
|           Driver: 'default',
 | |
|           Config: [
 | |
|             {
 | |
|               Subnet: '172.17.0.0/16',
 | |
|             },
 | |
|           ],
 | |
|         },
 | |
|         Containers: {
 | |
|           '39b69226f9d79f5634485fb236a23b2fe4e96a0a94128390a7fbbcc167065867': {
 | |
|             EndpointID: 'ed2419a97c1d9954d05b46e462e7002ea552f216e9b136b80a7db8d98b442eda',
 | |
|             MacAddress: '02:42:ac:11:00:02',
 | |
|             IPv4Address: '172.17.0.2/16',
 | |
|             IPv6Address: '',
 | |
|           },
 | |
|         },
 | |
|         Options: {
 | |
|           'com.docker.network.bridge.default_bridge': 'true',
 | |
|           'com.docker.network.bridge.enable_icc': 'true',
 | |
|           'com.docker.network.bridge.enable_ip_masquerade': 'true',
 | |
|           'com.docker.network.bridge.host_binding_ipv4': '0.0.0.0',
 | |
|           'com.docker.network.bridge.name': 'docker0',
 | |
|           'com.docker.network.driver.mtu': '1500',
 | |
|         },
 | |
|       },
 | |
|       {
 | |
|         Name: 'none',
 | |
|         Id: 'e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794',
 | |
|         Scope: 'local',
 | |
|         Driver: 'null',
 | |
|         IPAM: {
 | |
|           Driver: 'default',
 | |
|           Config: [],
 | |
|         },
 | |
|         Containers: {},
 | |
|         Options: {},
 | |
|       },
 | |
|       {
 | |
|         Name: 'host',
 | |
|         Id: '13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e',
 | |
|         Scope: 'local',
 | |
|         Driver: 'host',
 | |
|         IPAM: {
 | |
|           Driver: 'default',
 | |
|           Config: [],
 | |
|         },
 | |
|         Containers: {},
 | |
|         Options: {},
 | |
|       },
 | |
|     ]);
 | |
|   }
 | |
| });
 |