Socket
Socket
Sign inDemoInstall

firebase-admin

Package Overview
Dependencies
Maintainers
1
Versions
137
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

firebase-admin - npm Package Compare versions

Comparing version 1.2.0 to 2.0.0

lib/commands/account.js

51

account.js

@@ -10,11 +10,27 @@

/**
* Creates a new reference to a Firebase account.
* @constructor
* @param {String} adminToken The admin token for the account.
*/
function FirebaseAccount(adminToken) {
var deferred = Q.defer();
this._dbs = {};
this.adminToken = adminToken;
}
/**
* Gets a Firebase admin token given a username and password.
* @constructor
* @param {String} email The email address associated with the account.
* @param {String} password The password for the account.
* @property {external:Promise} ready A promise that will resolve when the
* account is ready to use and reject if there's a problem logging in.
* token is retrieved, or reject if there's an error.
*/
function FirebaseAccount(email, password) {
FirebaseAccount.getToken = function(email, password) {

@@ -33,2 +49,3 @@ var deferred = Q.defer();

}, function(err, response, body) {
if (err) {

@@ -43,11 +60,11 @@ deferred.reject(err);

} else {
this.adminToken = body.adminToken;
deferred.resolve(this);
deferred.resolve(body.adminToken);
}
}.bind(this));
this.ready = deferred.promise;
});
}
return deferred.promise;
};
FirebaseAccount.defaultAuthConfig = {

@@ -241,3 +258,3 @@ domains: [

* @example
* FirebaseAccount.bootstrapInstance('me@foo.com', 'foobar')
* FirebaseAccount.bootstrapInstance('token')
* .then(function(db) {

@@ -251,16 +268,14 @@ * // get a Firebase reference to the new instance

*/
FirebaseAccount.bootstrapInstance = function(email, password) {
FirebaseAccount.bootstrapInstance = function(token) {
return new FirebaseAccount(email, password).ready.then(function(acct) {
var account = new FirebaseAccount(token);
return acct.createDatabase(Math.random().toString(36).slice(2))
.then(function(db) {
return account.createDatabase(Math.random().toString(36).slice(2))
.then(function(db) {
db.tearDown = function() {
return acct.deleteDatabase(db);
};
return db;
db.tearDown = function() {
return account.deleteDatabase(db);
};
return db;
});
});

@@ -267,0 +282,0 @@

@@ -426,2 +426,3 @@

/**

@@ -428,0 +429,0 @@ * Promises to create a Firebase Simple Login password-type user.

{
"name": "firebase-admin",
"version": "1.2.0",
"version": "2.0.0",
"description": "Programmatically instantiate and modify Firebase instances.",

@@ -34,3 +34,6 @@ "keywords": [

"q": "^1.0.1",
"request": "^2.37.0"
"request": "^2.37.0",
"commander": "^2.3.0",
"chalk": "^0.5.1",
"cli-table": "^0.3.0"
},

@@ -37,0 +40,0 @@ "devDependencies": {

@@ -21,4 +21,5 @@ firebase-admin

var Firebase = require('firebase');
var account = new FirebaseAccount('me@example.com', 'password');
account.ready.then(function() {
FirebaseAccount.getToken('user', 'pass')
.then(function(token) {
var account = new FirebaseAccount(token);
account.createDatabase('new-instance-name')

@@ -25,0 +26,0 @@ .then(function(instance) {

@@ -12,6 +12,3 @@

if (process.env.FIREBASE_USER && process.env.FIREBASE_PASS) {
global.params.firebaseUser = process.env.FIREBASE_USER;
global.params.firebasePassword = process.env.FIREBASE_PASS;
} else {
if (!process.env.FIREBASE_USER || !process.env.FIREBASE_PASS) {
console.error(

@@ -21,2 +18,3 @@ 'You must set process.env.FIREBASE_USER and process.env.FIREBASE_PASS\n' +

);
process.exit(1);
}

@@ -14,8 +14,10 @@

var newDb;
var newDb, token;
before(function() {
account = new FirebaseAccount(fbUser, fbPass);
return account.ready;
return FirebaseAccount.getToken(fbUser, fbPass)
.then(function(newToken) {
token = newToken;
});

@@ -25,15 +27,13 @@ });

beforeEach(function() {
return Q.delay(500);
});
describe('constructor', function() {
describe('getToken', function() {
describe('given valid credentials', function() {
it('has a "ready" promise that resolves when authenticated', function() {
it('resolves when authenticated', function() {
return expect((new FirebaseAccount(fbUser, fbPass)).ready)
return expect(FirebaseAccount.getToken(fbUser, fbPass))
.to.be.fulfilled;

@@ -50,4 +50,5 @@

return expect(
(new FirebaseAccount('wrong@wrongville.com', 'wrongpass')).ready
).to.be.rejectedWith(Error);
FirebaseAccount.getToken('wrong@wrongville.com', 'wrongpass')
)
.to.be.rejectedWith(Error);

@@ -80,2 +81,10 @@ });

describe('constructor', function() {
it('takes a Firebase admin token', function() {
account = new FirebaseAccount(token);
});
});
describe('#createDatabase', function() {

@@ -138,9 +147,12 @@

before(function() {
instancePromise = FirebaseAccount.bootstrapInstance(fbUser, fbPass);
return FirebaseAccount.getToken(fbUser, fbPass)
.then(function(token) {
instancePromise = FirebaseAccount.bootstrapInstance(token);
});
});
it('promises to create a new database with a random name immediately', function() {
return expect(instancePromise).to.be.fulfilled;
});

@@ -150,6 +162,6 @@

return expect(instancePromise.then(function(instance) {
return instancePromise.then(function(instance) {
expect(instance.tearDown).to.be.a('function');
return expect(instance.tearDown()).to.be.fulfilled;
})).to.be.fulfilled;
});

@@ -156,0 +168,0 @@ });

@@ -19,7 +19,8 @@

account = new FirebaseAccount(fbUser, fbPass);
return account.ready
.then(function() {
return FirebaseAccount.getToken(fbUser, fbPass)
.then(function(token) {
account = new FirebaseAccount(token);
return account.createDatabase(Math.random().toString(36).slice(2))

@@ -26,0 +27,0 @@ .then(function(newInstance) {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc