Skip to content

Commit

Permalink
Bug 1125597 — Command to count number of FxA users
Browse files Browse the repository at this point in the history
  • Loading branch information
leplatrem committed Mar 10, 2015
1 parent 30996fd commit b09c190
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
25 changes: 25 additions & 0 deletions test/tools_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ var getStorage = require("../loop/storage");
var moveRedisData = require("../tools/move_redis_data");
var migrateRoomParticipants = require("../tools/migrate_1121403_roomparticipants");
var get_session_id_for_rooms = require("../tools/get_tokbox_sessionid_for_room_token");
var get_number_fxa_users = require("../tools/get_number_fxa_users");


var storage = loop.storage;
Expand Down Expand Up @@ -208,4 +209,28 @@ describe('Tools', function() {
});
});
});

describe('get_number_fxa_users', function() {
before(function(done) {
var multi = storage._client.multi();
multi.set('userid.12345', 'encrypted_user_id');
multi.set('userid.56789', 'encrypted_user_id');
multi.set('hawkuser.56789', 'userMac');
multi.exec(done);
});

after(function(done) {
storage.drop(done);
});

it("should return the number of FxA users in the database", function(done) {
get_number_fxa_users(function(results) {
expect(results).to.eql({
count: 1,
total: 2
});
done();
});
});
});
});
38 changes: 38 additions & 0 deletions tools/get_number_fxa_users.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
var conf = require('../loop/config').conf;
var redis = require("redis");

var storage = conf.get("storage");

function main(callback) {
if (storage.engine === "redis") {
var options = storage.settings;
var client = redis.createClient(
options.port,
options.host,
options.options
);
if (options.db) client.select(options.db);

var multi = client.multi();
multi.keys("userid.*");
multi.keys("hawkuser.*");
multi.exec(function (err, results) {
if (err) throw err;
callback({
total: results[0].length,
count: results[1].length
});
});
}
}


if (require.main === module) {
main(function(results) {
process.stdout.write(results.count + " FxA users for " +
results.total + " users.");
process.exit(0);
});
}

module.exports = main;

0 comments on commit b09c190

Please sign in to comment.