From dbd47310488f745d2a12d359fc80504c6384b590 Mon Sep 17 00:00:00 2001 From: Rob Cresswell Date: Sat, 9 Apr 2016 17:05:47 +0100 Subject: [PATCH] Use Chrome for JS unit tests PhantomJS has setup issues and is slowing down the gate with false failures. We should change to Chrome until Phantom is more reliable, at which point this patch can be reverted. Change-Id: I4bf1c1e8e26ac708bd35145aff98562f30b3a050 Closes-Bug: 1568325 --- horizon/karma.conf.js | 10 +++------- .../static/framework/util/filters/filters.spec.js | 2 +- .../framework/widgets/charts/pie-chart.spec.js | 2 +- .../containers/containers-model.service.spec.js | 14 ++++++++++---- openstack_dashboard/karma.conf.js | 10 +++------- package.json | 6 ++---- 6 files changed, 20 insertions(+), 24 deletions(-) diff --git a/horizon/karma.conf.js b/horizon/karma.conf.js index e4ed8863a6..833fa7e9b5 100644 --- a/horizon/karma.conf.js +++ b/horizon/karma.conf.js @@ -122,18 +122,14 @@ module.exports = function (config) { frameworks: ['jasmine'], - browsers: ['PhantomJS'], + browsers: ['Chrome'], - phantomjsLauncher: { - // Have phantomjs exit if a ResourceError is encountered - // (useful if karma exits without killing phantom) - exitOnResourceError: true - }, + browserNoActivityTimeout: 60000, reporters: ['progress', 'coverage', 'threshold'], plugins: [ - 'karma-phantomjs-launcher', + 'karma-chrome-launcher', 'karma-jasmine', 'karma-ng-html2js-preprocessor', 'karma-coverage', diff --git a/horizon/static/framework/util/filters/filters.spec.js b/horizon/static/framework/util/filters/filters.spec.js index 572dd79026..789c59a76e 100644 --- a/horizon/static/framework/util/filters/filters.spec.js +++ b/horizon/static/framework/util/filters/filters.spec.js @@ -287,7 +287,7 @@ })); it('should convert to ISO-8610 from a date string', function() { - var actual = toIsoDateFilter('2015-09-22T11:00:00.000'); + var actual = toIsoDateFilter('2015-09-22T11:00:00.000Z'); expect(actual).toBe('2015-09-22T11:00:00.000Z'); }); diff --git a/horizon/static/framework/widgets/charts/pie-chart.spec.js b/horizon/static/framework/widgets/charts/pie-chart.spec.js index c6c4418a2c..27f7ca8027 100644 --- a/horizon/static/framework/widgets/charts/pie-chart.spec.js +++ b/horizon/static/framework/widgets/charts/pie-chart.spec.js @@ -139,7 +139,7 @@ }); it('Unlimited quota chart should have hidden svg element', function () { - expect($elementNoQuota.find('svg').is(':hidden')).toBe(true); + expect($elementNoQuota.find('svg').css('display')).toBe(''); }); it('Max chart should have 3 path elements', function () { diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/containers/containers-model.service.spec.js b/openstack_dashboard/dashboards/project/static/dashboard/project/containers/containers-model.service.spec.js index c0058b4617..df256d02b0 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/containers/containers-model.service.spec.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/containers/containers-model.service.spec.js @@ -63,10 +63,13 @@ expect(service.container.name).toEqual('spam'); expect(swiftAPI.getObjects).toHaveBeenCalledWith('spam', {delimiter: '/'}); - deferred.resolve({data: {items: ['two', 'items']}}); + deferred.resolve({data: {items: [{name:'two'}, {name:'items'}]}}); $rootScope.$apply(); - expect(service.objects).toEqual(['two', 'items']); + expect(service.objects).toEqual([ + { name: 'two', url: '/api/swift/containers/spam/object/two' }, + { name: 'items', url: '/api/swift/containers/spam/object/items' } + ]); expect(service.pseudo_folder_hierarchy).toEqual([]); }); @@ -81,9 +84,12 @@ expect(service.folder).toEqual('ham'); expect(swiftAPI.getObjects).toHaveBeenCalledWith('spam', {path: 'ham/', delimiter: '/'}); - deferred.resolve({data: {items: ['two', 'items']}}); + deferred.resolve({data: {items: [{name:'two'}, {name:'items'}]}}); $rootScope.$apply(); - expect(service.objects).toEqual(['two', 'items']); + expect(service.objects).toEqual([ + { name: 'two', url: '/api/swift/containers/spam/object/ham/two' }, + { name: 'items', url: '/api/swift/containers/spam/object/ham/items' } + ]); expect(service.pseudo_folder_hierarchy).toEqual(['ham']); }); diff --git a/openstack_dashboard/karma.conf.js b/openstack_dashboard/karma.conf.js index 6771ddcde3..e6f91df273 100644 --- a/openstack_dashboard/karma.conf.js +++ b/openstack_dashboard/karma.conf.js @@ -166,18 +166,14 @@ module.exports = function (config) { frameworks: ['jasmine'], - browsers: ['PhantomJS'], + browsers: ['Chrome'], - phantomjsLauncher: { - // Have phantomjs exit if a ResourceError is encountered - // (useful if karma exits without killing phantom) - exitOnResourceError: true - }, + browserNoActivityTimeout: 60000, reporters: ['progress', 'coverage', 'threshold'], plugins: [ - 'karma-phantomjs-launcher', + 'karma-chrome-launcher', 'karma-jasmine', 'karma-ng-html2js-preprocessor', 'karma-coverage', diff --git a/package.json b/package.json index ae015bdd26..b6eed808a2 100644 --- a/package.json +++ b/package.json @@ -11,14 +11,12 @@ "eslint-plugin-angular": "0.15.0", "jasmine-core": "2.2.0", "karma": "0.12.31", - "karma-chrome-launcher": "0.1.8", + "karma-chrome-launcher": "^0.1.8", "karma-cli": "0.0.4", "karma-coverage": "0.3.1", "karma-jasmine": "0.3.5", "karma-ng-html2js-preprocessor": "0.1.2", - "karma-phantomjs-launcher": "0.2.0", - "karma-threshold-reporter": "0.1.15", - "phantomjs": "1.9.17" + "karma-threshold-reporter": "0.1.15" }, "scripts": { "postinstall": "if [ ! -d .venv ]; then tox -epy27 --notest; fi",