2017-04-19 14:15:28 -05:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
let assert = require('assert');
|
2014-12-14 15:29:56 -05:00
|
|
|
|
|
|
|
function readfile(x) {
|
2017-04-19 14:15:28 -05:00
|
|
|
return require('fs').readFileSync(__dirname + '/' + x);
|
2014-12-14 15:29:56 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
function sha(x) {
|
2017-04-19 14:15:28 -05:00
|
|
|
return require('crypto').createHash('sha1', 'binary').update(x).digest('hex');
|
2014-12-14 15:29:56 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
let server = process.server;
|
|
|
|
let server2 = process.server2;
|
2014-12-14 15:29:56 -05:00
|
|
|
|
|
|
|
describe('test-scoped', function() {
|
2017-04-19 14:15:28 -05:00
|
|
|
before(function() {
|
2015-04-11 12:11:04 -05:00
|
|
|
return server.request({
|
2014-12-14 15:29:56 -05:00
|
|
|
uri: '/@test%2fscoped',
|
|
|
|
headers: {
|
|
|
|
'content-type': 'application/json',
|
|
|
|
},
|
|
|
|
method: 'PUT',
|
|
|
|
json: JSON.parse(readfile('fixtures/scoped.json')),
|
2017-04-19 14:15:28 -05:00
|
|
|
}).status(201);
|
|
|
|
});
|
2014-12-14 15:29:56 -05:00
|
|
|
|
2017-04-19 14:15:28 -05:00
|
|
|
it('add pkg', function() {});
|
2014-12-14 15:29:56 -05:00
|
|
|
|
2017-04-19 14:15:28 -05:00
|
|
|
it('server1 - tarball', function() {
|
2017-06-28 15:56:02 -05:00
|
|
|
return server.getTarball('@test/scoped', 'scoped-1.0.0.tgz')
|
2015-04-11 12:11:04 -05:00
|
|
|
.status(200)
|
2017-04-19 14:15:28 -05:00
|
|
|
.then(function(body) {
|
2015-04-11 12:11:04 -05:00
|
|
|
// not real sha due to utf8 conversion
|
2017-04-19 14:15:28 -05:00
|
|
|
assert.strictEqual(sha(body), '6e67b14e2c0e450b942e2bc8086b49e90f594790');
|
|
|
|
});
|
|
|
|
});
|
2014-12-14 15:29:56 -05:00
|
|
|
|
2017-04-19 14:15:28 -05:00
|
|
|
it('server2 - tarball', function() {
|
2017-06-28 15:56:02 -05:00
|
|
|
return server2.getTarball('@test/scoped', 'scoped-1.0.0.tgz')
|
2015-04-11 12:11:04 -05:00
|
|
|
.status(200)
|
2017-04-19 14:15:28 -05:00
|
|
|
.then(function(body) {
|
2015-04-11 12:11:04 -05:00
|
|
|
// not real sha due to utf8 conversion
|
2017-04-19 14:15:28 -05:00
|
|
|
assert.strictEqual(sha(body), '6e67b14e2c0e450b942e2bc8086b49e90f594790');
|
|
|
|
});
|
|
|
|
});
|
2014-12-14 15:29:56 -05:00
|
|
|
|
2017-04-19 14:15:28 -05:00
|
|
|
it('server1 - package', function() {
|
2017-06-28 15:56:02 -05:00
|
|
|
return server.getPackage('@test/scoped')
|
2015-04-11 12:11:04 -05:00
|
|
|
.status(200)
|
2017-04-19 14:15:28 -05:00
|
|
|
.then(function(body) {
|
|
|
|
assert.equal(body.name, '@test/scoped');
|
|
|
|
assert.equal(body.versions['1.0.0'].name, '@test/scoped');
|
|
|
|
assert.equal(body.versions['1.0.0'].dist.tarball, 'http://localhost:55551/@test%2fscoped/-/scoped-1.0.0.tgz');
|
|
|
|
assert.deepEqual(body['dist-tags'], {latest: '1.0.0'});
|
|
|
|
});
|
|
|
|
});
|
2014-12-14 15:29:56 -05:00
|
|
|
|
2017-04-19 14:15:28 -05:00
|
|
|
it('server2 - package', function() {
|
2017-06-28 15:56:02 -05:00
|
|
|
return server2.getPackage('@test/scoped')
|
2015-04-11 12:11:04 -05:00
|
|
|
.status(200)
|
2017-04-19 14:15:28 -05:00
|
|
|
.then(function(body) {
|
|
|
|
assert.equal(body.name, '@test/scoped');
|
|
|
|
assert.equal(body.versions['1.0.0'].name, '@test/scoped');
|
|
|
|
assert.equal(body.versions['1.0.0'].dist.tarball, 'http://localhost:55552/@test%2fscoped/-/scoped-1.0.0.tgz');
|
|
|
|
assert.deepEqual(body['dist-tags'], {latest: '1.0.0'});
|
|
|
|
});
|
|
|
|
});
|
2015-06-28 20:10:54 -05:00
|
|
|
|
2017-04-19 14:15:28 -05:00
|
|
|
it('server2 - nginx workaround', function() {
|
|
|
|
return server2.request({uri: '/@test/scoped/1.0.0'})
|
2015-06-28 20:10:54 -05:00
|
|
|
.status(200)
|
2017-04-19 14:15:28 -05:00
|
|
|
.then(function(body) {
|
|
|
|
assert.equal(body.name, '@test/scoped');
|
|
|
|
assert.equal(body.dist.tarball, 'http://localhost:55552/@test%2fscoped/-/scoped-1.0.0.tgz');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
};
|