Skip to content

Commit

Permalink
fix(test): correct .npmrc file, close #42
Browse files Browse the repository at this point in the history
  • Loading branch information
bahmutov committed Jul 10, 2017
1 parent 6fed809 commit f99cc8c
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 48 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@
"Jayson Harshbarger http://hypercubed.com/"
],
"dependencies": {
"chdir-promise": "0.4.0",
"chdir-promise": "0.4.1",
"check-more-types": "2.23.0",
"cross-spawn": "5.0.1",
"debug": "2.3.3",
"del": "2.2.2",
"ggit": "1.13.4",
"lazy-ass": "1.5.0",
"local-or-home-npmrc": "1.0.0",
"local-or-home-npmrc": "github:bahmutov/local-or-home-npmrc",
"q": "2.0.3",
"registry-url": "3.1.0",
"repo-url": "1.0.0",
Expand Down
59 changes: 59 additions & 0 deletions src/set-auth-token-spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
var fs = require('fs')
var path = require('path')
var proxyquire = require('proxyquire')
var temp = require('temp')
const chdir = require('chdir-promise')

temp.track()

var npmToken

/* global describe, beforeEach, it, afterEach */
describe('set auth token', () => {
let setAuthToken
let dirPath

beforeEach((done) => {
temp.mkdir('npm-utils', function (err, tempFolder) {
if (err) {
throw err
}
dirPath = tempFolder
console.log('temp folder', dirPath)

setAuthToken = proxyquire('./set-auth-token', {
'user-home': dirPath
})
console.log(setAuthToken)

npmToken = process.env.NPM_TOKEN
process.env.NPM_TOKEN = '1234'

chdir.to(dirPath).then(() => {
console.log('current folder', process.cwd())
done()
})
})
})

afterEach((done) => {
process.env.NPM_TOKEN = npmToken
chdir.back().then(() => done())
})

it('sets the authentication token on default registry', function () {
var customRegistry = 'https://npm.example.com/'
var npmrcPath = path.join(dirPath, '.npmrc')
var packagePath = path.join(dirPath, 'package.json')

fs.writeFileSync(npmrcPath, '@myco:registry=' + customRegistry, { encoding: 'utf8' })
fs.writeFileSync(packagePath, '{ "name": "@myco/test-package" }', { encoding: 'utf8' })

return setAuthToken()
.then(function () {
var npmrcContents = fs.readFileSync(npmrcPath, 'utf8')
console.log(npmrcContents)
})
})
})

8 changes: 6 additions & 2 deletions src/set-auth-token.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ var fs = require('fs')
var q = require('q')
var formUrlToken = require('./form-auth-token')
var getPackage = require('./get-package')
var npmrcFile = require('local-or-home-npmrc')
var localOrHomeNpmrc = require('local-or-home-npmrc')
var debug = require('debug')('npm-utils')

function updateNpmrc (data) {
var contents = ''

var npmrcFile = localOrHomeNpmrc()
if (fs.existsSync(npmrcFile)) {
debug('using file:', npmrcFile)
contents = fs.readFileSync(npmrcFile, 'utf-8')
Expand All @@ -33,7 +34,10 @@ function updateNpmrc (data) {
function setAuthToken () {
var deferred = q.defer()

var packageName = getPackage(process.cwd()).name
var cwd = process.cwd()
var packageName = getPackage(cwd).name
debug('package %s in folder %s', packageName, cwd)

var scope = packageName.split('/')[0]
var registry = registryUrl(scope)
console.log('setting auth token for registry', registry)
Expand Down
44 changes: 0 additions & 44 deletions src/test/set-auth-token.js

This file was deleted.

0 comments on commit f99cc8c

Please sign in to comment.