Skip to content

Commit

Permalink
Adds Karma to TravisCI
Browse files Browse the repository at this point in the history
- Updates travis to run karma
- Adds some actual tests

Sample build success: https://travis-ci.org/djvirgen/kubernetes/jobs/61567253

Note: My branch is currently up to date with master but all the Go stuff is failing in Travis. Not sure why Go is failing, but the Karma stuff is running OK. I've also verified that when a Jasmine test fails, Travis will fail the build (see [this build](https://travis-ci.org/djvirgen/kubernetes/jobs/61567666) here).
  • Loading branch information
djvirgen committed May 12, 2015
1 parent e73fa8b commit 1a784cd
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,6 @@ network_closure.sh

# Web UI
www/master/node_modules/

# Karma output
www/test_out
4 changes: 4 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,12 @@ install:
- GOPATH=$PWD/Godeps/_workspace:$GOPATH go install ./...
- PATH=$HOME/gopath/bin:./third_party/etcd:$PATH ./hack/verify-gendocs.sh

before_script:
- npm install karma karma-junit-reporter karma-phantomjs-launcher karma-jasmine

script:
- KUBE_RACE="-race" KUBE_COVER="y" KUBE_GOVERALLS_BIN="$HOME/gopath/bin/goveralls" KUBE_TIMEOUT='-timeout 300s' KUBE_COVERPROCS=8 KUBE_TEST_API_VERSIONS=$KUBE_TEST_API_VERSIONS ./hack/test-go.sh -- -p=2
- node_modules/karma/bin/karma start www/master/karma.conf.js --single-run --browsers PhantomJS
- PATH=$HOME/gopath/bin:./third_party/etcd:$PATH ./hack/test-cmd.sh
- PATH=$HOME/gopath/bin:./third_party/etcd:$PATH KUBE_TEST_API_VERSIONS=$KUBE_TEST_API_VERSIONS KUBE_INTEGRATION_TEST_MAX_CONCURRENCY=4 LOG_LEVEL=4 ./hack/test-integration.sh

Expand Down
67 changes: 67 additions & 0 deletions www/master/components/dashboard/test/controllers/header.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
'use strict';

describe('header controller', function() {
beforeEach(module('kubernetesApp.components.dashboard'));

beforeEach(inject(function($rootScope, $location, $controller) {
this.rootScope = $rootScope;
this.scope = $rootScope.$new();

this.location = $location;
spyOn(this.location, 'path');

this.controller = $controller;
this.ctrl = this.controller('HeaderCtrl', {
$scope: this.scope
});
this.scope.$apply();
}));

describe('subPages', function() {
it('is defined', function() {
expect(this.scope.subPages).not.toBeUndefined();
});

it('is an array', function() {
expect(Array.isArray(this.scope.subPages)).toBeTruthy();
});

it('is not empty', function() {
expect(this.scope.subPages.length).toBeGreaterThan(0);
});

describe('each subPage', function() {
it('has a category', function() {
this.scope.subPages.forEach(function(subPage) {
expect(subPage.category).toBeTruthy();
});
});

it('has a name', function() {
this.scope.subPages.forEach(function(subPage) {
expect(subPage.name).toBeTruthy();
});
});

it('has a value', function() {
this.scope.subPages.forEach(function(subPage) {
expect(subPage.value).toBeTruthy();
});
});
});
});

describe('Pages', function() {
it('does not change location on first detected change', function() {
expect(this.location.path).not.toHaveBeenCalled();
});

it('changes location on second detected change', function() {
var _this = this;
this.scope.$apply(function() {
_this.scope.Pages = 'test_Pages';
});
expect(this.location.path).toHaveBeenCalledWith('test_Pages');
});
});
});
9 changes: 8 additions & 1 deletion www/master/karma.conf.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,14 @@ module.exports = function(config) {

browsers: ['Chrome'],

plugins: ['karma-chrome-launcher', 'karma-firefox-launcher', 'karma-jasmine', 'karma-junit-reporter'],
plugins: [
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine',
'karma-junit-reporter',
'karma-story-reporter',
'karma-phantomjs-launcher'
],

junitReporter: {outputFile: 'test_out/unit.xml', suite: 'unit'}

Expand Down
1 change: 1 addition & 0 deletions www/master/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"karma-cli": "0.0.4",
"karma-jasmine": "^0.1.5",
"karma-junit-reporter": "^0.2.2",
"karma-story-reporter": "^0.3.1",
"protractor": "^1.1.1",
"shelljs": "^0.2.6",
"through2": "^0.6.3",
Expand Down

0 comments on commit 1a784cd

Please sign in to comment.