Merge branch 'refactor' of https://github.com/gmetais/YellowLabTools into refactor

This commit is contained in:
Gaël Métais
2014-12-19 14:51:39 +01:00
3 changed files with 27 additions and 8 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
language: node_js
node_js:
- "0.10"
- "0.10.33"
before_install:
- "npm install -g grunt-cli"
- "npm install -g phantomjs"
+15 -6
View File
@@ -52,16 +52,25 @@ var ApiController = function(app) {
.then(function(data) {
debug('Success');
runsDatastore.markAsComplete(run.runId);
// Save result in datastore
data.runId = run.runId;
resultsDatastore.saveResult(data);
resultsDatastore.saveResult(data)
.then(function() {
// Send result if the user was waiting
if (run.params.waitForResponse) {
res.redirect(302, '/api/results/' + run.runId);
}
runsDatastore.markAsComplete(run.runId);
// Send result if the user was waiting
if (run.params.waitForResponse) {
res.redirect(302, '/api/results/' + run.runId);
}
})
.fail(function(err) {
debug('Saving results to resultsDatastore failed:');
debug(err);
});
}).fail(function(err) {
+11 -1
View File
@@ -2,6 +2,7 @@ var fs = require('fs');
var rimraf = require('rimraf');
var path = require('path');
var Q = require('q');
var debug = require('debug')('ylt:resultsDatastore');
function ResultsDatastore() {
@@ -13,12 +14,14 @@ function ResultsDatastore() {
this.saveResult = function(testResults) {
var promise = createResultFolder(testResults.runId);
debug('Saving results to disk...');
promise.then(function() {
var resultFilePath = path.join(resultsDir, testResults.runId, resultFileName);
debug('Destination file is %s', resultFilePath);
return Q.nfcall(fs.writeFile, resultFilePath, JSON.stringify(testResults, null, 2));
});
@@ -30,6 +33,8 @@ function ResultsDatastore() {
this.getResult = function(runId) {
var resultFilePath = path.join(resultsDir, runId, resultFileName);
debug('Reading results (runID = %s) from disk...', runId);
return Q.nfcall(fs.readFile, resultFilePath, {encoding: 'utf8'}).then(function(data) {
return JSON.parse(data);
@@ -40,6 +45,8 @@ function ResultsDatastore() {
this.deleteResult = function(runId) {
var folder = path.join(resultsDir, runId);
debug('Deleting results (runID = %s) from disk...', runId);
return Q.nfcall(rimraf, folder);
};
@@ -48,6 +55,8 @@ function ResultsDatastore() {
function createResultFolder(folderName) {
var folder = path.join(resultsDir, folderName);
debug('Creating the folder %s', folderName);
return createGlobalFolder().then(function() {
return Q.nfcall(fs.mkdir, folder);
});
@@ -62,6 +71,7 @@ function ResultsDatastore() {
if (exists) {
deferred.resolve();
} else {
debug('Creating the global results folder', resultsDir);
fs.mkdir(resultsDir, function(err) {
if (err) {
deferred.reject(err);