UNPKG

@lyra-network/nexus-deployer

Version:

Deploy artifacts with classifiers to release/snapshot maven repository.

139 lines (121 loc) 4.2 kB
"use strict"; 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); }); }); }); });