nexus-deployer
Version:
Deploy artifacts with classifiers to release/snapshot maven repository.
114 lines (84 loc) • 4.13 kB
JavaScript
;
var should = require('should'), mockexec = require('../../tasks/lib/mockexec'), fs = require('fs');
describe('Nexus Deployer Releases', function () {
describe('Releases generated via grunt', function () {
var releaseHistory;
var INNER_METADATA_FILE_PATTERN = /inner\.xml/;
beforeEach(function () {
var exec = mockexec();
releaseHistory = exec.data('releases');
});
describe('After deployment', function () {
it('9 artifacts are uploaded for release', function () {
releaseHistory.length.should.equal(9);
});
it('release uploads must not contain metadata files', function () {
releaseHistory.filter(function (cmd) {
return INNER_METADATA_FILE_PATTERN.test(cmd);
}).length.should.equal(0);
});
it('ssl certificate errors are not skipped by default', function () {
releaseHistory.forEach(function (callParams) {
if (callParams) {
callParams.should.not.match(/--insecure/);
}
});
});
it('inner.xml should be generated correctly', function() {
var expected = fs.readFileSync('test/expected/release/inner.xml', 'utf8');
var actual = fs.readFileSync('test/actual/releases/inner.xml', 'utf8');
actual.should.equal(expected);
});
it('outer.xml should be generated correctly', function() {
var expected = fs.readFileSync('test/expected/release/outer.xml', 'utf8');
var actual = fs.readFileSync('test/actual/releases/outer.xml', 'utf8');
actual.should.equal(expected);
});
it('pom.xml should be generated correctly', function() {
var expected = fs.readFileSync('test/expected/release/pom.xml', 'utf8');
var actual = fs.readFileSync('test/actual/releases/pom.xml', 'utf8');
actual.should.equal(expected);
});
});
});
describe('Releases generated via grunt', function () {
var releaseHistory;
var INNER_METADATA_FILE_PATTERN = /inner\.xml/;
beforeEach(function () {
var exec = mockexec();
releaseHistory = exec.data('nodeReleases');
});
describe('After deployment', function () {
it('9 artifacts are uploaded for release2', function () {
releaseHistory.length.should.equal(9);
});
it('release uploads must not contain metadata files', function () {
releaseHistory.filter(function (cmd) {
return INNER_METADATA_FILE_PATTERN.test(cmd);
}).length.should.equal(0);
});
it('ssl certificate errors are not skipped by default', function () {
releaseHistory.forEach(function (callParams) {
if (callParams) {
callParams.should.not.match(/--insecure/);
}
});
});
it('inner.xml should be generated correctly', function() {
var expected = fs.readFileSync('test/expected/release/inner.xml', 'utf8');
var actual = fs.readFileSync('test/actual/nodeReleases/inner.xml', 'utf8');
actual.should.equal(expected);
});
it('outer.xml should be generated correctly', function() {
var expected = fs.readFileSync('test/expected/release/outer.xml', 'utf8');
var actual = fs.readFileSync('test/actual/nodeReleases/outer.xml', 'utf8');
actual.should.equal(expected);
});
it('pom.xml should be generated correctly', function() {
var expected = fs.readFileSync('test/expected/release/pom.xml', 'utf8');
var actual = fs.readFileSync('test/actual/nodeReleases/pom.xml', 'utf8');
actual.should.equal(expected);
});
});
});
});