From 008884ec595745a11a0b607637974486aba60c7b Mon Sep 17 00:00:00 2001 From: Roger Abelenda Date: Tue, 28 Apr 2015 23:09:03 -0300 Subject: [PATCH] Change code to pass lint checks and add angular-vis to karma config for tests to pass. --- .../containersNetworkController.js | 91 ++++++++++--------- test/unit/karma.conf.js | 3 +- 2 files changed, 50 insertions(+), 44 deletions(-) diff --git a/app/components/containersNetwork/containersNetworkController.js b/app/components/containersNetwork/containersNetworkController.js index 9f5e9c7c7..b015488f9 100644 --- a/app/components/containersNetwork/containersNetworkController.js +++ b/app/components/containersNetwork/containersNetworkController.js @@ -16,14 +16,34 @@ angular.module('containersNetwork', ['ngVis']) } } }; - $scope.data = new ContainersNetwork(); - $scope.events = { - doubleClick : function(event) { - $scope.$apply( function() { - $location.path('/containers/' + event.nodes[0]); - }); - } - }; + + function ContainerNode(data) { + this.Id = data.Id; + // names have the following format: /Name + this.Name = data.Name.substring(1); + var dataLinks = data.HostConfig.Links; + if (dataLinks != null) { + this.Links = []; + for (var i = 0; i < dataLinks.length; i++) { + // links have the following format: /TargetContainerName:/SourceContainerName/LinkAlias + var link = dataLinks[i].split(":"); + var target = link[0].substring(1); + var alias = link[1].substring(link[1].lastIndexOf("/") + 1); + // only keep shortest alias + if (this.Links[target] == null || alias.length < this.Links[target].length) { + this.Links[target] = alias; + } + } + } + var dataVolumes = data.HostConfig.VolumesFrom; + //converting array into properties for simpler and faster access + if (dataVolumes != null) { + this.VolumesFrom = []; + for (var j = 0; j < dataVolumes.length; j++) { + this.VolumesFrom[dataVolumes[j]] = true; + } + } + } function ContainersNetwork() { this.containers = []; @@ -41,56 +61,41 @@ angular.module('containersNetwork', ['ngVis']) this.addVolumeEdgeIfExists(container, otherContainer); this.addVolumeEdgeIfExists(otherContainer, container); } - } + }; this.addLinkEdgeIfExists = function(from, to) { if (from.Links != null && from.Links[to.Name] != null) { this.edges.add({ from: from.Id, to: to.Id, label: from.Links[to.Name] }); } - } + }; this.addVolumeEdgeIfExists = function(from, to) { if (from.VolumesFrom != null && from.VolumesFrom[to.Id] != null) { this.edges.add({ from: from.Id, to: to.Id, color: { color: '#A0A0A0', highlight: '#A0A0A0', hover: '#848484'}}); } - } + }; } - function ContainerNode(data) { - this.Id = data.Id; - this.Name = data.Name.substring(1, data.Name.length); - var dataLinks = data.HostConfig.Links; - if (dataLinks != null) { - this.Links = []; - for (var i = 0; i < dataLinks.length; i++) { - // links have the following format: /TargetContainerName:/SourceContainerName/LinkAlias - var link = dataLinks[i].split(":"); - var target = link[0].split("/")[1]; - var alias = link[1].split("/")[2]; - // only keep shortest alias - if (this.Links[target] == null || alias.length < this.Links[target].length) { - this.Links[target] = alias; - } - } - } - var dataVolumes = data.HostConfig.VolumesFrom; - //converting array into properties for simpler and faster access - if (dataVolumes != null) { - this.VolumesFrom = []; - for (var i = 0; i < dataVolumes.length; i++) { - this.VolumesFrom[dataVolumes[i]] = true; - } - } - } + $scope.data = new ContainersNetwork(); + $scope.events = { + doubleClick : function(event) { + $scope.$apply( function() { + $location.path('/containers/' + event.nodes[0]); + }); + } + }; + + var showFailure = function (event) { + Messages.error('Failure', e.data); + }; + + var addContainer = function (container) { + $scope.data.add(container); + }; Container.query({all: 0}, function(d) { for (var i = 0; i < d.length; i++) { - Container.get({id: d[i].Id}, function(d) { - $scope.data.add(d); - }, function(e) { - Messages.error('Failure', e.data); - }); - + Container.get({id: d[i].Id}, addContainer, showFailure); } }); }]); diff --git a/test/unit/karma.conf.js b/test/unit/karma.conf.js index 39555ec2e..a412c6818 100644 --- a/test/unit/karma.conf.js +++ b/test/unit/karma.conf.js @@ -13,6 +13,7 @@ files = [ 'assets/js/angularjs/1.2.6/angular-route.min.js', 'assets/js/angularjs/1.2.6/angular-resource.min.js', 'assets/js/ui-bootstrap/ui-bootstrap-custom-tpls-0.12.0.min.js', + 'assets/js/angular-vis.js', 'test/assets/angular/angular-mocks.js', 'app/**/*.js', 'test/unit/**/*.spec.js', @@ -57,4 +58,4 @@ browsers = ['Chrome']; // Continuous Integration mode // if true, it capture browsers, run tests and exit -singleRun = true; \ No newline at end of file +singleRun = true;