forked from adamlaska/postman-code-generators
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest.sh
More file actions
executable file
·109 lines (98 loc) · 3.23 KB
/
test.sh
File metadata and controls
executable file
·109 lines (98 loc) · 3.23 KB
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#!/bin/bash
set -e;
echo "Checking if languages.js file is present"
pushd ./lib/assets &>/dev/null
if [ -e languages.js ];
then
echo "languages.js present"
else
echo "Please run 'node npm/pre-package.js' to get the file languages.js"
exit 1;
fi
popd &>/dev/null
echo "Creating test files and adding paths to collection for testing form data file uploads"
if [ ! -e dummyFile1.txt ];
then
echo "Sample file 1" >> dummyFile1.txt;
fi
if [ ! -e dummyFile2.txt ];
then
echo "Sample file 2" >> dummyFile2.txt;
fi
if [ ! -e dummyFile3.txt ];
then
echo "Sample file 3" >> dummyFile3.txt;
fi
if [ ! -e dummyBinaryFile.txt ];
then
echo '\x123\x344\x233\xAdd' >> dummyBinaryFile;
fi
node ./npm/addPathToFormdataFile.js
echo "Running newman for common collection and storing results in newmanResponses.json"
node ./test/codegen/newman/runNewman.js
if [ -n "$1" ]
then
CODEGEN=$1;
if [ ! -d "./codegens/$CODEGEN" ];
then
echo "Codegen $CODEGEN doesn't exist, please enter valid name";
exit 1;
fi
echo "$1 : codegen-structure test";
mocha ./test/codegen/structure.test.js $1;
echo "$1 : codegen-sanity test";
mocha ./test/codegen/sanity/sanity.test.js $1;
echo "$1 : npm test";
pushd ./codegens/$CODEGEN &>/dev/null;
npm test;
popd &>/dev/null;
else
echo "Running common repository tests"
# check whether all dependencies used are present in package.json, and vice versa.
dependency-check ./package.json --no-dev --missing
# check for .gitignore, license.md, readme.md, .eslintrc and package.json
mocha ./test/system/repository.test.js;
# Common structure and npm test for each codegen.
echo -e "Running codegen-structure tests on all the codegens";
for directory in codegens/*; do
if [ -d ${directory} ];
then
codegen_name=${directory:9} # directory contains codegens/js-jquery, we need to pass js-jquery
echo "$codegen_name : codegen-structure test";
mocha ./test/codegen/structure.test.js $codegen_name;
else
echo "No Code gen folders present";
exit 0;
fi
done
# Sanity check for each codegen.
echo -e "Running codegen-sanity tests on all the codegens";
for directory in codegens/*; do
if [ -d ${directory} ];
then
codegen_name=${directory:9}
echo "$codegen_name : codegen-structure test";
mocha ./test/codegen/sanity/sanity.test.js $codegen_name;
else
echo "No Code gen folders present";
exit 0;
fi
done
echo -e "Running npm test on all the codegens";
for directory in codegens/*; do
if [ -d ${directory} ];
then
codegen_name=${directory:9} # directory contains codegens/js-jquery, we need to pass js-jquery
echo "$codegen_name : npm test";
pushd $directory &>/dev/null;
npm test;
popd &>/dev/null;
else
echo "No Code gen folders present";
exit 0;
fi
done
fi
echo "Deleting test files used for testing form data file uploads"
# Also handles the case when files does not exist
rm -f -- dummyFile1.txt dummyFile2.txt dummyFile3.txt dummyBinaryFile;