-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathscan-for-mocks.js
36 lines (31 loc) · 1.07 KB
/
scan-for-mocks.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
var fs = require('fs');
var path = require('path');
var _ = require('underscore');
var setUpMockedResource = require("./set-up-mocked-resource.js");
module.exports = {
scanForMocks: scanForMocks
};
function scanForMocks(dirPath, mockDirectory, app, resourcesExposed, reportingDirectory, httpCodes) {
try {
var dirContents = fs.readdirSync(dirPath);
//catch exceptions
} catch (e) {
//config.json not found
if (e.code === 'ENOENT') {
console.log("Empty mocks folder. Please configure it in config.js");
} else {
throw e;
}
}
// we look for config.json
if (_.contains(dirContents, "config.json")){
setUpMockedResource.setUpMockedResource(dirPath, mockDirectory, app, resourcesExposed, reportingDirectory, httpCodes);
}
var directories = _.filter(dirContents, function(dirContent){
return fs.statSync(path.join(dirPath, dirContent)).isDirectory();
});
// recursive scan through folders
directories.forEach(function(directory){
scanForMocks(path.join(dirPath, directory), mockDirectory, app, resourcesExposed, reportingDirectory, httpCodes);
});
}