mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.4 KiB
58 lines
1.4 KiB
var npm = require.resolve('../../')
|
|
var test = require('tap').test
|
|
var path = require('path')
|
|
var rimraf = require('rimraf')
|
|
var mkdirp = require('mkdirp')
|
|
var mr = require('npm-registry-mock')
|
|
var common = require('../common-tap.js')
|
|
var cache = path.resolve(__dirname, 'cache-shasum')
|
|
var spawn = require('child_process').spawn
|
|
var sha = require('sha')
|
|
var server
|
|
|
|
test('mock reg', function (t) {
|
|
rimraf.sync(cache)
|
|
mkdirp.sync(cache)
|
|
mr({ port: common.port }, function (er, s) {
|
|
server = s
|
|
t.pass('ok')
|
|
t.end()
|
|
})
|
|
})
|
|
|
|
test('npm cache add request', function (t) {
|
|
var c = spawn(process.execPath, [
|
|
npm, 'cache', 'add', 'request@2.27.0',
|
|
'--cache=' + cache,
|
|
'--registry=' + common.registry,
|
|
'--loglevel=quiet'
|
|
])
|
|
c.stderr.pipe(process.stderr)
|
|
|
|
c.stdout.on('data', function (d) {
|
|
t.fail('Should not get data on stdout: ' + d)
|
|
})
|
|
|
|
c.on('close', function (code) {
|
|
t.notOk(code, 'exit ok')
|
|
t.end()
|
|
})
|
|
})
|
|
|
|
test('compare', function (t) {
|
|
var d = path.resolve(__dirname, 'cache-shasum/request')
|
|
var p = path.resolve(d, '2.27.0/package.tgz')
|
|
var r = require('./cache-shasum/localhost_1337/request/.cache.json')
|
|
var rshasum = r.versions['2.27.0'].dist.shasum
|
|
sha.get(p, function (er, pshasum) {
|
|
if (er) throw er
|
|
t.equal(pshasum, rshasum)
|
|
t.end()
|
|
})
|
|
})
|
|
|
|
test('cleanup', function (t) {
|
|
server.close()
|
|
rimraf.sync(cache)
|
|
t.end()
|
|
})
|
|
|