|
@@ -2,6 +2,7 @@ var fs = require('fs');
|
|
var rimraf = require('rimraf');
|
|
var rimraf = require('rimraf');
|
|
var path = require('path');
|
|
var path = require('path');
|
|
var Q = require('q');
|
|
var Q = require('q');
|
|
|
|
+var debug = require('debug')('ylt:resultsDatastore');
|
|
|
|
|
|
|
|
|
|
function ResultsDatastore() {
|
|
function ResultsDatastore() {
|
|
@@ -13,12 +14,14 @@ function ResultsDatastore() {
|
|
|
|
|
|
|
|
|
|
this.saveResult = function(testResults) {
|
|
this.saveResult = function(testResults) {
|
|
-
|
|
|
|
var promise = createResultFolder(testResults.runId);
|
|
var promise = createResultFolder(testResults.runId);
|
|
|
|
|
|
|
|
+ debug('Saving results to disk...');
|
|
|
|
+
|
|
promise.then(function() {
|
|
promise.then(function() {
|
|
|
|
|
|
var resultFilePath = path.join(resultsDir, testResults.runId, resultFileName);
|
|
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));
|
|
return Q.nfcall(fs.writeFile, resultFilePath, JSON.stringify(testResults, null, 2));
|
|
});
|
|
});
|
|
@@ -30,6 +33,8 @@ function ResultsDatastore() {
|
|
this.getResult = function(runId) {
|
|
this.getResult = function(runId) {
|
|
|
|
|
|
var resultFilePath = path.join(resultsDir, runId, resultFileName);
|
|
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 Q.nfcall(fs.readFile, resultFilePath, {encoding: 'utf8'}).then(function(data) {
|
|
return JSON.parse(data);
|
|
return JSON.parse(data);
|
|
@@ -40,6 +45,8 @@ function ResultsDatastore() {
|
|
this.deleteResult = function(runId) {
|
|
this.deleteResult = function(runId) {
|
|
var folder = path.join(resultsDir, runId);
|
|
var folder = path.join(resultsDir, runId);
|
|
|
|
|
|
|
|
+ debug('Deleting results (runID = %s) from disk...', runId);
|
|
|
|
+
|
|
return Q.nfcall(rimraf, folder);
|
|
return Q.nfcall(rimraf, folder);
|
|
};
|
|
};
|
|
|
|
|
|
@@ -48,6 +55,8 @@ function ResultsDatastore() {
|
|
function createResultFolder(folderName) {
|
|
function createResultFolder(folderName) {
|
|
var folder = path.join(resultsDir, folderName);
|
|
var folder = path.join(resultsDir, folderName);
|
|
|
|
|
|
|
|
+ debug('Creating the folder %s', folderName);
|
|
|
|
+
|
|
return createGlobalFolder().then(function() {
|
|
return createGlobalFolder().then(function() {
|
|
return Q.nfcall(fs.mkdir, folder);
|
|
return Q.nfcall(fs.mkdir, folder);
|
|
});
|
|
});
|
|
@@ -62,6 +71,7 @@ function ResultsDatastore() {
|
|
if (exists) {
|
|
if (exists) {
|
|
deferred.resolve();
|
|
deferred.resolve();
|
|
} else {
|
|
} else {
|
|
|
|
+ debug('Creating the global results folder', resultsDir);
|
|
fs.mkdir(resultsDir, function(err) {
|
|
fs.mkdir(resultsDir, function(err) {
|
|
if (err) {
|
|
if (err) {
|
|
deferred.reject(err);
|
|
deferred.reject(err);
|