Skip to content

Commit b08f59d

Browse files
committed
Updating mocked responses easily
This script generates the tests mock files used for our unit tests so it reflects the current responses from the API service.
1 parent 17575b9 commit b08f59d

File tree

1 file changed

+133
-0
lines changed

1 file changed

+133
-0
lines changed

generate_test_responses.sh

+133
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
#!/usr/bin/env bash
2+
3+
if [ -z $HIBP_KEY ]
4+
then
5+
echo Please set environment variable HIBP_KEY with your API key
6+
echo Get one at https://haveibeenpwned.com/API/Key and support the project
7+
exit 1
8+
fi
9+
10+
BASE_URI="https://api.pwnedpasswords.com"
11+
#BASE_URI="https://haveibeenpwned.com/api/v3"
12+
13+
HEADER_UA="User-Agent=DragonBe\Hibp-0.0.2%20Composer\1.6.4%20PHP\7.3"
14+
HEADER_ACCEPT="Accept=application/vnd.haveibeenpwned.v3+json"
15+
HEADER_KEY="hibp-api-key=$HIBP_KEY"
16+
17+
echo Writing test mock 'new1_password.txt'
18+
echo "GET $BASE_URI/range/071CD" > tests/_files/new1_password.txt
19+
echo "" >> tests/_files/new1_password.txt
20+
curl \
21+
--silent \
22+
--show-error \
23+
--request GET \
24+
--include \
25+
--header $HEADER_UA \
26+
--header $HEADER_ACCEPT \
27+
--header $HEADER_KEY \
28+
$BASE_URI/range/071CD >> tests/_files/new1_password.txt
29+
30+
echo Writing test mock 'new2_passwords.txt'
31+
echo "GET $BASE_URI/range/6F8FE" > tests/_files/new2_password.txt
32+
echo "" >> tests/_files/new2_password.txt
33+
curl \
34+
--silent \
35+
--show-error \
36+
--request GET \
37+
--include \
38+
--header $HEADER_UA \
39+
--header $HEADER_ACCEPT \
40+
--header $HEADER_KEY \
41+
$BASE_URI/range/6F8FE >> tests/_files/new2_password.txt
42+
43+
echo Writing test mock 'new3_passwords.txt'
44+
echo "GET $BASE_URI/range/B23DF" > tests/_files/new3_password.txt
45+
echo "" >> tests/_files/new3_password.txt
46+
curl \
47+
--silent \
48+
--show-error \
49+
--request GET \
50+
--include \
51+
--header $HEADER_UA \
52+
--header $HEADER_ACCEPT \
53+
--header $HEADER_KEY \
54+
$BASE_URI/range/B23DF >> tests/_files/new3_password.txt
55+
56+
echo Writing test mock 'pwned1_password.txt'
57+
echo "GET $BASE_URI/range/5BAA6" > tests/_files/pwned1_password.txt
58+
echo "" >> tests/_files/pwned1_password.txt
59+
curl \
60+
--silent \
61+
--show-error \
62+
--request GET \
63+
--include \
64+
--header $HEADER_UA \
65+
--header $HEADER_ACCEPT \
66+
--header $HEADER_KEY \
67+
$BASE_URI/range/5BAA6 >> tests/_files/pwned1_password.txt
68+
69+
echo Writing test mock 'pwned2_password.txt'
70+
echo "GET $BASE_URI/range/5EAB7" > tests/_files/pwned2_password.txt
71+
echo "" >> tests/_files/pwned2_password.txt
72+
curl \
73+
--silent \
74+
--show-error \
75+
--request GET \
76+
--include \
77+
--header $HEADER_UA \
78+
--header $HEADER_ACCEPT \
79+
--header $HEADER_KEY \
80+
$BASE_URI/range/5EAB7 >> tests/_files/pwned2_password.txt
81+
82+
echo Writing test mock 'pwned3_password.txt'
83+
echo "GET $BASE_URI/range/D033E" > tests/_files/pwned3_password.txt
84+
echo "" >> tests/_files/pwned3_password.txt
85+
curl \
86+
--silent \
87+
--show-error \
88+
--request GET \
89+
--include \
90+
--header $HEADER_UA \
91+
--header $HEADER_ACCEPT \
92+
--header $HEADER_KEY \
93+
$BASE_URI/range/D033E >> tests/_files/pwned3_password.txt
94+
95+
echo Writing test mock 'invalid1.txt'
96+
echo "GET $BASE_URI/range" > tests/_files/invalid1.txt
97+
echo "" >> tests/_files/invalid1.txt
98+
curl \
99+
--silent \
100+
--show-error \
101+
--request GET \
102+
--include \
103+
--header $HEADER_UA \
104+
--header $HEADER_ACCEPT \
105+
--header $HEADER_KEY \
106+
$BASE_URI/range >> tests/_files/invalid1.txt
107+
108+
echo Writing test mock 'invalid2.txt'
109+
echo "GET $BASE_URI/range/" > tests/_files/invalid2.txt
110+
echo "" >> tests/_files/invalid2.txt
111+
curl \
112+
--silent \
113+
--show-error \
114+
--request GET \
115+
--include \
116+
--header $HEADER_UA \
117+
--header $HEADER_ACCEPT \
118+
--header $HEADER_KEY \
119+
$BASE_URI/range/ >> tests/_files/invalid2.txt
120+
121+
echo Writing test mock 'invalid3.txt'
122+
echo "GET $BASE_URI/range/GFEDC" > tests/_files/invalid3.txt
123+
echo "" >> tests/_files/invalid3.txt
124+
curl \
125+
--silent \
126+
--show-error \
127+
--request GET \
128+
--include \
129+
--header $HEADER_UA \
130+
--header $HEADER_ACCEPT \
131+
--header $HEADER_KEY \
132+
$BASE_URI/range/GFEDC >> tests/_files/invalid3.txt
133+

0 commit comments

Comments
 (0)