A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/npm/npm/commit/f1dc8a175eed56f1ed23bd5773e5e10beaf6cb31 below:

add support for always-auth and _auth in root and scope · npm/npm@f1dc8a1 · GitHub

1 +

var path = require('path')

2 +

var writeFileSync = require('graceful-fs').writeFileSync

3 + 4 +

var mkdirp = require('mkdirp')

5 +

var mr = require('npm-registry-mock')

6 +

var osenv = require('osenv')

7 +

var rimraf = require('rimraf')

8 +

var test = require('tap').test

9 + 10 +

var common = require('../common-tap.js')

11 + 12 +

var pkg = path.resolve(__dirname, path.basename(__filename, '.js'))

13 +

var outfile = path.resolve(pkg, '_npmrc')

14 + 15 +

var modules = path.resolve(pkg, 'node_modules')

16 +

var tarballPath = '/scoped-underscore/-/scoped-underscore-1.3.1.tgz'

17 +

var tarballURL = common.registry + tarballPath

18 +

var tarball = path.resolve(__dirname, '../fixtures/scoped-underscore-1.3.1.tgz')

19 + 20 +

var _auth = '0xabad1dea'

21 + 22 +

var server

23 + 24 +

function mocks (server) {

25 +

var auth = 'Basic ' + _auth

26 +

server.get(tarballPath, { authorization: auth }).replyWithFile(200, tarball)

27 +

server.get(tarballPath).reply(401, {

28 +

error: 'unauthorized',

29 +

reason: 'You are not authorized to access this db.'

30 +

})

31 +

}

32 + 33 +

test('setup', function (t) {

34 +

mr({ port: common.port, plugin: mocks }, function (er, s) {

35 +

server = s

36 +

t.ok(s, 'set up mock registry')

37 +

setup()

38 +

t.end()

39 +

})

40 +

})

41 + 42 +

test('authed npm install with shrinkwrapped global package using _auth', function (t) {

43 +

common.npm(

44 +

[

45 +

'install',

46 +

'--loglevel', 'warn',

47 +

'--json',

48 +

'--fetch-retries', 0,

49 +

'--userconfig', outfile

50 +

],

51 +

{cwd: pkg, stdio: [0, 'pipe', 2]},

52 +

function (err, code, stdout) {

53 +

if (err) throw err

54 +

t.equal(code, 0, 'npm install exited OK')

55 +

try {

56 +

var results = JSON.parse(stdout)

57 +

t.match(results, {added: [{name: '@scoped/underscore', version: '1.3.1'}]}, '@scoped/underscore installed')

58 +

} catch (ex) {

59 +

console.error('#', ex)

60 +

t.ifError(ex, 'stdout was valid JSON')

61 +

}

62 + 63 +

t.end()

64 +

}

65 +

)

66 +

})

67 + 68 +

test('cleanup', function (t) {

69 +

server.close()

70 +

cleanup()

71 +

t.end()

72 +

})

73 + 74 +

var contents = 'registry=' + common.registry + '\n' +

75 +

'_auth=' + _auth + '\n' +

76 +

'\'always-auth\'=true\n'

77 + 78 +

var json = {

79 +

name: 'test-package-install',

80 +

version: '1.0.0',

81 +

dependencies: {

82 +

'@scoped/underscore': '1.0.0'

83 +

}

84 +

}

85 + 86 +

var shrinkwrap = {

87 +

name: 'test-package-install',

88 +

version: '1.0.0',

89 +

dependencies: {

90 +

'@scoped/underscore': {

91 +

resolved: tarballURL,

92 +

version: '1.3.1'

93 +

}

94 +

}

95 +

}

96 + 97 +

function setup () {

98 +

cleanup()

99 +

mkdirp.sync(modules)

100 +

writeFileSync(path.resolve(pkg, 'package.json'), JSON.stringify(json, null, 2) + '\n')

101 +

writeFileSync(outfile, contents)

102 +

writeFileSync(

103 +

path.resolve(pkg, 'npm-shrinkwrap.json'),

104 +

JSON.stringify(shrinkwrap, null, 2) + '\n'

105 +

)

106 +

}

107 + 108 +

function cleanup () {

109 +

process.chdir(osenv.tmpdir())

110 +

rimraf.sync(pkg)

111 +

}


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4