@lyra-network/nexus-deployer
Version:
Deploy artifacts with classifiers to release/snapshot maven repository.
139 lines (121 loc) • 4.2 kB
JavaScript
;
var should = require("should"),
mockrequest = require("../../tasks/lib/mockrequest"),
fs = require("fs");
describe("Nexus Deployer Releases", function () {
describe("Releases generated via grunt", function () {
var releaseHistory;
var MD5_FILE_PATTERN = /\.md5/;
var SHA1_FILE_PATTERN = /\.sha1/;
beforeEach(function () {
releaseHistory = mockrequest.data("releases");
});
describe("After deployment", function () {
it("9 artifacts are uploaded for release", function () {
releaseHistory.length.should.equal(9);
});
it("release uploads must 3 extra metadata files", function () {
releaseHistory
.filter(function (cmd) {
return MD5_FILE_PATTERN.test(cmd);
})
.length.should.equal(3);
releaseHistory
.filter(function (cmd) {
return SHA1_FILE_PATTERN.test(cmd);
})
.length.should.equal(3);
});
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 MD5_FILE_PATTERN = /\.md5/;
var SHA1_FILE_PATTERN = /\.sha1/;
beforeEach(function () {
releaseHistory = mockrequest.data("nodeReleases");
});
describe("After deployment", function () {
it("9 artifacts are uploaded for release2", function () {
releaseHistory.length.should.equal(9);
});
it("release uploads must 3 extra metadata files", function () {
releaseHistory
.filter(function (cmd) {
return MD5_FILE_PATTERN.test(cmd);
})
.length.should.equal(3);
releaseHistory
.filter(function (cmd) {
return SHA1_FILE_PATTERN.test(cmd);
})
.length.should.equal(3);
});
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);
});
});
});
});