verdaccio/test/functional/plugins.js

121 lines
3.3 KiB
JavaScript

require('./lib/startup')
var assert = require('assert')
module.exports = function() {
var server2 = process.server2
describe('authentication', function() {
var authstr
before(function() {
authstr = server2.authstr
})
it('should not authenticate with wrong password', function () {
return server2.auth('authtest', 'wrongpass')
.status(409)
.body_error('this user already exists')
.then(function () {
return server2.whoami()
})
.then(function (username) {
assert.equal(username, null)
})
})
it('wrong password handled by plugin', function () {
return server2.auth('authtest2', 'wrongpass')
.status(409)
.body_error('registration is disabled')
.then(function () {
return server2.whoami()
})
.then(function (username) {
assert.equal(username, null)
})
})
it('right password handled by plugin', function () {
return server2.auth('authtest2', 'blahblah')
.status(201)
.body_ok(/'authtest2'/)
.then(function () {
return server2.whoami()
})
.then(function (username) {
assert.equal(username, 'authtest2')
})
})
after(function() {
server2.authstr = authstr
})
})
describe('authorization', function() {
var authstr
before(function() {
authstr = server2.authstr
})
describe('authtest', function() {
before(function () {
return server2.auth('authtest', 'test')
.status(201)
.body_ok(/'authtest'/)
})
it('access test-auth-allow', function () {
return server2.get_package('test-auth-allow')
.status(404)
.body_error('no such package available')
})
it('access test-auth-deny', function () {
return server2.get_package('test-auth-deny')
.status(403)
.body_error("you're not allowed here")
})
it('access test-auth-regular', function () {
return server2.get_package('test-auth-regular')
.status(404)
.body_error('no such package available')
})
})
describe('authtest2', function() {
before(function () {
return server2.auth('authtest2', 'blahblah')
.status(201)
.body_ok(/'authtest2'/)
})
it('access test-auth-allow', function () {
return server2.get_package('test-auth-allow')
.status(403)
.body_error("i don't know anything about you")
})
it('access test-auth-deny', function () {
return server2.get_package('test-auth-deny')
.status(403)
.body_error("i don't know anything about you")
})
it('access test-auth-regular', function () {
return server2.get_package('test-auth-regular')
.status(404)
.body_error('no such package available')
})
})
after(function() {
server2.authstr = authstr
})
})
}