Skip to content

Commit

Permalink
Fixing issue with multiple data sets
Browse files Browse the repository at this point in the history
  • Loading branch information
abhijitkane committed Jul 3, 2014
1 parent 933725f commit 354735d
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 12 deletions.
21 changes: 11 additions & 10 deletions src/runners/IterationRunner.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,16 +103,17 @@ var IterationRunner = jsface.Class([Options, EventEmitter], {
Globals.envJson = envJson;
}
else {
var existingEnvVars = this._kvArrayToObject(Globals.envJson.values);
var dataFileVars = this._kvArrayToObject(envJson.values);
var finalObject = existingEnvVars;
for (var property in dataFileVars) {
if (dataFileVars.hasOwnProperty(property)) {
finalObject[property]=dataFileVars[property];
}
}
var finalArray = this._objectToKvArray(finalObject);
Globals.envJson.values = finalArray;
Globals.envJson.values=Helpers.augmentDataArrays(Globals.envJson.values,envJson.values);
// var existingEnvVars = this._kvArrayToObject(Globals.envJson.values);
// var dataFileVars = this._kvArrayToObject(envJson.values);
// var finalObject = existingEnvVars;
// for (var property in dataFileVars) {
// if (dataFileVars.hasOwnProperty(property)) {
// finalObject[property]=dataFileVars[property];
// }
// }
// var finalArray = this._objectToKvArray(finalObject);
// Globals.envJson.values = finalArray;
}
}
},
Expand Down
27 changes: 26 additions & 1 deletion src/runners/RequestRunner.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,28 @@ var RequestRunner = jsface.Class([Queue, EventEmitter], {
this._execute();
},

_getPropertyFromArray: function(array, propName) {
return _und.find(array,function(elem) {
return (propName===("{{"+elem.key+"}}"));
});
},

_addGlobalData: function(oldArray, newArray) {
var finalArray = [];
var oLen = oldArray.length;
for(var i=0;i<oLen;i++) {
var thisValue=oldArray[i].value;
var actualValue=this._getPropertyFromArray(newArray,thisValue);
if(typeof actualValue==="undefined") {
finalArray.push({"key":oldArray[i].key,"value":thisValue, "type":oldArray[i].type});
}
else {
finalArray.push({"key":oldArray[i].key,"value":actualValue.value, "type":oldArray[i].type});
}
}
return finalArray;
},

// Gets a request from the queue and executes it.
_execute: function() {
var request = this.getFromQueue();
Expand All @@ -49,7 +71,9 @@ var RequestRunner = jsface.Class([Queue, EventEmitter], {
this._processUrlUsingEnvVariables(request);
request.transformed.url = this._ensureUrlPrefix(request.transformed.url);
var RequestOptions = this._getRequestOptions(request);
request.data=request.transformed.data;
//request.data=request.transformed.data;
var oldRequestData = request.data;
request.data=this._addGlobalData(request.data,Globals.envJson.values);
request.startTime = new Date().getTime();
RequestOptions.rejectUnauthorized=false;
var unireq = unirest.request(RequestOptions, function(error, response, body) {
Expand All @@ -71,6 +95,7 @@ var RequestRunner = jsface.Class([Queue, EventEmitter], {

this._setFormDataIfParamsInRequest(unireq, request);
Globals.envJson = oldGlobals;
request.data=oldRequestData;
} else {
this._destroy();
}
Expand Down
34 changes: 33 additions & 1 deletion src/utilities/Helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,39 @@ var Helpers = jsface.Class({
}
});
return headerObj;
}
},

kvArrayToObject: function(array) {
var obj = {};
_und.each(array,function(kv) {
obj[kv.key]=kv.value;
});
return obj;
},

objectToKvArray: function(obj) {
var arr=[];
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
arr.push({"key":property, "value":obj[property]});
}
}
return arr;
},

augmentDataArrays: function(oldArray, newArray) {
var existingEnvVars = this.kvArrayToObject(oldArray);
var dataFileVars = this.kvArrayToObject(newArray);
var finalObject = existingEnvVars;
for (var property in dataFileVars) {
if (dataFileVars.hasOwnProperty(property)) {
finalObject[property]=dataFileVars[property];
}
}
var finalArray = this.objectToKvArray(finalObject);
//Globals.envJson.values = finalArray;
return finalArray;
}
});

// symbols for logging
Expand Down

0 comments on commit 354735d

Please sign in to comment.