Issue-ID: SDC-2483

Adding https support for cucumber tests and slight refactoring

Signed-off-by: ilanap <ilanap@amdocs.com>
Change-Id: Ib772d18cd4278238571daf54bcb6372c553d6e4b
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/ActivitySpec_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/ActivitySpec_steps.js
index 7fe8ddf..d12421b 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/ActivitySpec_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/ActivitySpec_steps.js
@@ -16,7 +16,7 @@
 
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 const _ = require('lodash');
 
 When('I want to create an ActivitySpec', function () {
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/Collaboration_Steps.js b/cucumber-js-test-apis-ci/stepDefinitions/Collaboration_Steps.js
index c4de758..a0713c5 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/Collaboration_Steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/Collaboration_Steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When, Given} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 /**
  * @module Collaboration
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/General_Steps.js b/cucumber-js-test-apis-ci/stepDefinitions/General_Steps.js
index 2076366..e59d441 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/General_Steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/General_Steps.js
@@ -20,7 +20,7 @@
 require('node-zip');
 YAML = require('yamljs');
 const fs = require('fs');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 function getPath(path, context) {
 	let compiled = _.template(path);
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/GlobalTypes.js b/cucumber-js-test-apis-ci/stepDefinitions/GlobalTypes.js
index 461fee7..f278a2e 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/GlobalTypes.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/GlobalTypes.js
@@ -16,9 +16,9 @@
 
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 When('I want to get interface lifecycle types', function () {
     let path = '/catalog/interfaceLifecycleTypes';
-    return util.request(this.context, 'GET', path, null, false, 'catalog');
+    return util.request(this.context, 'GET', path, null, 'catalog');
 });
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/InputData_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/InputData_steps.js
index 57a374b..782aeae 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/InputData_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/InputData_steps.js
@@ -17,7 +17,7 @@
 const assert = require('assert');
 const _ = require('lodash');
 const fs = require('fs');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 /**
  * @module InputData
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/InterfaceOperationSteps.js b/cucumber-js-test-apis-ci/stepDefinitions/InterfaceOperationSteps.js
index 3e23219..ba716d0 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/InterfaceOperationSteps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/InterfaceOperationSteps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 
 When('I want to create a VF', function()  {
@@ -27,7 +27,7 @@
 
     var type = "resources";
     let path = '/catalog/' + type;
-    return util.request(this.context, 'POST', path,  inputData, false, 'catalog').then(result => {
+    return util.request(this.context, 'POST', path,  inputData, 'catalog').then(result => {
         this.context.component = {uniqueId : result.data.uniqueId, type : type, id : result.data.inputs[0].uniqueId};
 });
 });
@@ -41,7 +41,7 @@
 
     var type = "services";
     let path = '/catalog/' + type;
-    return util.request(this.context, 'POST', path,  inputData, false, 'catalog').then(result => {
+    return util.request(this.context, 'POST', path,  inputData,  'catalog').then(result => {
         this.context.component = {uniqueId : result.data.uniqueId, type : type, id : result.data.inputs[0].uniqueId};
 });
 });
@@ -68,7 +68,7 @@
     inputData.interfaces.interface1.operations.delete.outputs.listToscaDataDefinition[0].name = util.random();
     inputData.interfaces.interface1.operations.delete.description = operationName + " description";
 
-    return util.request(this.context, 'POST', path, inputData, false, 'catalog').then(result => {
+    return util.request(this.context, 'POST', path, inputData, 'catalog').then(result => {
             {intOperations = result.data.interfaces[0].operations};
         this.context.interface = {  interfaceUniqueId : result.data.interfaces[0].uniqueId,
                                     interfaceType : result.data.interfaces[0].type,
@@ -86,7 +86,7 @@
     inputData.interfaces.interface1.operations.delete.inputs.listToscaDataDefinition[0].inputId = this.context.component.id;
     inputData.interfaces.interface1.operations.delete.outputs.listToscaDataDefinition[0].name = util.random();
 
-    return util.request(this.context, 'PUT', path, inputData, false, 'catalog').then((result)=> {
+    return util.request(this.context, 'PUT', path, inputData, 'catalog').then((result)=> {
     {intOperations = result.data.interfaces[0].operations};
             this.context.interface =  { interfaceUniqueId : result.data.interfaces[0].uniqueId,
                                         interfaceType : result.data.interfaces[0].type,
@@ -98,7 +98,7 @@
 When('I want to get an Operation by Id', function () {
     let path = '/catalog/'+ this.context.component.type + '/' + this.context.component.uniqueId + '/interfaces/' +
         this.context.interface.interfaceUniqueId + '/operations/' +this.context.interface.operationUniqueId ;
-    return util.request(this.context, 'GET', path, null, false, 'catalog').then((result)=> {
+    return util.request(this.context, 'GET', path, null, 'catalog').then((result)=> {
 
     {intOperations = result.data.interfaces[0].operations};
     this.context.interface =  { interfaceUniqueId : result.data.interfaces[0].uniqueId,
@@ -111,7 +111,7 @@
 
 When('I want to list Operations', function () {
     let path = '/catalog/'+ this.context.component.type + '/' + this.context.component.uniqueId + '/filteredDataByParams?include=interfaces';
-    return util.request(this.context, 'GET', path, null, false, 'catalog').then((result)=> {
+    return util.request(this.context, 'GET', path, null, 'catalog').then((result)=> {
     });
 });
 
@@ -119,14 +119,14 @@
 When('I want to delete an Operation', function()  {
     let path = '/catalog/'+ this.context.component.type + '/'+ this.context.component.uniqueId +'/interfaces/' +
         this.context.interface.interfaceUniqueId + '/operations/' +this.context.interface.operationUniqueId ;
-    return util.request(this.context, 'DELETE', path, null, false, 'catalog');
+    return util.request(this.context, 'DELETE', path, null, 'catalog');
 });
 
 
 When('I want to checkin this component', function () {
     let path = '/catalog/'+ this.context.component.type + '/' + this.context.component.uniqueId + '/lifecycleState/CHECKIN' ;
     let inputData = {userRemarks: 'checkin'};
-    return util.request(this.context, 'POST', path, inputData, false, 'catalog').then((result)=> {
+    return util.request(this.context, 'POST', path, inputData, 'catalog').then((result)=> {
     this.context.component = {uniqueId : result.data.uniqueId, type : this.context.component.type};
 });
 });
@@ -135,7 +135,7 @@
 Then('I want to submit this component', function () {
     let path = '/catalog/'+ this.context.component.type + '/' + this.context.component.uniqueId + '/lifecycleState/certificationRequest' ;
     let inputData = {userRemarks: 'submit'};
-    return util.request(this.context, 'POST', path, inputData, false, 'catalog').then((result)=> {
+    return util.request(this.context, 'POST', path, inputData, 'catalog').then((result)=> {
     this.context.component = {uniqueId : result.data.uniqueId};
 });
 });
@@ -143,7 +143,7 @@
 Then('I want to certify this component', function () {
     let path = '/catalog/'+ this.context.component.type +'/' + this.context.component.uniqueId + '/lifecycleState/certify' ;
     let inputData = {userRemarks: 'certify'};
-    return util.request(this.context, 'POST', path, inputData, false, 'catalog').then((result)=> {
+    return util.request(this.context, 'POST', path, inputData, 'catalog').then((result)=> {
     this.context.component = {uniqueId : result.data.uniqueId};
 });
 });
\ No newline at end of file
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/Item_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/Item_steps.js
index 3ff7f20..6f2c087 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/Item_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/Item_steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 /**
  * @module Item
  * @description uses item id and version id from context
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/NetworkPackage_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/NetworkPackage_steps.js
index 731d5b8..cdb5cbe 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/NetworkPackage_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/NetworkPackage_steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 const _ = require('lodash');
 const fs = require('fs');
 require('node-zip');
@@ -28,7 +28,7 @@
  **/
 Then('I want to upload a NetworkPackage for this VSP from path {string}', function (string) {
 	let path =  '/vendor-software-products/' + this.context.item.id + '/versions/' + this.context.item.versionId + '/orchestration-template-candidate';
-	return util.request(this.context, 'POST', path, string, true);
+	return util.requestBinaryFormData(this.context, 'POST', path, string, 'upload');
 });
 
 /**
@@ -37,9 +37,9 @@
  * @exampleFile Example_HEAT.feature
  * @step I want to download the NetworkPackage for this VSP to path {string}
  **/
-When('I want to download the NetworkPackage for this VSP to path {string}', function (string, callback) {
+When('I want to download the NetworkPackage for this VSP to path {string}', function (string) {
 	let path =  '/vendor-software-products/' + this.context.item.id + '/versions/' + this.context.item.versionId + '/orchestration-template-candidate';
-	return [util.download(this.context, path, string, callback)];
+	return util.download(this.context, path, string);
 });
 
 /**
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/Questionnaire_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/Questionnaire_steps.js
index 2e169fa..8da747e 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/Questionnaire_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/Questionnaire_steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 const _ = require('lodash');
 
 function getPath(path, context) {
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/REST_Steps.js b/cucumber-js-test-apis-ci/stepDefinitions/REST_Steps.js
index c384412..4671f36 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/REST_Steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/REST_Steps.js
@@ -15,7 +15,7 @@
  */
 const {When} = require('cucumber');
 const _ = require('lodash');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 _.templateSettings.interpolate = /{([\s\S]+?)}/g;
 
 function getPath(path, context) {
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/Toggle_Steps.js b/cucumber-js-test-apis-ci/stepDefinitions/Toggle_Steps.js
index 16bcc2a..8b416fc 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/Toggle_Steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/Toggle_Steps.js
@@ -16,7 +16,7 @@
 
 const {Then, When, Given} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 
 /**
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/Utils.js b/cucumber-js-test-apis-ci/stepDefinitions/Utils.js
deleted file mode 100644
index 66e959f..0000000
--- a/cucumber-js-test-apis-ci/stepDefinitions/Utils.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright © 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-const request = require('request');
-const fs = require('fs');
-require('node-zip');
-
-function _request(context, method, path, data, isBinary=false, type='onboarding') {
-	let server = context.getUrlForType(type);
-
-	let options = {
-		method: method,
-		url: server + path,
-		headers: context.headers[type]
-	};
-	console.log('--> Calling REST ' + options.method +' url: ' + options.url);
-
-	return new Promise(function (resolve, reject) {
-		if (method === 'POST' || method === 'PUT') {
-			if (isBinary) {
-				var formData = {
-					upload: fs.createReadStream(data),
-				};
-				options.formData = formData;
-			} else {
-				options.json = data;
-			}
-		}
-		request(options, function (err, result, data) {
-			context.inputData = null;
-			if (err) {
-				console.error('Request URL: ' + result.request.uri.href);
-				console.error('Request Method: ' + result.request.method);
-				console.error('Response Status Code: ' +result.statusCode);
-				console.log(err);
-				reject(err);
-			} else {
-				let isExpected = (context.shouldFail) ? (result.statusCode != 200 && result.statusCode != 201) : (result.statusCode == 200 || result.statusCode == 201);
-				if (!isExpected) {
-					console.error('Request URL: ' + result.request.uri.href);
-					console.error('Request Method: ' + result.request.method);
-					console.error('Response Status Code: ' +result.statusCode);
-					console.error(result.body);
-					reject('Status Code was ' + result.statusCode);
-				}
-				if (context.shouldFail && context.errorCode) {
-                    if (typeof data === 'string' && data) {
-                        data = JSON.parse(data);
-                    }
-					let errorCode = data.errorCode;
-					let contextErrorCode = context.errorCode;
-					context.errorCode = null;
-					if (errorCode !== contextErrorCode) {
-						reject('Error Code was ' + errorCode + ' instead of ' + contextErrorCode);
-					}
-				}
-				if (context.shouldFail && context.errorMessage) {
-				    if (typeof data === 'string' && data) {
-                        data = JSON.parse(data);
-                    }
-                    let errorMessage = data.message;
-                    let contextErrorMessage = context.errorMessage;
-                    context.errorMessage = null;
-                    if (errorMessage !== contextErrorMessage) {
-                    	reject('Error Message was ' + errorMessage + ' instead of ' + contextErrorMessage);
-                    }
-                }
-				if (context.shouldFail) {
-					context.shouldFail = false;
-					resolve({statusCode: result.statusCode, data: {}});
-					return;
-				}
-				if (method === 'GET' && isBinary) {
-					// downloading (NetworkPackage) files
-					return ({
-						blob: blobUtil.createBlob([data], {type: 'text/plain'}),
-						headers: result.headers
-					});
-				} else {
-					if (typeof data === 'string' && data) {
-						data = JSON.parse(data);
-					}
-					context.responseData = data;
-					context.inputData = data;
-					resolve({statusCode: result.statusCode, data: data});
-				}
-			}
-		});
-	});
-}
-
-function download(context, path, filePath,  callback, type='onboarding') {
-	let server = context.getUrlForType(type);
-	let options = {
-			method: 'GET',
-			url: server + path,
-			headers: context.headers[type]
-		};
-	console.log('--> Calling REST download url: ' + options.url);
-
-	var file = fs.createWriteStream(filePath);
-		var r = request(options).pipe(file);
-		r.on('error', function (err) {
-			console.log(err);
-			callback(err);
-		});
-		r.on('finish', function () {
-			file.close();
-			let zipFile = fs.readFileSync(filePath, 'binary');
-			let zip = new JSZip(zipFile, {base64: false, checkCRC32: true});
-			if (zip.files['MANIFEST.json']) {
-				let manifestData = zip.files['MANIFEST.json']._data;
-				manifestData = manifestData.replace(/\\n/g, '');
-				context.responseData = JSON.parse(manifestData);
-			}
-			callback();
-		});
-
-};
-
-function _random() {
-	let d = new Date();
-	return d.getTime().toString().split('').reverse().join('');
-}
-
-function _getJSONFromFile(file) {
-	return JSON.parse(fs.readFileSync(file, 'utf8'));
-}
-
-
-module.exports = {
-	request: _request,
-	random : _random,
-	getJSONFromFile: _getJSONFromFile,
-	download: download
-};
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/VF_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/VF_steps.js
index a24a90b..b753105 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/VF_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/VF_steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 
 /**
@@ -37,7 +37,7 @@
 		this.context.inputData.tags[0] = result.data.name;
 		this.context.inputData.vendorName = result.data.vendorName;
 		this.context.inputData.csarUUID = this.context.item.id;
-		return util.request(this.context, 'POST', '/catalog/resources', this.context.inputData, false, 'catalog');
+		return util.request(this.context, 'POST', '/catalog/resources', this.context.inputData, 'catalog');
 	});
 });
 
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/VLM_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/VLM_steps.js
index 35e78b2..9990bf2 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/VLM_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/VLM_steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When, Given} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 
 /**
  * @module VLM
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/VSP_steps.js b/cucumber-js-test-apis-ci/stepDefinitions/VSP_steps.js
index b9b928a..2feb29d 100644
--- a/cucumber-js-test-apis-ci/stepDefinitions/VSP_steps.js
+++ b/cucumber-js-test-apis-ci/stepDefinitions/VSP_steps.js
@@ -15,7 +15,7 @@
  */
 const {Then, When} = require('cucumber');
 const assert = require('assert');
-const util = require('./Utils.js');
+const util = require('../cucumber-common/utils/Utils.js');
 const _ = require('lodash');
 
 
@@ -107,9 +107,9 @@
  * @exampleFile Example_VSP.feature
  * @step I want to get the package for this Item to path {string}
  **/
-When('I want to get the package for this Item to path {string}', function (string, callback) {
+When('I want to get the package for this Item to path {string}', function (string) {
 	let path =  '/vendor-software-products/packages/' + this.context.item.id;
-	return [util.download(this.context, path, string, callback)];
+	return util.download(this.context, path, string);
 });
 
 
diff --git a/cucumber-js-test-apis-ci/stepDefinitions/world.js b/cucumber-js-test-apis-ci/stepDefinitions/world.js
deleted file mode 100644
index eaf48aa..0000000
--- a/cucumber-js-test-apis-ci/stepDefinitions/world.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright © 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-const { setWorldConstructor } = require('cucumber');
-const _ = require('lodash');
-
-let config = require('../config.json');
-let localConfig = {};
-try {
-	localConfig = require('../devConfig.json');
-} catch (e) {
-	try {
-		localConfig = require('../environments/dockerConfig.json');
-	} catch (e) {
-		console.error("no env configuration was found!");
-	}
-}
-
-config = _.merge(config, localConfig);
-var {setDefaultTimeout} = require('cucumber');
-
-
-/**
- * @module Context
- * @description Context that is used per feature file and can be accessed as 'this.context' in all steps.<Br>
- *<Br>
- * Contains the following items:<br>
- * <li>this.context.server <ul>REST server and onboarding prefix including version. set either in configuration file or from the command line or SERVER environment variable</ul>
- * <li>this.context.vlm <ul>When a VLM has been created, this has the an id and versionId set to the correct IDs.</ul>
- * <li>this.context.vsp <ul>When a VSP has been created, this has the an id and versionId and componentId set to the correct IDs.</ul>
- * <li>this.context.item <ul>When a VLM or VSP has been created, this has the an id and versionId set to the correct IDs.</ul>
- * <li>this.context <ul>Object with properties that were saved in the steps.</ul>
- * <li>this.context.inputdata <ul><b>Automatically updated with the last responseData from the Rest call</b><br>Object with properties that were prepares in the steps.</ul>
- * <li>this.context.responseData <ul>Response from the last REST call.</ul>
- **/
-class CustomWorld {
-	constructor(options) {
-		this.context = {};
-		this.context.headers = {};
-		let typeName;
-		for (typeName in config) {
-			this.context.headers[typeName] = {};
-			if (config[typeName].user) {
-				this.context.headers[typeName]['USER_ID'] = config[typeName].user;
-			}
-		}
-
-		this.context.vlm = {id: null, versionId: null};
-		this.context.vsp = {id: null, versionId: null};
-		this.context.item = {id: null, versionId: null, componentId: null};
-
-		this.context.shouldFail = false;
-		this.context.errorCode = null;
-		this.context.inputData = null;
-		this.context.responseData = null;
-
-		this.context.defaultServerType = 'onboarding';
-
-		this.config = config;
-
-		let context = this.context;
-		this.context.getUrlForType = (function(type) {
-			var _server = context.server;
-			var _config = config;
-			return function(type) {
-				let typeData = _config[type];
-				let _url = _config.protocol + '://' +
-					typeData.server + ':' +
-					typeData.port + '/' +
-					typeData.prefix;
-				return _url;
-			}
-		})();
-
-		setDefaultTimeout(60 * 1000);
-	}
-}
-
-
-setWorldConstructor(CustomWorld);