Upgrades Intern to 3.0.6
This change updates Intern testing framework from 2.2.2 to 3.0.6 version and updates ScreenshotOnFailReporter to use newer API. Change-Id: I368cb18756c9d27a95c1b615d4473d8486ada184
This commit is contained in:
parent
4fdb188f58
commit
a055f904fb
|
@ -4500,42 +4500,94 @@
|
|||
}
|
||||
},
|
||||
"intern": {
|
||||
"version": "2.2.2",
|
||||
"from": "intern@2.2.2",
|
||||
"version": "3.0.6",
|
||||
"from": "intern@3.0.6",
|
||||
"dependencies": {
|
||||
"istanbul": {
|
||||
"version": "0.2.16",
|
||||
"from": "istanbul@0.2.16",
|
||||
"version": "0.3.17",
|
||||
"from": "istanbul@0.3.17",
|
||||
"dependencies": {
|
||||
"esprima": {
|
||||
"version": "1.2.5",
|
||||
"from": "esprima@1.2.x"
|
||||
"version": "2.4.1",
|
||||
"from": "esprima@2.4.x"
|
||||
},
|
||||
"escodegen": {
|
||||
"version": "1.3.3",
|
||||
"from": "escodegen@1.3.x",
|
||||
"version": "1.6.1",
|
||||
"from": "escodegen@1.6.x",
|
||||
"dependencies": {
|
||||
"esutils": {
|
||||
"version": "1.0.0",
|
||||
"from": "esutils@~1.0.0"
|
||||
},
|
||||
"estraverse": {
|
||||
"version": "1.5.1",
|
||||
"from": "estraverse@~1.5.0"
|
||||
"version": "1.9.3",
|
||||
"from": "estraverse@^1.9.1"
|
||||
},
|
||||
"esutils": {
|
||||
"version": "1.1.6",
|
||||
"from": "esutils@^1.1.6"
|
||||
},
|
||||
"esprima": {
|
||||
"version": "1.1.1",
|
||||
"from": "esprima@~1.1.1"
|
||||
"version": "1.2.5",
|
||||
"from": "esprima@^1.2.2"
|
||||
},
|
||||
"optionator": {
|
||||
"version": "0.5.0",
|
||||
"from": "optionator@^0.5.0",
|
||||
"dependencies": {
|
||||
"prelude-ls": {
|
||||
"version": "1.1.2",
|
||||
"from": "prelude-ls@~1.1.1"
|
||||
},
|
||||
"deep-is": {
|
||||
"version": "0.1.3",
|
||||
"from": "deep-is@~0.1.2"
|
||||
},
|
||||
"type-check": {
|
||||
"version": "0.3.2",
|
||||
"from": "type-check@~0.3.1"
|
||||
},
|
||||
"levn": {
|
||||
"version": "0.2.5",
|
||||
"from": "levn@~0.2.5"
|
||||
},
|
||||
"fast-levenshtein": {
|
||||
"version": "1.0.7",
|
||||
"from": "fast-levenshtein@~1.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.43",
|
||||
"from": "source-map@~0.1.40",
|
||||
"dependencies": {
|
||||
"amdefine": {
|
||||
"version": "1.0.0",
|
||||
"from": "amdefine@>=0.0.4"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"handlebars": {
|
||||
"version": "1.3.0",
|
||||
"from": "handlebars@1.3.x",
|
||||
"version": "3.0.0",
|
||||
"from": "handlebars@3.0.0",
|
||||
"dependencies": {
|
||||
"optimist": {
|
||||
"version": "0.3.7",
|
||||
"from": "optimist@~0.3"
|
||||
"version": "0.6.1",
|
||||
"from": "optimist@^0.6.1",
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "0.0.10",
|
||||
"from": "minimist@~0.0.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.43",
|
||||
"from": "source-map@^0.1.40",
|
||||
"dependencies": {
|
||||
"amdefine": {
|
||||
"version": "1.0.0",
|
||||
"from": "amdefine@>=0.0.4"
|
||||
}
|
||||
}
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "2.3.6",
|
||||
|
@ -4544,6 +4596,10 @@
|
|||
"async": {
|
||||
"version": "0.2.10",
|
||||
"from": "async@~0.2.6"
|
||||
},
|
||||
"optimist": {
|
||||
"version": "0.3.7",
|
||||
"from": "optimist@~0.3.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4560,46 +4616,28 @@
|
|||
}
|
||||
},
|
||||
"nopt": {
|
||||
"version": "3.0.4",
|
||||
"version": "3.0.6",
|
||||
"from": "nopt@3.x"
|
||||
},
|
||||
"fileset": {
|
||||
"version": "0.1.8",
|
||||
"from": "fileset@0.1.x",
|
||||
"version": "0.2.1",
|
||||
"from": "fileset@0.2.x",
|
||||
"dependencies": {
|
||||
"minimatch": {
|
||||
"version": "0.4.0",
|
||||
"from": "minimatch@0.x",
|
||||
"version": "2.0.10",
|
||||
"from": "minimatch@2.x",
|
||||
"dependencies": {
|
||||
"lru-cache": {
|
||||
"version": "2.7.0",
|
||||
"from": "lru-cache@2"
|
||||
},
|
||||
"sigmund": {
|
||||
"version": "1.0.1",
|
||||
"from": "sigmund@~1.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "3.2.11",
|
||||
"from": "glob@3.x",
|
||||
"dependencies": {
|
||||
"inherits": {
|
||||
"version": "2.0.1",
|
||||
"from": "inherits@2"
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "0.3.0",
|
||||
"from": "minimatch@0.3",
|
||||
"brace-expansion": {
|
||||
"version": "1.1.2",
|
||||
"from": "brace-expansion@^1.0.0",
|
||||
"dependencies": {
|
||||
"lru-cache": {
|
||||
"version": "2.7.0",
|
||||
"from": "lru-cache@2"
|
||||
"balanced-match": {
|
||||
"version": "0.3.0",
|
||||
"from": "balanced-match@^0.3.0"
|
||||
},
|
||||
"sigmund": {
|
||||
"version": "1.0.1",
|
||||
"from": "sigmund@~1.0.0"
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"from": "concat-map@0.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4612,8 +4650,12 @@
|
|||
"from": "which@1.0.x"
|
||||
},
|
||||
"async": {
|
||||
"version": "0.9.2",
|
||||
"from": "async@0.9.x"
|
||||
"version": "1.5.2",
|
||||
"from": "async@1.x"
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "1.3.1",
|
||||
"from": "supports-color@1.3.x"
|
||||
},
|
||||
"abbrev": {
|
||||
"version": "1.0.7",
|
||||
|
@ -4624,15 +4666,15 @@
|
|||
"from": "wordwrap@0.0.x"
|
||||
},
|
||||
"resolve": {
|
||||
"version": "0.7.4",
|
||||
"from": "resolve@0.7.x"
|
||||
"version": "1.1.6",
|
||||
"from": "resolve@1.1.x"
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.4.3",
|
||||
"version": "3.4.6",
|
||||
"from": "js-yaml@3.x",
|
||||
"dependencies": {
|
||||
"argparse": {
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.3",
|
||||
"from": "argparse@^1.0.2",
|
||||
"dependencies": {
|
||||
"sprintf-js": {
|
||||
|
@ -4642,8 +4684,22 @@
|
|||
}
|
||||
},
|
||||
"esprima": {
|
||||
"version": "2.7.0",
|
||||
"version": "2.7.1",
|
||||
"from": "esprima@^2.6.0"
|
||||
},
|
||||
"inherit": {
|
||||
"version": "2.2.2",
|
||||
"from": "inherit@^2.2.2"
|
||||
}
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.3.3",
|
||||
"from": "once@1.x",
|
||||
"dependencies": {
|
||||
"wrappy": {
|
||||
"version": "1.0.1",
|
||||
"from": "wrappy@1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4660,48 +4716,53 @@
|
|||
}
|
||||
},
|
||||
"dojo": {
|
||||
"version": "2.0.0-dev",
|
||||
"from": "https://github.com/csnover/dojo2-core/archive/ebfa11ba3972944218623a4bd9d124cb8108d70c.tar.gz",
|
||||
"resolved": "https://github.com/csnover/dojo2-core/archive/ebfa11ba3972944218623a4bd9d124cb8108d70c.tar.gz"
|
||||
"version": "2.0.0-alpha.6",
|
||||
"from": "dojo@2.0.0-alpha.6"
|
||||
},
|
||||
"chai": {
|
||||
"version": "1.9.1",
|
||||
"from": "chai@1.9.1",
|
||||
"version": "3.0.0",
|
||||
"from": "chai@3.0.0",
|
||||
"dependencies": {
|
||||
"assertion-error": {
|
||||
"version": "1.0.0",
|
||||
"from": "assertion-error@1.0.0"
|
||||
"version": "1.0.1",
|
||||
"from": "assertion-error@^1.0.1"
|
||||
},
|
||||
"deep-eql": {
|
||||
"version": "0.1.3",
|
||||
"from": "deep-eql@0.1.3",
|
||||
"from": "deep-eql@^0.1.3",
|
||||
"dependencies": {
|
||||
"type-detect": {
|
||||
"version": "0.1.1",
|
||||
"from": "type-detect@0.1.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type-detect": {
|
||||
"version": "1.0.0",
|
||||
"from": "type-detect@^1.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"leadfoot": {
|
||||
"version": "1.2.1",
|
||||
"from": "leadfoot@1.2.1",
|
||||
"version": "1.6.4",
|
||||
"from": "leadfoot@1.6.4",
|
||||
"dependencies": {
|
||||
"dojo": {
|
||||
"version": "2.0.0-alpha4",
|
||||
"from": "dojo@2.0.0-alpha4"
|
||||
"jszip": {
|
||||
"version": "2.5.0",
|
||||
"from": "jszip@2.5.0",
|
||||
"dependencies": {
|
||||
"pako": {
|
||||
"version": "0.2.8",
|
||||
"from": "pako@~0.2.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"digdug": {
|
||||
"version": "1.2.1",
|
||||
"from": "digdug@1.2.1",
|
||||
"version": "1.3.2",
|
||||
"from": "digdug@1.3.2",
|
||||
"dependencies": {
|
||||
"dojo": {
|
||||
"version": "2.0.0-alpha4",
|
||||
"from": "dojo@2.0.0-alpha4"
|
||||
},
|
||||
"decompress": {
|
||||
"version": "0.2.3",
|
||||
"from": "decompress@0.2.3",
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
"gulp-eslint": "1.0.0",
|
||||
"gulp-lintspaces": "0.3.2",
|
||||
"gulp-shell": "0.4.1",
|
||||
"intern": "2.2.2",
|
||||
"intern": "3.0.6",
|
||||
"karma": "~0.13.9",
|
||||
"karma-chai": "~0.1.0",
|
||||
"karma-mocha": "~0.2.0",
|
||||
|
|
|
@ -23,6 +23,6 @@ define(function() {
|
|||
maxConcurrency: 1,
|
||||
grep: /^/,
|
||||
excludeInstrumentation: /^/,
|
||||
reporters: ['console', 'tests/functional/screenshot_on_fail']
|
||||
reporters: ['Runner', 'tests/functional/screenshot_on_fail']
|
||||
};
|
||||
});
|
||||
|
|
|
@ -17,9 +17,8 @@
|
|||
define([
|
||||
'intern/dojo/node!lodash',
|
||||
'intern/chai!assert',
|
||||
'intern/dojo/node!fs',
|
||||
'intern/dojo/node!leadfoot/Command'
|
||||
], function(_, assert, fs, Command) {
|
||||
], function(_, assert, Command) {
|
||||
'use strict';
|
||||
|
||||
_.defaults(Command.prototype, {
|
||||
|
@ -39,20 +38,6 @@ define([
|
|||
.end();
|
||||
});
|
||||
},
|
||||
takeScreenshotAndSave: function(filename) {
|
||||
return new this.constructor(this, function() {
|
||||
return this.parent
|
||||
.takeScreenshot()
|
||||
.then(function(buffer) {
|
||||
var targetDir = process.env.ARTIFACTS || process.cwd();
|
||||
if (!filename) filename = new Date().toTimeString();
|
||||
filename = filename.replace(/[\s\*\?\\\/]/g, '_');
|
||||
filename = targetDir + '/' + filename + '.png';
|
||||
console.log('Saving screenshot to', filename); // eslint-disable-line no-console
|
||||
fs.writeFileSync(filename, buffer);
|
||||
});
|
||||
});
|
||||
},
|
||||
waitForCssSelector: function(cssSelector, timeout) {
|
||||
return new this.constructor(this, function() {
|
||||
var self = this, currentTimeout;
|
||||
|
@ -110,7 +95,6 @@ define([
|
|||
x = element;
|
||||
element = null;
|
||||
}
|
||||
|
||||
return new this.constructor(this, function() {
|
||||
this._session._dragSource = {
|
||||
element: element || this.parent._context[0],
|
||||
|
|
|
@ -86,6 +86,7 @@ define([
|
|||
}
|
||||
return true;
|
||||
})
|
||||
.end()
|
||||
.waitForCssSelector('.dashboard-tab', 1000);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -18,12 +18,13 @@ define([
|
|||
'intern/dojo/node!lodash',
|
||||
'intern/chai!assert',
|
||||
'tests/functional/helpers',
|
||||
'intern/dojo/node!leadfoot/helpers/pollUntil',
|
||||
'tests/functional/pages/login',
|
||||
'tests/functional/pages/welcome',
|
||||
'tests/functional/pages/cluster',
|
||||
'tests/functional/pages/clusters'
|
||||
],
|
||||
function(_, assert, Helpers, LoginPage, WelcomePage, ClusterPage, ClustersPage) {
|
||||
function(_, assert, Helpers, pollUntil, LoginPage, WelcomePage, ClusterPage, ClustersPage) {
|
||||
'use strict';
|
||||
function CommonMethods(remote) {
|
||||
this.remote = remote;
|
||||
|
@ -113,6 +114,9 @@ function(_, assert, Helpers, LoginPage, WelcomePage, ClusterPage, ClustersPage)
|
|||
.waitForCssSelector('button.btn-add-nodes', 3000)
|
||||
.clickByCssSelector('button.btn-add-nodes')
|
||||
.waitForCssSelector('.node', 3000)
|
||||
.then(pollUntil(function() {
|
||||
return window.$('.node-list-management-buttons').is(':visible') && window.$('.role-panel').is(':visible') || null;
|
||||
}, 3000))
|
||||
.then(function() {
|
||||
if (nodeNameFilter) return self.clusterPage.searchForNode(nodeNameFilter);
|
||||
})
|
||||
|
|
|
@ -38,7 +38,9 @@ define([
|
|||
// the following timeout as we have 0.3s transition for the button
|
||||
.sleep(500)
|
||||
.clickByCssSelector('div.compact-node .node-hardware p.btn')
|
||||
.waitForCssSelector('.node-popover', 1000);
|
||||
.waitForCssSelector('.node-popover', 1000)
|
||||
// the following timeout as we have 0.3s transition for the popover
|
||||
.sleep(300);
|
||||
},
|
||||
openNodePopup: function(fromExtendedView) {
|
||||
var self = this,
|
||||
|
|
|
@ -14,21 +14,38 @@
|
|||
* under the License.
|
||||
**/
|
||||
|
||||
define(function() {
|
||||
define(['intern/dojo/node!fs'], function(fs) {
|
||||
'use strict';
|
||||
|
||||
var remotes = {};
|
||||
|
||||
function saveScreenshot(testOrSuite) {
|
||||
var remote = remotes[testOrSuite.sessionId];
|
||||
if (remote && remote.takeScreenshotAndSave) remote.takeScreenshotAndSave(testOrSuite.id);
|
||||
}
|
||||
|
||||
return {
|
||||
'/session/start': function(remote) {
|
||||
remotes[remote.sessionId] = remote;
|
||||
},
|
||||
'/suite/error': saveScreenshot,
|
||||
'/test/fail': saveScreenshot
|
||||
var ScreenshotOnFailReporter = function() {
|
||||
this.remotes = {};
|
||||
};
|
||||
|
||||
ScreenshotOnFailReporter.prototype = {
|
||||
saveScreenshot: function(testOrSuite) {
|
||||
var remote = this.remotes[testOrSuite.sessionId];
|
||||
if (remote) {
|
||||
remote.takeScreenshot().then(function(buffer) {
|
||||
var targetDir = process.env.ARTIFACTS || process.cwd();
|
||||
var filename = testOrSuite.id + ' - ' + new Date().toTimeString();
|
||||
filename = filename.replace(/[\s\*\?\\\/]/g, '_');
|
||||
filename = targetDir + '/' + filename + '.png';
|
||||
fs.writeFileSync(filename, buffer);
|
||||
console.log('Saved screenshot to', filename); // eslint-disable-line no-console
|
||||
});
|
||||
}
|
||||
},
|
||||
sessionStart: function(remote) {
|
||||
var sessionId = remote._session._sessionId;
|
||||
this.remotes[sessionId] = remote;
|
||||
},
|
||||
suiteError: function(suite) {
|
||||
this.saveScreenshot(suite);
|
||||
},
|
||||
testFail: function(test) {
|
||||
this.saveScreenshot(test);
|
||||
}
|
||||
};
|
||||
|
||||
return ScreenshotOnFailReporter;
|
||||
});
|
||||
|
|
|
@ -62,7 +62,14 @@ define([
|
|||
},
|
||||
afterEach: function() {
|
||||
return this.remote
|
||||
.clickByCssSelector('.btn-revert-changes');
|
||||
.findByCssSelector('.btn-revert-changes')
|
||||
.then(function(element) {
|
||||
return element.isEnabled()
|
||||
.then(function(isEnabled) {
|
||||
if (isEnabled) return element.click();
|
||||
});
|
||||
})
|
||||
.end();
|
||||
},
|
||||
'Add ranges manipulations': function() {
|
||||
var rangeSelector = '.public .ip_ranges ';
|
||||
|
@ -184,6 +191,7 @@ define([
|
|||
.clickByCssSelector('.glyphicon-pencil')
|
||||
.waitForCssSelector('.network-group-name input[type=text]', 2000)
|
||||
.findByCssSelector('.node-group-renaming input[type=text]')
|
||||
.clearValue()
|
||||
.type('Node_Network_Group_2')
|
||||
// Enter
|
||||
.type('\uE007')
|
||||
|
|
|
@ -42,7 +42,7 @@ define([
|
|||
.then(function() {
|
||||
return loginPage.login('login', '*****');
|
||||
})
|
||||
.assertElementExists('div.login-error', 'Error message is expected to get displayed');
|
||||
.assertElementAppears('div.login-error', 1000, 'Error message is expected to get displayed');
|
||||
},
|
||||
'Login with proper credentials': function() {
|
||||
return this.remote
|
||||
|
|
|
@ -17,9 +17,10 @@
|
|||
define([
|
||||
'intern!object',
|
||||
'tests/functional/helpers',
|
||||
'intern/dojo/node!leadfoot/helpers/pollUntil',
|
||||
'tests/functional/pages/interfaces',
|
||||
'tests/functional/pages/common'
|
||||
], function(registerSuite, helpers, InterfacesPage, Common) {
|
||||
], function(registerSuite, helpers, pollUntil, InterfacesPage, Common) {
|
||||
'use strict';
|
||||
|
||||
registerSuite(function() {
|
||||
|
@ -46,7 +47,10 @@ define([
|
|||
})
|
||||
.clickByCssSelector('.node.pending_addition input[type=checkbox]:not(:checked)')
|
||||
.clickByCssSelector('button.btn-configure-interfaces')
|
||||
.assertElementAppears('div.ifc-list', 2000, 'Node interfaces loaded');
|
||||
.assertElementAppears('div.ifc-list', 2000, 'Node interfaces loaded')
|
||||
.then(pollUntil(function() {
|
||||
return window.$('div.ifc-list').is(':visible') || null;
|
||||
}, 1000));
|
||||
},
|
||||
afterEach: function() {
|
||||
return this.remote
|
||||
|
|
|
@ -87,7 +87,7 @@ define([
|
|||
.assertElementAppears(searchInputSelector, 200, 'Search input appears on the page')
|
||||
.setInputValue(searchInputSelector, 'Super')
|
||||
// need to wait debounced search input
|
||||
.sleep(200)
|
||||
.sleep(300)
|
||||
.assertElementsExist('.node-list .node', 3, 'Search was successfull')
|
||||
.clickByCssSelector('.page-title')
|
||||
.assertElementNotExists(searchButtonSelector, 'Active search control remains open when clicking outside the input')
|
||||
|
|
|
@ -17,12 +17,13 @@
|
|||
define([
|
||||
'intern!object',
|
||||
'intern/chai!assert',
|
||||
'intern/dojo/node!leadfoot/helpers/pollUntil',
|
||||
'tests/functional/pages/node',
|
||||
'tests/functional/pages/modal',
|
||||
'tests/functional/pages/common',
|
||||
'tests/functional/pages/cluster',
|
||||
'tests/functional/helpers'
|
||||
], function(registerSuite, assert, NodeComponent, ModalWindow, Common, ClusterPage) {
|
||||
], function(registerSuite, assert, pollUntil, NodeComponent, ModalWindow, Common, ClusterPage) {
|
||||
'use strict';
|
||||
|
||||
registerSuite(function() {
|
||||
|
@ -119,7 +120,7 @@ define([
|
|||
.then(function() {
|
||||
return node.openCompactNodeExtendedView();
|
||||
})
|
||||
.clickByCssSelector('.node-name [type=checkbox]')
|
||||
.clickByCssSelector('.node-popover .node-name input[type=checkbox]')
|
||||
.assertElementExists('.compact-node .node-checkbox i.glyphicon-ok', 'Node compact panel is checked')
|
||||
.then(function() {
|
||||
return node.openNodePopup(true);
|
||||
|
@ -149,6 +150,9 @@ define([
|
|||
return this.remote
|
||||
.clickByCssSelector('button.btn-add-nodes')
|
||||
.assertElementAppears('.node-list', 2000, 'Unallocated node list loaded')
|
||||
.then(pollUntil(function() {
|
||||
return window.$('.node-list').is(':visible') || null;
|
||||
}, 3000))
|
||||
.then(function() {
|
||||
return node.openCompactNodeExtendedView();
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue