122 lines
4.2 KiB
JavaScript
122 lines
4.2 KiB
JavaScript
var models = require('../lib/models');
|
|
var loopback = require(('../'));
|
|
var assert = require('assert');
|
|
|
|
var dataSource = loopback.createDataSource('db', {connector: loopback.Memory});
|
|
|
|
var Application = models.Application(dataSource);
|
|
|
|
describe('Application', function () {
|
|
var registeredApp = null;
|
|
|
|
it('Create a new application', function (done) {
|
|
|
|
Application.create({owner: 'rfeng', name: 'MyApp1', description: 'My first mobile application'}, function (err, result) {
|
|
var app = result;
|
|
assert.equal(app.owner, 'rfeng');
|
|
assert.equal(app.name, 'MyApp1');
|
|
assert.equal(app.description, 'My first mobile application');
|
|
assert(app.clientKey);
|
|
assert(app.javaScriptKey);
|
|
assert(app.restApiKey);
|
|
assert(app.windowsKey);
|
|
assert(app.masterKey);
|
|
assert(app.created);
|
|
assert(app.modified);
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Register a new application', function (done) {
|
|
|
|
Application.register('rfeng', 'MyApp2', {description: 'My second mobile application'}, function (err, result) {
|
|
var app = result;
|
|
assert.equal(app.owner, 'rfeng');
|
|
assert.equal(app.name, 'MyApp2');
|
|
assert.equal(app.description, 'My second mobile application');
|
|
assert(app.clientKey);
|
|
assert(app.javaScriptKey);
|
|
assert(app.restApiKey);
|
|
assert(app.windowsKey);
|
|
assert(app.masterKey);
|
|
assert(app.created);
|
|
assert(app.modified);
|
|
registeredApp = app;
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Reset keys', function (done) {
|
|
|
|
Application.resetKeys(registeredApp.id, function (err, result) {
|
|
var app = result;
|
|
assert.equal(app.owner, 'rfeng');
|
|
assert.equal(app.name, 'MyApp2');
|
|
assert.equal(app.description, 'My second mobile application');
|
|
assert(app.clientKey);
|
|
assert(app.javaScriptKey);
|
|
assert(app.restApiKey);
|
|
assert(app.windowsKey);
|
|
assert(app.masterKey);
|
|
|
|
assert(app.clientKey !== registeredApp.clientKey);
|
|
assert(app.javaScriptKey !== registeredApp.javaScriptKey);
|
|
assert(app.restApiKey !== registeredApp.restApiKey);
|
|
assert(app.windowsKey !== registeredApp.windowsKey);
|
|
assert(app.masterKey !== registeredApp.masterKey);
|
|
|
|
assert(app.created);
|
|
assert(app.modified);
|
|
registeredApp = app;
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Authenticate with application id & clientKey', function (done) {
|
|
|
|
Application.authenticate(registeredApp.id, registeredApp.clientKey, function (err, result) {
|
|
assert.equal(result, 'clientKey');
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Authenticate with application id & javaScriptKey', function (done) {
|
|
|
|
Application.authenticate(registeredApp.id, registeredApp.javaScriptKey, function (err, result) {
|
|
assert.equal(result, 'javaScriptKey');
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Authenticate with application id & restApiKey', function (done) {
|
|
Application.authenticate(registeredApp.id, registeredApp.restApiKey, function (err, result) {
|
|
assert.equal(result, 'restApiKey');
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Authenticate with application id & masterKey', function (done) {
|
|
Application.authenticate(registeredApp.id, registeredApp.masterKey, function (err, result) {
|
|
assert.equal(result, 'masterKey');
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
|
|
it('Authenticate with application id & windowsKey', function (done) {
|
|
Application.authenticate(registeredApp.id, registeredApp.windowsKey, function (err, result) {
|
|
assert.equal(result, 'windowsKey');
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
it('Fail to authenticate with application id & invalid key', function (done) {
|
|
Application.authenticate(registeredApp.id, 'invalid-key', function (err, result) {
|
|
assert(!result);
|
|
done(err, result);
|
|
});
|
|
});
|
|
|
|
});
|
|
|