kopia lustrzana https://github.com/c9/core
Turning saucelabs into an actual database object and fixing bugs
rodzic
51b667363c
commit
2131536c8e
|
@ -12,6 +12,7 @@ var EXPECTED_RESULT_PROMOTE = "7200 Sauce manual minutes";
|
|||
var USERNAMESTART = "c9sauce";
|
||||
var INDEXTAG = "_INDEX_";
|
||||
var EMAIL_TAGGED = "test+sl" + INDEXTAG + "@c9.io";
|
||||
var USE_FILE_LOGS = false;
|
||||
|
||||
|
||||
function getRandomChars(len) {
|
||||
|
@ -34,11 +35,15 @@ function readFile(file) {
|
|||
}
|
||||
|
||||
function writeFile(file, text) {
|
||||
if (!USE_FILE_LOGS) return;
|
||||
|
||||
fs.writeFileSync(file, text+'\n', "utf-8");
|
||||
return;
|
||||
}
|
||||
|
||||
function appendFile(file, text) {
|
||||
if (!USE_FILE_LOGS) return;
|
||||
|
||||
fs.appendFileSync(file, text+'\n');
|
||||
return;
|
||||
}
|
||||
|
@ -118,47 +123,46 @@ function promoteUser(user_object, callback) {
|
|||
|
||||
if (err || stdout.indexOf("error") != -1) {
|
||||
var errmsg = "Error executing curl to promote Saucelabs user (";
|
||||
errmsg += (err.message ? err.message+", " : "");
|
||||
errmsg += (err && err.message ? err.message+", " : "");
|
||||
errmsg += "stdout: " + stdout + ")";
|
||||
return callback(errmsg);
|
||||
return callback(new Error(errmsg));
|
||||
}
|
||||
|
||||
if (stdout.indexOf(EXPECTED_RESULT_PROMOTE) == -1)
|
||||
return callback("Unexpected result promoting Saucelabs user (stdout: " + stdout + ")");
|
||||
return callback(new Error("Unexpected result promoting Saucelabs user (stdout: " + stdout + ")"));
|
||||
|
||||
user_object.promoted = true;
|
||||
callback(null, user_object);
|
||||
}
|
||||
)}
|
||||
|
||||
function createAndPromoteUser(callback) {
|
||||
var lastIndex = readFile(FILE_LASTUSERINDEX);
|
||||
dbg("last index: " + lastIndex);
|
||||
var index = parseInt(lastIndex, 10) + 1;
|
||||
dbg("new index: " + index);
|
||||
function createAndPromoteUser(index, callback) {
|
||||
if (!callback) return createAndPromoteUser(null, index);
|
||||
var useFileLogs = false
|
||||
if (!index) {
|
||||
useFileLogs = true;
|
||||
var lastIndex = readFile(FILE_LASTUSERINDEX);
|
||||
dbg("last index: " + lastIndex);
|
||||
var index = parseInt(lastIndex, 10) + 1;
|
||||
dbg("new index: " + index);
|
||||
}
|
||||
var password = getRandomChars(8);
|
||||
var email = EMAIL_TAGGED.replace(INDEXTAG, index);
|
||||
var username = USERNAMESTART+index;
|
||||
createUser(username, password, email, function(err, res1) {
|
||||
if (err) {
|
||||
console.error("[ERR] Error occurred: ", JSON.stringify(err));
|
||||
process.exit(2);
|
||||
}
|
||||
if (err) return callback(err);
|
||||
|
||||
dbg("writing last index file: " + index);
|
||||
writeFile(FILE_LASTUSERINDEX, index);
|
||||
useFileLogs && writeFile(FILE_LASTUSERINDEX, index);
|
||||
|
||||
var readable_result = JSON.stringify(res1);
|
||||
appendFile(FILE_USERS_CREATED, readable_result);
|
||||
useFileLogs && appendFile(FILE_USERS_CREATED, readable_result);
|
||||
|
||||
promoteUser(res1, function(err, res2) {
|
||||
if (err) {
|
||||
console.error("[ERR] Error occurred: ", JSON.stringify(err));
|
||||
process.exit(3);
|
||||
}
|
||||
if (err) return callback(err);
|
||||
|
||||
readable_result = JSON.stringify(res2);
|
||||
appendFile(FILE_PROMOTED_ACCOUNTS_CREATED, readable_result);
|
||||
useFileLogs && appendFile(FILE_PROMOTED_ACCOUNTS_CREATED, readable_result);
|
||||
|
||||
console.info("----> user created successfully ("+res2.username+")");
|
||||
callback(null, readable_result);
|
||||
|
@ -167,5 +171,5 @@ function createAndPromoteUser(callback) {
|
|||
}
|
||||
|
||||
module.exports = {
|
||||
createAndPromoteUser: createAndPromoteUser
|
||||
createAndPromoteUser: createAndPromoteUser,
|
||||
};
|
Ładowanie…
Reference in New Issue