├── LICENSE ├── README.md ├── codemash ├── Race-DiggingIntoYourAPIs.pptx ├── RestfulBookerCodeMash-updated.postman_collection.json └── RestfulBookerCodeMash.postman_collection.json ├── csv ├── naughty_strings.csv ├── passwords.csv └── sql-inject.csv ├── postman_json ├── DataLoad.postman_collection.json ├── GraphQL.postman_collection.json ├── InjectEmail.postman_collection.json ├── InjectPassword.postman_collection.json ├── Local.postman_environment.json ├── Loop.postman_collection.json ├── NaughtyStrings.postman_collection.json ├── Production.postman_env.json └── Restful-Booker.postman_collection.json ├── scripts ├── make_blns_csv.sh └── swagger-petstore-converter.js └── tau ├── Lesson2 └── RestfulBooker.postman_collection.json ├── Lesson3 ├── Local.postman_environment.json ├── Production.postman_environment.json └── RestfulBooker.postman_collection.json └── Lesson4 ├── Local.postman_environment.json ├── Production.postman_environment.json └── RestfulBookerBVT.postman_collection.json /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Amber Race 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # explore-with-postman 2 | Various materials for Exploratory API Testing with Postman workshops 3 | 4 | ## csv 5 | Files for use in the Postman Collection Runner 6 | - **naughty_strings.csv**: 7 | Base64 encoded versions of challenging test strings ([source](https://github.com/minimaxir/big-list-of-naughty-strings/blob/master/blns.txt)) 8 | - **passwords.csv**: 9 | Top 1050 passwords for brute force injection ([source](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/best1050.txt)) 10 | - **sql-inject.csv**: 11 | Strings for exposing SQL injection vulnerabilities ([source](https://github.com/fuzzdb-project/fuzzdb/blob/master/attack/sql-injection/detect/xplatform.txt)) 12 | 13 | ## postman_json 14 | Postman files used to demonstrate exploratory testing with [Restful Booker](https://restful-booker.herokuapp.com) and [Juice Shop](http://demo.owasp-juice.shop). The entire folder can be loaded at once via Import Folder. 15 | 16 | ## scripts 17 | - **make_blns_csv.sh**: 18 | Shell script used to make *naughty_strings.csv* 19 | - **swagger-petstore-converter.js**: 20 | Node.js script which converts the [Swagger Petstore](http://petstore.swagger.io) sample to a complete Postman collection file. 21 | -------------------------------------------------------------------------------- /codemash/Race-DiggingIntoYourAPIs.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ambertests/explore-with-postman/b910f97b6751773d988830986004a3bae27fec2b/codemash/Race-DiggingIntoYourAPIs.pptx -------------------------------------------------------------------------------- /codemash/RestfulBookerCodeMash-updated.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "98a14dc7-4e31-45d3-a0f8-ee969a4965c7", 4 | "name": "Restful Booker", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Ping", 10 | "request": { 11 | "method": "GET", 12 | "header": [], 13 | "body": { 14 | "mode": "raw", 15 | "raw": "" 16 | }, 17 | "url": { 18 | "raw": "https://restful-booker.herokuapp.com/ping", 19 | "protocol": "https", 20 | "host": [ 21 | "restful-booker", 22 | "herokuapp", 23 | "com" 24 | ], 25 | "path": [ 26 | "ping" 27 | ] 28 | } 29 | }, 30 | "response": [] 31 | }, 32 | { 33 | "name": "Auth", 34 | "event": [ 35 | { 36 | "listen": "test", 37 | "script": { 38 | "id": "9e09643a-03f2-4e67-bc22-65be8ed1491d", 39 | "exec": [ 40 | "pm.globals.set(\"token\", pm.response.json().token)" 41 | ], 42 | "type": "text/javascript" 43 | } 44 | } 45 | ], 46 | "request": { 47 | "method": "POST", 48 | "header": [ 49 | { 50 | "key": "Content-Type", 51 | "value": "application/json" 52 | } 53 | ], 54 | "body": { 55 | "mode": "raw", 56 | "raw": "{\n \"username\" : \"admin\",\n \"password\" : \"password123\"\n}" 57 | }, 58 | "url": { 59 | "raw": "{{rb_url}}/auth", 60 | "host": [ 61 | "{{rb_url}}" 62 | ], 63 | "path": [ 64 | "auth" 65 | ] 66 | } 67 | }, 68 | "response": [] 69 | }, 70 | { 71 | "name": "Get All Bookings", 72 | "request": { 73 | "method": "GET", 74 | "header": [], 75 | "body": { 76 | "mode": "raw", 77 | "raw": "" 78 | }, 79 | "url": { 80 | "raw": "{{rb_url}}/booking", 81 | "host": [ 82 | "{{rb_url}}" 83 | ], 84 | "path": [ 85 | "booking" 86 | ] 87 | } 88 | }, 89 | "response": [] 90 | }, 91 | { 92 | "name": "Get Booking By Name", 93 | "request": { 94 | "method": "GET", 95 | "header": [], 96 | "body": { 97 | "mode": "raw", 98 | "raw": "" 99 | }, 100 | "url": { 101 | "raw": "{{rb_url}}/booking?firstname=sally&lastname=brown", 102 | "host": [ 103 | "{{rb_url}}" 104 | ], 105 | "path": [ 106 | "booking" 107 | ], 108 | "query": [ 109 | { 110 | "key": "firstname", 111 | "value": "sally" 112 | }, 113 | { 114 | "key": "lastname", 115 | "value": "brown" 116 | } 117 | ] 118 | } 119 | }, 120 | "response": [] 121 | }, 122 | { 123 | "name": "Get Bookings By Date", 124 | "request": { 125 | "method": "GET", 126 | "header": [], 127 | "body": { 128 | "mode": "raw", 129 | "raw": "" 130 | }, 131 | "url": { 132 | "raw": "{{rb_url}}/booking?checkin=2014-03-13&checkout=2014-05-21", 133 | "host": [ 134 | "{{rb_url}}" 135 | ], 136 | "path": [ 137 | "booking" 138 | ], 139 | "query": [ 140 | { 141 | "key": "checkin", 142 | "value": "2014-03-13" 143 | }, 144 | { 145 | "key": "checkout", 146 | "value": "2014-05-21" 147 | } 148 | ] 149 | } 150 | }, 151 | "response": [] 152 | }, 153 | { 154 | "name": "Get Booking By ID", 155 | "request": { 156 | "method": "GET", 157 | "header": [], 158 | "body": { 159 | "mode": "raw", 160 | "raw": "" 161 | }, 162 | "url": { 163 | "raw": "{{rb_url}}/booking/1", 164 | "host": [ 165 | "{{rb_url}}" 166 | ], 167 | "path": [ 168 | "booking", 169 | "1" 170 | ] 171 | } 172 | }, 173 | "response": [] 174 | }, 175 | { 176 | "name": "Create Booking", 177 | "request": { 178 | "method": "POST", 179 | "header": [ 180 | { 181 | "key": "Content-Type", 182 | "value": "application/json" 183 | } 184 | ], 185 | "body": { 186 | "mode": "raw", 187 | "raw": "{\n \"firstname\" : \"Jim\",\n \"lastname\" : \"Brown\",\n \"totalprice\" : 111,\n \"depositpaid\" : true,\n \"bookingdates\" : {\n \"checkin\" : \"2018-01-01\",\n \"checkout\" : \"2019-01-01\"\n },\n \"additionalneeds\" : \"Breakfast\"\n}" 188 | }, 189 | "url": { 190 | "raw": "{{rb_url}}/booking", 191 | "host": [ 192 | "{{rb_url}}" 193 | ], 194 | "path": [ 195 | "booking" 196 | ] 197 | } 198 | }, 199 | "response": [] 200 | }, 201 | { 202 | "name": "Update Booking", 203 | "request": { 204 | "method": "PUT", 205 | "header": [ 206 | { 207 | "key": "Content-Type", 208 | "value": "application/json" 209 | }, 210 | { 211 | "key": "Accept", 212 | "value": "application/json" 213 | }, 214 | { 215 | "key": "Cookie", 216 | "value": "token={{token}}" 217 | } 218 | ], 219 | "body": { 220 | "mode": "raw", 221 | "raw": "{\n \"firstname\" : \"James\",\n \"lastname\" : \"Brown\",\n \"totalprice\" : 111,\n \"depositpaid\" : true,\n \"bookingdates\" : {\n \"checkin\" : \"2018-01-01\",\n \"checkout\" : \"2019-01-01\"\n },\n \"additionalneeds\" : \"Breakfast\"\n}" 222 | }, 223 | "url": { 224 | "raw": "{{rb_url}}/booking/1", 225 | "host": [ 226 | "{{rb_url}}" 227 | ], 228 | "path": [ 229 | "booking", 230 | "1" 231 | ] 232 | } 233 | }, 234 | "response": [] 235 | }, 236 | { 237 | "name": "Partial Update Booking", 238 | "request": { 239 | "method": "PATCH", 240 | "header": [ 241 | { 242 | "key": "Content-Type", 243 | "value": "application/json" 244 | }, 245 | { 246 | "key": "Accept", 247 | "value": "application/json" 248 | }, 249 | { 250 | "key": "Cookie", 251 | "value": "token={{token}}" 252 | } 253 | ], 254 | "body": { 255 | "mode": "raw", 256 | "raw": "{\n \"firstname\" : \"James\",\n \"lastname\" : \"Brown\"\n}" 257 | }, 258 | "url": { 259 | "raw": "{{rb_url}}/booking/1", 260 | "host": [ 261 | "{{rb_url}}" 262 | ], 263 | "path": [ 264 | "booking", 265 | "1" 266 | ] 267 | } 268 | }, 269 | "response": [] 270 | }, 271 | { 272 | "name": "Delete Booking", 273 | "request": { 274 | "method": "DELETE", 275 | "header": [ 276 | { 277 | "key": "Content-Type", 278 | "value": "application/json" 279 | }, 280 | { 281 | "key": "Cookie", 282 | "value": "token={{token}}" 283 | } 284 | ], 285 | "body": { 286 | "mode": "raw", 287 | "raw": "" 288 | }, 289 | "url": { 290 | "raw": "{{rb_url}}/booking/1", 291 | "host": [ 292 | "{{rb_url}}" 293 | ], 294 | "path": [ 295 | "booking", 296 | "1" 297 | ] 298 | } 299 | }, 300 | "response": [] 301 | } 302 | ], 303 | "event": [ 304 | { 305 | "listen": "prerequest", 306 | "script": { 307 | "id": "858f0d4e-0d8a-4587-a962-f5d8f2446884", 308 | "type": "text/javascript", 309 | "exec": [ 310 | "// top names of 1996", 311 | "var firstNames = [\"Emily\",\"Michael\", \"Jessica\",\"Matthew\", \"Ashley\",", 312 | "\"Jacob\",\"Sarah\",\"Christopher\",\"Samantha\",\"Joshua\",", 313 | "\"Taylor\",\"Nicholas\",\"Hannah\",\"Tyler\",\"Alexis\",", 314 | "\"Brandon\",\"Rachel\",\"Austin\",\"Elizabeth\",\"Andrew\"];", 315 | "", 316 | "// top surnames in the U.S.", 317 | "var lastNames = [\"Smith\", \"Johnson\", \"Williams\", \"Jones\", \"Brown\", ", 318 | "\"Davis\", \"Miller\", \"Wilson\", \"Moore\", \"Taylor\", ", 319 | "\"Anderson\", \"Thomas\", \"Jackson\", \"White\", \"Harris\", ", 320 | "\"Martin\", \"Thompson\", \"Garcia\", \"Martinez\", \"Robinson\"];", 321 | "", 322 | "// randomly select first and last names then add to collection variables", 323 | "pm.variables.set(\"firstname\", firstNames[_.random(firstNames.length - 1)]);", 324 | "pm.variables.set(\"lastname\", lastNames[_.random(lastNames.length - 1)]);", 325 | "", 326 | "// the random function comes from the loadash module (\"_.\")", 327 | "// https://lodash.com/docs/4.17.11#random", 328 | "pm.variables.set(\"totalprice\", _.random(50, 250));", 329 | "pm.variables.set(\"depositpaid\", (_.random(1) === 1));", 330 | "", 331 | "// the moment module helps with date manipulation and formatting", 332 | "const moment = require(\"moment\");", 333 | "var checkin = moment().add(\"days\", _.random(1, 180));", 334 | "pm.variables.set(\"checkin\", checkin.format(\"YYYY-MM-DD\"));", 335 | "", 336 | "var checkout = checkin.add(\"days\", _.random(1, 14));", 337 | "pm.variables.set(\"checkout\", checkout.format(\"YYYY-MM-DD\"));", 338 | "", 339 | "var needs = [\"breakfast\", \"lunch\", \"early checkin\", \"late checkout\", null];", 340 | "pm.variables.set(\"additionalneeds\", needs[_.random(needs.length-1)]);", 341 | "" 342 | ] 343 | } 344 | }, 345 | { 346 | "listen": "test", 347 | "script": { 348 | "id": "da1316f6-9655-441e-bd27-8abc3715f398", 349 | "type": "text/javascript", 350 | "exec": [ 351 | "" 352 | ] 353 | } 354 | } 355 | ] 356 | } -------------------------------------------------------------------------------- /codemash/RestfulBookerCodeMash.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "a4d8adad-9014-4e5c-84d0-36744bf04bec", 4 | "name": "Restful Booker", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Ping", 10 | "request": { 11 | "method": "GET", 12 | "header": [], 13 | "body": { 14 | "mode": "raw", 15 | "raw": "" 16 | }, 17 | "url": { 18 | "raw": "https://restful-booker.herokuapp.com/ping", 19 | "protocol": "https", 20 | "host": [ 21 | "restful-booker", 22 | "herokuapp", 23 | "com" 24 | ], 25 | "path": [ 26 | "ping" 27 | ] 28 | } 29 | }, 30 | "response": [] 31 | }, 32 | { 33 | "name": "Auth", 34 | "request": { 35 | "method": "POST", 36 | "header": [ 37 | { 38 | "key": "Content-Type", 39 | "value": "application/json" 40 | } 41 | ], 42 | "body": { 43 | "mode": "raw", 44 | "raw": "{\n \"username\" : \"admin\",\n \"password\" : \"password123\"\n}" 45 | }, 46 | "url": { 47 | "raw": "https://restful-booker.herokuapp.com/auth", 48 | "protocol": "https", 49 | "host": [ 50 | "restful-booker", 51 | "herokuapp", 52 | "com" 53 | ], 54 | "path": [ 55 | "auth" 56 | ] 57 | } 58 | }, 59 | "response": [] 60 | }, 61 | { 62 | "name": "Get All Bookings", 63 | "request": { 64 | "method": "GET", 65 | "header": [], 66 | "body": { 67 | "mode": "raw", 68 | "raw": "" 69 | }, 70 | "url": { 71 | "raw": "https://restful-booker.herokuapp.com/booking", 72 | "protocol": "https", 73 | "host": [ 74 | "restful-booker", 75 | "herokuapp", 76 | "com" 77 | ], 78 | "path": [ 79 | "booking" 80 | ] 81 | } 82 | }, 83 | "response": [] 84 | }, 85 | { 86 | "name": "Get Booking By Name", 87 | "request": { 88 | "method": "GET", 89 | "header": [], 90 | "body": { 91 | "mode": "raw", 92 | "raw": "" 93 | }, 94 | "url": { 95 | "raw": "https://restful-booker.herokuapp.com/booking?firstname=sally&lastname=brown", 96 | "protocol": "https", 97 | "host": [ 98 | "restful-booker", 99 | "herokuapp", 100 | "com" 101 | ], 102 | "path": [ 103 | "booking" 104 | ], 105 | "query": [ 106 | { 107 | "key": "firstname", 108 | "value": "sally" 109 | }, 110 | { 111 | "key": "lastname", 112 | "value": "brown" 113 | } 114 | ] 115 | } 116 | }, 117 | "response": [] 118 | }, 119 | { 120 | "name": "Get Bookings By Date", 121 | "request": { 122 | "method": "GET", 123 | "header": [], 124 | "body": { 125 | "mode": "raw", 126 | "raw": "" 127 | }, 128 | "url": { 129 | "raw": "https://restful-booker.herokuapp.com/booking?checkin=2014-03-13&checkout=2014-05-21", 130 | "protocol": "https", 131 | "host": [ 132 | "restful-booker", 133 | "herokuapp", 134 | "com" 135 | ], 136 | "path": [ 137 | "booking" 138 | ], 139 | "query": [ 140 | { 141 | "key": "checkin", 142 | "value": "2014-03-13" 143 | }, 144 | { 145 | "key": "checkout", 146 | "value": "2014-05-21" 147 | } 148 | ] 149 | } 150 | }, 151 | "response": [] 152 | }, 153 | { 154 | "name": "Get Booking By ID", 155 | "request": { 156 | "method": "GET", 157 | "header": [], 158 | "body": { 159 | "mode": "raw", 160 | "raw": "" 161 | }, 162 | "url": { 163 | "raw": "https://restful-booker.herokuapp.com/booking/1", 164 | "protocol": "https", 165 | "host": [ 166 | "restful-booker", 167 | "herokuapp", 168 | "com" 169 | ], 170 | "path": [ 171 | "booking", 172 | "1" 173 | ] 174 | } 175 | }, 176 | "response": [] 177 | }, 178 | { 179 | "name": "Create Booking", 180 | "request": { 181 | "method": "POST", 182 | "header": [ 183 | { 184 | "key": "Content-Type", 185 | "value": "application/json" 186 | } 187 | ], 188 | "body": { 189 | "mode": "raw", 190 | "raw": "{\n \"firstname\" : \"Jim\",\n \"lastname\" : \"Brown\",\n \"totalprice\" : 111,\n \"depositpaid\" : true,\n \"bookingdates\" : {\n \"checkin\" : \"2018-01-01\",\n \"checkout\" : \"2019-01-01\"\n },\n \"additionalneeds\" : \"Breakfast\"\n}" 191 | }, 192 | "url": { 193 | "raw": "https://restful-booker.herokuapp.com/booking", 194 | "protocol": "https", 195 | "host": [ 196 | "restful-booker", 197 | "herokuapp", 198 | "com" 199 | ], 200 | "path": [ 201 | "booking" 202 | ] 203 | } 204 | }, 205 | "response": [] 206 | }, 207 | { 208 | "name": "Update Booking", 209 | "request": { 210 | "method": "PUT", 211 | "header": [ 212 | { 213 | "key": "Content-Type", 214 | "value": "application/json" 215 | }, 216 | { 217 | "key": "Accept", 218 | "value": "application/json" 219 | }, 220 | { 221 | "key": "Cookie", 222 | "value": "token=abc123" 223 | } 224 | ], 225 | "body": { 226 | "mode": "raw", 227 | "raw": "{\n \"firstname\" : \"James\",\n \"lastname\" : \"Brown\",\n \"totalprice\" : 111,\n \"depositpaid\" : true,\n \"bookingdates\" : {\n \"checkin\" : \"2018-01-01\",\n \"checkout\" : \"2019-01-01\"\n },\n \"additionalneeds\" : \"Breakfast\"\n}" 228 | }, 229 | "url": { 230 | "raw": "https://restful-booker.herokuapp.com/booking/1", 231 | "protocol": "https", 232 | "host": [ 233 | "restful-booker", 234 | "herokuapp", 235 | "com" 236 | ], 237 | "path": [ 238 | "booking", 239 | "1" 240 | ] 241 | } 242 | }, 243 | "response": [] 244 | }, 245 | { 246 | "name": "Partial Update Booking", 247 | "request": { 248 | "method": "PATCH", 249 | "header": [ 250 | { 251 | "key": "Content-Type", 252 | "value": "application/json" 253 | }, 254 | { 255 | "key": "Accept", 256 | "value": "application/json" 257 | }, 258 | { 259 | "key": "Cookie", 260 | "value": "token=abc123" 261 | } 262 | ], 263 | "body": { 264 | "mode": "raw", 265 | "raw": "{\n \"firstname\" : \"James\",\n \"lastname\" : \"Brown\"\n}" 266 | }, 267 | "url": { 268 | "raw": "{{rb_url}}/booking/1", 269 | "host": [ 270 | "{{rb_url}}" 271 | ], 272 | "path": [ 273 | "booking", 274 | "1" 275 | ] 276 | } 277 | }, 278 | "response": [] 279 | }, 280 | { 281 | "name": "Delete Booking", 282 | "request": { 283 | "method": "DELETE", 284 | "header": [ 285 | { 286 | "key": "Content-Type", 287 | "value": "application/json" 288 | }, 289 | { 290 | "key": "Cookie", 291 | "value": "token=abc123" 292 | } 293 | ], 294 | "body": { 295 | "mode": "raw", 296 | "raw": "" 297 | }, 298 | "url": { 299 | "raw": "{{rb_url}}/booking/1", 300 | "host": [ 301 | "{{rb_url}}" 302 | ], 303 | "path": [ 304 | "booking", 305 | "1" 306 | ] 307 | } 308 | }, 309 | "response": [] 310 | } 311 | ], 312 | "event": [ 313 | { 314 | "listen": "prerequest", 315 | "script": { 316 | "id": "858f0d4e-0d8a-4587-a962-f5d8f2446884", 317 | "type": "text/javascript", 318 | "exec": [ 319 | "// top names of 1996", 320 | "var firstNames = [\"Emily\",\"Michael\", \"Jessica\",\"Matthew\", \"Ashley\",", 321 | "\"Jacob\",\"Sarah\",\"Christopher\",\"Samantha\",\"Joshua\",", 322 | "\"Taylor\",\"Nicholas\",\"Hannah\",\"Tyler\",\"Alexis\",", 323 | "\"Brandon\",\"Rachel\",\"Austin\",\"Elizabeth\",\"Andrew\"];", 324 | "", 325 | "// top surnames in the U.S.", 326 | "var lastNames = [\"Smith\", \"Johnson\", \"Williams\", \"Jones\", \"Brown\", ", 327 | "\"Davis\", \"Miller\", \"Wilson\", \"Moore\", \"Taylor\", ", 328 | "\"Anderson\", \"Thomas\", \"Jackson\", \"White\", \"Harris\", ", 329 | "\"Martin\", \"Thompson\", \"Garcia\", \"Martinez\", \"Robinson\"];", 330 | "", 331 | "// randomly select first and last names then add to collection variables", 332 | "pm.variables.set(\"firstname\", firstNames[_.random(firstNames.length - 1)]);", 333 | "pm.variables.set(\"lastname\", lastNames[_.random(lastNames.length - 1)]);", 334 | "", 335 | "// the random function comes from the loadash module (\"_.\")", 336 | "// https://lodash.com/docs/4.17.11#random", 337 | "pm.variables.set(\"totalprice\", _.random(50, 250));", 338 | "pm.variables.set(\"depositpaid\", (_.random(1) === 1));", 339 | "", 340 | "// the moment module helps with date manipulation and formatting", 341 | "const moment = require(\"moment\");", 342 | "var checkin = moment().add(\"days\", _.random(1, 180));", 343 | "pm.variables.set(\"checkin\", checkin.format(\"YYYY-MM-DD\"));", 344 | "", 345 | "var checkout = checkin.add(\"days\", _.random(1, 14));", 346 | "pm.variables.set(\"checkout\", checkout.format(\"YYYY-MM-DD\"));", 347 | "", 348 | "var needs = [\"breakfast\", \"lunch\", \"early checkin\", \"late checkout\", null];", 349 | "pm.variables.set(\"additionalneeds\", needs[_.random(needs.length-1)]);", 350 | "" 351 | ] 352 | } 353 | }, 354 | { 355 | "listen": "test", 356 | "script": { 357 | "id": "da1316f6-9655-441e-bd27-8abc3715f398", 358 | "type": "text/javascript", 359 | "exec": [ 360 | "" 361 | ] 362 | } 363 | } 364 | ] 365 | } -------------------------------------------------------------------------------- /csv/naughty_strings.csv: -------------------------------------------------------------------------------- 1 | encoded 2 | dW5kZWZpbmVk 3 | dW5kZWY= 4 | bnVsbA== 5 | TlVMTA== 6 | KG51bGwp 7 | bmls 8 | TklM 9 | dHJ1ZQ== 10 | ZmFsc2U= 11 | VHJ1ZQ== 12 | RmFsc2U= 13 | VFJVRQ== 14 | RkFMU0U= 15 | Tm9uZQ== 16 | aGFzT3duUHJvcGVydHk= 17 | dGhlbg== 18 | XA== 19 | MA== 20 | MQ== 21 | MS4wMA== 22 | JDEuMDA= 23 | MS8y 24 | MUUy 25 | MUUwMg== 26 | MUUrMDI= 27 | LTE= 28 | LTEuMDA= 29 | LSQxLjAw 30 | LTEvMg== 31 | LTFFMg== 32 | LTFFMDI= 33 | LTFFKzAy 34 | MS8w 35 | MC8w 36 | LTIxNDc0ODM2NDgvLTE= 37 | LTkyMjMzNzIwMzY4NTQ3NzU4MDgvLTE= 38 | LTA= 39 | LTAuMA== 40 | KzA= 41 | KzAuMA== 42 | MC4wMA== 43 | MC4uMA== 44 | Lg== 45 | MC4wLjA= 46 | MCwwMA== 47 | MCwsMA== 48 | LA== 49 | MCwwLDA= 50 | MC4wLzA= 51 | MS4wLzAuMA== 52 | MC4wLzAuMA== 53 | MSwwLzAsMA== 54 | MCwwLzAsMA== 55 | LS0x 56 | LQ== 57 | LS4= 58 | LSw= 59 | OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5 60 | TmFO 61 | SW5maW5pdHk= 62 | LUluZmluaXR5 63 | SU5G 64 | MSNJTkY= 65 | LTEjSU5E 66 | MSNRTkFO 67 | MSNTTkFO 68 | MSNJTkQ= 69 | MHgw 70 | MHhmZmZmZmZmZg== 71 | MHhmZmZmZmZmZmZmZmZmZmZm 72 | MHhhYmFkMWRlYQ== 73 | MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5 74 | MSwwMDAuMDA= 75 | MSAwMDAuMDA= 76 | MScwMDAuMDA= 77 | MSwwMDAsMDAwLjAw 78 | MSAwMDAgMDAwLjAw 79 | MScwMDAnMDAwLjAw 80 | MS4wMDAsMDA= 81 | MSAwMDAsMDA= 82 | MScwMDAsMDA= 83 | MS4wMDAuMDAwLDAw 84 | MSAwMDAgMDAwLDAw 85 | MScwMDAnMDAwLDAw 86 | MDEwMDA= 87 | MDg= 88 | MDk= 89 | Mi4yMjUwNzM4NTg1MDcyMDExZS0zMDg= 90 | LC4vOydbXS09 91 | PD4/OiJ7fXxfKw== 92 | IUAjJCVeJiooKWB+ 93 | AQIDBAUGBwgODxAREhMUFRYXGBkaGxwdHh9/ 94 | woDCgcKCwoPChMKGwofCiMKJworCi8KMwo3CjsKPwpDCkcKSwpPClMKVwpbCl8KYwpnCmsKbwpzCncKewp8= 95 | CwwgwoXCoOGagOKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAi+KAqOKAqeKAr+KBn+OAgA== 96 | wq3YgNiB2ILYg9iE2IXYnNud3I/hoI7igIvigIzigI3igI7igI/igKrigKvigKzigK3igK7igaDigaHigaLigaPigaTigabigafigajiganigarigavigaziga3iga7iga/vu7/vv7nvv7rvv7vwkYK98JuyoPCbsqHwm7Ki8Juyo/CdhbPwnYW08J2FtfCdhbbwnYW38J2FuPCdhbnwnYW686CAgfOggKDzoICh86CAovOggKPzoICk86CApfOggKbzoICn86CAqPOggKnzoICq86CAq/OggKzzoICt86CArvOggK/zoICw86CAsfOggLLzoICz86CAtPOggLXzoIC286CAt/OggLjzoIC586CAuvOggLvzoIC886CAvfOggL7zoIC/86CBgPOggYHzoIGC86CBg/OggYTzoIGF86CBhvOggYfzoIGI86CBifOggYrzoIGL86CBjPOggY3zoIGO86CBj/OggZDzoIGR86CBkvOggZPzoIGU86CBlfOggZbzoIGX86CBmPOggZnzoIGa86CBm/OggZzzoIGd86CBnvOggZ/zoIGg86CBofOggaLzoIGj86CBpPOggaXzoIGm86CBp/OggajzoIGp86CBqvOggavzoIGs86CBrfOgga7zoIGv86CBsPOggbHzoIGy86CBs/OggbTzoIG186CBtvOggbfzoIG486CBufOggbrzoIG786CBvPOggb3zoIG+86CBvw== 97 | 77u/ 98 | 77++ 99 | zqniiYjDp+KImuKIq8ucwrXiiaTiiaXDtw== 100 | w6XDn+KIgsaSwqnLmeKIhsuawqzigKbDpg== 101 | xZPiiJHCtMKu4oCgwqXCqMuGw7jPgOKAnOKAmA== 102 | wqHihKLCo8Ki4oiewqfCtuKAosKqwrrigJPiiaA= 103 | wrjLm8OH4peKxLHLnMOCwq/LmMK/ 104 | w4XDjcOOw4/LncOTw5Tvo7/DksOaw4bimIM= 105 | xZLigJ7CtOKAsMuHw4HCqMuGw5jiiI/igJ3igJk= 106 | YOKBhOKCrOKAueKAuu+sge+sguKAocKwwrfigJrigJTCsQ== 107 | 4oWb4oWc4oWd4oWe 108 | 0IHQgtCD0ITQhdCG0IfQiNCJ0IrQi9CM0I3QjtCP0JDQkdCS0JPQlNCV0JbQl9CY0JnQmtCb0JzQndCe0J/QoNCh0KLQo9Ck0KXQptCn0KjQqdCq0KvQrNCt0K7Qr9Cw0LHQstCz0LTQtdC20LfQuNC50LrQu9C80L3QvtC/0YDRgdGC0YPRhNGF0YbRh9GI0YnRitGL0YzRjdGO0Y8= 109 | 2aDZodmi2aPZpNml2abZp9mo2ak= 110 | 4oGw4oG04oG1 111 | 4oKA4oKB4oKC 112 | 4oGw4oG04oG14oKA4oKB4oKC 113 | 4LiU4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmH4LmH4LmJ4LmJ4LmJ4LmJ4LmJ4LmH4LmH4LmH4LmHIOC4lOC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5h+C5h+C5ieC5ieC5ieC5ieC5ieC5h+C5h+C5h+C5hyDguJTguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYnguYnguYnguYfguYfguYfguYfguYfguYnguYnguYnguYnguYnguYfguYfguYfguYc= 114 | Jw== 115 | Ig== 116 | Jyc= 117 | IiI= 118 | JyIn 119 | IicnJyciJyI= 120 | IiciJyInJycnIg== 121 | PGZvbyB2YWw94oCcYmFy4oCdIC8+ 122 | PGZvbyB2YWw94oCcYmFy4oCdIC8+ 123 | PGZvbyB2YWw94oCdYmFy4oCcIC8+ 124 | PGZvbyB2YWw9YGJhcicgLz4= 125 | 55Sw5Lit44GV44KT44Gr44GC44GS44Gm5LiL44GV44GE 126 | 44OR44O844OG44Kj44O844G46KGM44GL44Gq44GE44GL 127 | 5ZKM6KO95ryi6Kqe 128 | 6YOo6JC95qC8 129 | 7IKs7ZqM6rO87ZWZ7JuQIOyWtO2VmeyXsOq1rOyGjA== 130 | 7LCm7LCo66W8IO2DgOqzoCDsmKgg7Y6y7Iuc66eo6rO8IOyRm+uLpOumrCDrmKDrsKnqsIHtlZg= 131 | 56S+5pyD56eR5a246Zmi6Kqe5a2456CU56m25omA 132 | 7Jq4656A67CU7Yag66W0 133 | 8KCcjvCgnLHwoJ258KCxk/CgsbjwoLKW8KCzjw== 134 | yLo= 135 | yL4= 136 | 44O94Ly84LqI2YTNnOC6iOC8ve++iSDjg73gvLzguojZhM2c4LqI4Ly9776J 137 | KO+9oeKXlSDiiIAg4peV772hKQ== 138 | 772A772oKMK04oiA772A4oip 139 | X1/vvpsoLF8sKik= 140 | 44O7KO+/o+KIgO+/oynjg7s6Kjo= 141 | 776f772l4py/44O+4pWyKO+9oeKXleKAv+KXle+9oSnilbHinL/vvaXvvp8= 142 | LOOAguODuzoqOuODu+OCnOKAmSgg4pi7IM+JIOKYuyAp44CC44O7Oio644O744Kc4oCZ 143 | KOKVr8Kw4pahwrDvvInila/vuLUg4pS74pSB4pS7KQ== 144 | KO++ieCypeebiuCype+8ie++ie+7vyDilLvilIHilLs= 145 | 4pSs4pSA4pSs44OOKCDCuiBfIMK644OOKQ== 146 | KCDNocKwIM2cypYgzaHCsCk= 147 | wq9fKOODhClfL8Kv 148 | 8J+YjQ== 149 | 8J+RqfCfj70= 150 | 8J+RviDwn5mHIPCfkoEg8J+ZhSDwn5mGIPCfmYsg8J+ZjiDwn5mN 151 | 8J+QtSDwn5mIIPCfmYkg8J+Zig== 152 | 4p2k77iPIPCfkpQg8J+SjCDwn5KVIPCfkp4g8J+SkyDwn5KXIPCfkpYg8J+SmCDwn5KdIPCfkp8g8J+SnCDwn5KbIPCfkpog8J+SmQ== 153 | 4pyL8J+PvyDwn5Kq8J+PvyDwn5GQ8J+PvyDwn5mM8J+PvyDwn5GP8J+PvyDwn5mP8J+Pvw== 154 | 8J+aviDwn4aSIPCfhpMg8J+GlSDwn4aWIPCfhpcg8J+GmSDwn4+n 155 | MO+4j+KDoyAx77iP4oOjIDLvuI/ig6MgM++4j+KDoyA077iP4oOjIDXvuI/ig6MgNu+4j+KDoyA377iP4oOjIDjvuI/ig6MgOe+4j+KDoyDwn5Sf 156 | 8J+HuvCfh7jwn4e38J+HuvCfh7gg8J+HpvCfh6vwn4em8J+HsvCfh7g= 157 | 8J+HuvCfh7jwn4e38J+HuvCfh7jwn4em8J+Hq/Cfh6bwn4ey 158 | 8J+HuvCfh7jwn4e38J+HuvCfh7jwn4em 159 | 77yR77yS77yT 160 | 2aHZotmj 161 | 2KvZhSDZhtmB2LMg2LPZgti32Kog2YjYqNin2YTYqtit2K/Zitiv2IwsINis2LLZitix2KrZiiDYqNin2LPYqtiu2K/Yp9mFINij2YYg2K/ZhtmILiDYpdiwINmH2YbYp9ifINin2YTYs9iq2KfYsSDZiNiq2YbYtdmK2Kgg2YPYp9mGLiDYo9mH2ZHZhCDYp9mK2LfYp9mE2YrYp9iMINio2LHZiti32KfZhtmK2Kct2YHYsdmG2LPYpyDZgtivINij2K7YsC4g2LPZhNmK2YXYp9mG2Iwg2KXYqtmB2KfZgtmK2Kkg2KjZitmGINmF2KcsINmK2LDZg9ixINin2YTYrdiv2YjYryDYo9mKINio2LnYrywg2YXYudin2YXZhNipINio2YjZhNmG2K/Yp9iMINin2YTYpdi32YTYp9mCINi52YQg2KXZitmILg== 162 | 15HWsNa816jWtdeQ16nWtNeB15nXqiwg15HWuNa816jWuNeQINeQ1rHXnNa515TWtNeZ150sINeQ1rXXqiDXlNa316nWuNa814HXnta315nWtNedLCDXldaw15DWtdeqINeU1rjXkNa416jWttel 163 | 15TWuNeZ1rDXqta415R0ZXN02KfZhNi12YHYrdin2Kog2KfZhNiq2ZHYrdmI2YQ= 164 | 77e9 165 | 77e6 166 | 2YXZj9mG2Y7Yp9mC2Y7YtNmO2KnZjyDYs9mP2KjZj9mE2ZAg2KfZkNiz2ZLYqtmQ2K7Zktiv2Y7Yp9mF2ZAg2KfZhNmE2ZHZj9i62Y7YqdmQINmB2ZDZiiDYp9mE2YbZkdmP2LjZj9mF2ZAg2KfZhNmS2YLZjtin2KbZkNmF2Y7YqdmQINmI2Y7ZgdmQ2YrZhSDZitmO2K7Zj9i12ZHZjiDYp9mE2KrZkdmO2LfZktio2ZDZitmC2Y7Yp9iq2Y8g2KfZhNmS2K3Yp9iz2Y/ZiNio2ZDZitmR2Y7YqdmP2Iw= 167 | 4oCq4oCqdGVzdOKAqg== 168 | 4oCrdGVzdOKAqw== 169 | 4oCpdGVzdOKAqQ== 170 | dGVzdOKBoHRlc3TigKs= 171 | 4oGmdGVzdOKBpw== 172 | 4bmwzLrMusyVb82eIMy3acyyzKzNh8yqzZluzJ3Ml82VdsyfzJzMmMymzZ9vzLbMmcywzKBrw6jNmsyuzLrMqsy5zLHMpCDMlnTMnc2VzLPMo8y7zKrNnmjMvM2TzLLMpsyzzJjMsmXNh8yjzLDMpsyszY4gzKLMvMy7zLHMmGjNms2OzZnMnMyjzLLNhWnMpsyyzKPMsMykdsy7zY1lzLrMrcyzzKrMsC1tzKJpzYVuzJbMusyezLLMr8ywZMy1zLzMn82ZzKnMvMyYzLMgzJ7MpcyxzLPMrXLMm8yXzJhlzZlwzaByzLzMnsy7zK3Ml2XMusygzKPNn3PMmM2HzLPNjcydzYllzYnMpcyvzJ7Mss2azKzNnMe5zKzNjs2OzJ/Mls2HzKR0zY3MrMykzZPMvMytzZjNhWnMqsyxbs2gZ8y0zYkgzY/Nic2FY8yszJ9ozaFhzKvMu8yvzZhvzKvMn8yWzY3MmcydzYlzzJfMpsyyLsyozLnNiMyj 173 | zKHNk8yezYVJzJfMmMymzZ1uzYfNh82ZdsyuzKtva8yyzKvMmc2IacyWzZnMrcy5zKDMnm7Mocy7zK7Mo8y6Z8yyzYjNmcytzZnMrM2OIMywdM2UzKZozJ7MsmXMosykIM2NzKzMss2WZsy0zJjNlcyjw6jNluG6ucylzKlszZbNlM2aac2TzZrMps2gbs2WzY3Ml82TzLPMrmfNjSDMqG/NmsyqzaFmzJjMo8ysIMyWzJjNlsyfzZnMrmPSic2UzKvNls2TzYfNls2FaMy1zKTMo82azZTDocyXzLzNlc2Fb8y8zKPMpXPMsc2IzLrMlsymzLvNoi7Mm8yWzJ7MoMyrzLA= 174 | zJfMus2WzLnMr82T4bmuzKTNjcylzYfNiGjMssyBZc2PzZPMvMyXzJnMvMyjzZQgzYfMnMyxzKDNk82NzYVOzZXNoGXMl8yxesyYzJ3MnMy6zZlwzKTMusy5zY3Mr82aZcygzLvMoM2ccsyozKTNjcy6zJbNlMyWzJZkzKDMn8ytzKzMnc2facymzZbMqc2TzZTMpGHMoMyXzKzNicyZbs2azZwgzLvMnsywzZrNhWjMtc2JacyzzJ52zKLNh+G4mc2OzZ8t0onMrcypzLzNlG3MpMytzKtpzZXNh8ydzKZuzJfNmeG4jcyfIMyvzLLNlc2ex6vMn8yvzLDMss2ZzLvMnWYgzKrMsMywzJfMlsytzJjNmGPMps2NzLLMns2NzKnMmeG4pc2aYcyuzY7Mn8yZzZzGocypzLnNjnPMpC7MncydINKJWsyhzJbMnM2WzLDMo82JzJxhzZbMsM2ZzKzNoWzMssyrzLPNjcypZ8yhzJ/MvMyxzZrMnsyszYVvzJfNnC7Mnw== 175 | zKZIzKzMpMyXzKTNnWXNnCDMnMylzJ3Mu82NzJ/MgXfMlWjMlsyvzZNvzJ3NmcyWzY7MscyuINKJzLrMmcyezJ/NiFfMt8y8zK1hzLrMqs2NxK/NiM2VzK3NmcyvzJx0zLbMvMyuc8yYzZnNlsyVIMygzKvMoELMu82NzZnNicyzzYVlzLVozLXMrM2HzKvNmWnMuc2TzLPMs8yuzY7Mq8yVbs2fZMy0zKrMnMyWIMywzYnMqc2HzZnMss2ezYVUzZbMvM2TzKrNomjNj82TzK7Mu2XMrMydzJ/NhSDMpMy5zJ1XzZnMnsydzZTNh82dzYVhzY/Nk82UzLnMvMyjbMy0zZTMsMykzJ/NlOG4vcyrLs2V 176 | WsyuzJ7MoM2ZzZTNheG4gMyXzJ7NiMy7zJfhuLbNmc2OzK/MucyezZNHzLtPzK3Ml8yu 177 | y5nJkG5i4bSJbMmQIMmQdcaDyZDJryDHncm5b2xvcCDKh8edIMedyblvccmQbCDKh24gyod1bnDhtIlw4bSJyZR14bSJIMm5b2TJr8edyocgcG/Jr3Nu4bSJx50gb3AgcMedcyAnyofhtIlsx50gxoN14bSJyZRz4bSJZOG0iXDJkCDJuW7Kh8edyofJlMedc3VvyZQgJ8qHx53Jr8mQIMqH4bSJcyDJuW9sb3Agya9uc2ThtIkgya/Hncm5b8ul 178 | MDDLmcaWJC0= 179 | 77y0772I772FIO+9ke+9le+9ie+9g++9iyDvvYLvvZLvvY/vvZfvvY4g772G772P772YIO+9iu+9le+9je+9kO+9kyDvvY/vvZbvvYXvvZIg772U772I772FIO+9jO+9ge+9mu+9mSDvvYTvvY/vvYc= 180 | 8J2Qk/CdkKHwnZCeIPCdkKrwnZCu8J2QovCdkJzwnZCkIPCdkJvwnZCr8J2QqPCdkLDwnZCnIPCdkJ/wnZCo8J2QsSDwnZCj8J2QrvCdkKbwnZCp8J2QrCDwnZCo8J2Qr/CdkJ7wnZCrIPCdkK3wnZCh8J2QniDwnZCl8J2QmvCdkLPwnZCyIPCdkJ3wnZCo8J2QoA== 181 | 8J2Vv/Cdlo3wnZaKIPCdlpbwnZaa8J2WjvCdlojwnZaQIPCdlofwnZaX8J2WlPCdlpzwnZaTIPCdlovwnZaU8J2WnSDwnZaP8J2WmvCdlpLwnZaV8J2WmCDwnZaU8J2Wm/CdlorwnZaXIPCdlpnwnZaN8J2WiiDwnZaR8J2WhvCdlp/wnZaeIPCdlonwnZaU8J2WjA== 182 | 8J2Ru/CdkonwnZKGIPCdkpLwnZKW8J2SivCdkoTwnZKMIPCdkoPwnZKT8J2SkPCdkpjwnZKPIPCdkofwnZKQ8J2SmSDwnZKL8J2SlvCdko7wnZKR8J2SlCDwnZKQ8J2Sl/CdkobwnZKTIPCdkpXwnZKJ8J2ShiDwnZKN8J2SgvCdkpvwnZKaIPCdkoXwnZKQ8J2SiA== 183 | 8J2To/Cdk7HwnZOuIPCdk7rwnZO+8J2TsvCdk6zwnZO0IPCdk6vwnZO78J2TuPCdlIDwnZO3IPCdk6/wnZO48J2UgSDwnZOz8J2TvvCdk7bwnZO58J2TvCDwnZO48J2Tv/Cdk67wnZO7IPCdk73wnZOx8J2TriDwnZO18J2TqvCdlIPwnZSCIPCdk63wnZO48J2TsA== 184 | 8J2Vi/CdlZnwnZWWIPCdlaLwnZWm8J2VmvCdlZTwnZWcIPCdlZPwnZWj8J2VoPCdlajwnZWfIPCdlZfwnZWg8J2VqSDwnZWb8J2VpvCdlZ7wnZWh8J2VpCDwnZWg8J2Vp/CdlZbwnZWjIPCdlaXwnZWZ8J2VliDwnZWd8J2VkvCdlavwnZWqIPCdlZXwnZWg8J2VmA== 185 | 8J2ag/CdmpHwnZqOIPCdmprwnZqe8J2akvCdmozwnZqUIPCdmovwnZqb8J2amPCdmqDwnZqXIPCdmo/wnZqY8J2aoSDwnZqT8J2anvCdmpbwnZqZ8J2anCDwnZqY8J2an/Cdmo7wnZqbIPCdmp3wnZqR8J2ajiDwnZqV8J2aivCdmqPwnZqiIPCdmo3wnZqY8J2akA== 186 | 4pKv4pKj4pKgIOKSrOKSsOKSpOKSnuKSpiDikp3ikq3ikqrikrLikqkg4pKh4pKq4pKzIOKSpeKSsOKSqOKSq+KSriDikqrikrHikqDikq0g4pKv4pKj4pKgIOKSp+KSnOKSteKStCDikp/ikqrikqI= 187 | PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+ 188 | Jmx0O3NjcmlwdCZndDthbGVydCgmIzM5OzEyMyYjMzk7KTsmbHQ7L3NjcmlwdCZndDs= 189 | PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEyMykgLz4= 190 | PHN2Zz48c2NyaXB0PjEyMzwxPmFsZXJ0KDEyMyk8L3NjcmlwdD4= 191 | Ij48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4= 192 | Jz48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4= 193 | PjxzY3JpcHQ+YWxlcnQoMTIzKTwvc2NyaXB0Pg== 194 | PC9zY3JpcHQ+PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+ 195 | PCAvIHNjcmlwdCA+PCBzY3JpcHQgPmFsZXJ0KDEyMyk8IC8gc2NyaXB0ID4= 196 | b25mb2N1cz1KYVZhU0NyaXB0OmFsZXJ0KDEyMykgYXV0b2ZvY3Vz 197 | IiBvbmZvY3VzPUphVmFTQ3JpcHQ6YWxlcnQoMTIzKSBhdXRvZm9jdXM= 198 | JyBvbmZvY3VzPUphVmFTQ3JpcHQ6YWxlcnQoMTIzKSBhdXRvZm9jdXM= 199 | 77ycc2NyaXB077yeYWxlcnQoMTIzKe+8nC9zY3JpcHTvvJ4= 200 | PHNjPHNjcmlwdD5yaXB0PmFsZXJ0KDEyMyk8L3NjPC9zY3JpcHQ+cmlwdD4= 201 | LS0+PHNjcmlwdD5hbGVydCgxMjMpPC9zY3JpcHQ+ 202 | IjthbGVydCgxMjMpO3Q9Ig== 203 | JzthbGVydCgxMjMpO3Q9Jw== 204 | SmF2YVNDcmlwdDphbGVydCgxMjMp 205 | O2FsZXJ0KDEyMyk7 206 | c3JjPUphVmFTQ3JpcHQ6cHJvbXB0KDEzMik= 207 | Ij48c2NyaXB0PmFsZXJ0KDEyMyk7PC9zY3JpcHQgeD0i 208 | Jz48c2NyaXB0PmFsZXJ0KDEyMyk7PC9zY3JpcHQgeD0n 209 | PjxzY3JpcHQ+YWxlcnQoMTIzKTs8L3NjcmlwdCB4PQ== 210 | IiBhdXRvZm9jdXMgb25rZXl1cD0iamF2YXNjcmlwdDphbGVydCgxMjMp 211 | JyBhdXRvZm9jdXMgb25rZXl1cD0namF2YXNjcmlwdDphbGVydCgxMjMp 212 | PHNjcmlwdHgyMHR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 213 | PHNjcmlwdHgzRXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 214 | PHNjcmlwdHgwRHR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 215 | PHNjcmlwdHgwOXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 216 | PHNjcmlwdHgwQ3R5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 217 | PHNjcmlwdHgyRnR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 218 | PHNjcmlwdHgwQXR5cGU9InRleHQvamF2YXNjcmlwdCI+amF2YXNjcmlwdDphbGVydCgxKTs8L3NjcmlwdD4= 219 | J2AiPjx4M0NzY3JpcHQ+amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 220 | J2AiPjx4MDBzY3JpcHQ+amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 221 | QUJDPGRpdiBzdHlsZT0ieHgzQWV4cHJlc3Npb24oamF2YXNjcmlwdDphbGVydCgxKSI+REVG 222 | QUJDPGRpdiBzdHlsZT0ieDpleHByZXNzaW9ueDVDKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 223 | QUJDPGRpdiBzdHlsZT0ieDpleHByZXNzaW9ueDAwKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 224 | QUJDPGRpdiBzdHlsZT0ieDpleHB4MDByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 225 | QUJDPGRpdiBzdHlsZT0ieDpleHB4NUNyZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 226 | QUJDPGRpdiBzdHlsZT0ieDp4MEFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 227 | QUJDPGRpdiBzdHlsZT0ieDp4MDlleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 228 | QUJDPGRpdiBzdHlsZT0ieDp4RTN4ODB4ODBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 229 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODRleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 230 | QUJDPGRpdiBzdHlsZT0ieDp4QzJ4QTBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 231 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 232 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4OEFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 233 | QUJDPGRpdiBzdHlsZT0ieDp4MERleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 234 | QUJDPGRpdiBzdHlsZT0ieDp4MENleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 235 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODdleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 236 | QUJDPGRpdiBzdHlsZT0ieDp4RUZ4QkJ4QkZleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 237 | QUJDPGRpdiBzdHlsZT0ieDp4MjBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 238 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODhleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 239 | QUJDPGRpdiBzdHlsZT0ieDp4MDBleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 240 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4OEJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 241 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODZleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 242 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODVleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 243 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 244 | QUJDPGRpdiBzdHlsZT0ieDp4MEJleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 245 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODFleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 246 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODNleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 247 | QUJDPGRpdiBzdHlsZT0ieDp4RTJ4ODB4ODlleHByZXNzaW9uKGphdmFzY3JpcHQ6YWxlcnQoMSkiPkRFRg== 248 | PGEgaHJlZj0ieDBCamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 249 | PGEgaHJlZj0ieDBGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 250 | PGEgaHJlZj0ieEMyeEEwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 251 | PGEgaHJlZj0ieDA1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 252 | PGEgaHJlZj0ieEUxeEEweDhFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 253 | PGEgaHJlZj0ieDE4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 254 | PGEgaHJlZj0ieDExamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 255 | PGEgaHJlZj0ieEUyeDgweDg4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 256 | PGEgaHJlZj0ieEUyeDgweDg5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 257 | PGEgaHJlZj0ieEUyeDgweDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 258 | PGEgaHJlZj0ieDE3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 259 | PGEgaHJlZj0ieDAzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 260 | PGEgaHJlZj0ieDBFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 261 | PGEgaHJlZj0ieDFBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 262 | PGEgaHJlZj0ieDAwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 263 | PGEgaHJlZj0ieDEwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 264 | PGEgaHJlZj0ieEUyeDgweDgyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 265 | PGEgaHJlZj0ieDIwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 266 | PGEgaHJlZj0ieDEzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 267 | PGEgaHJlZj0ieDA5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 268 | PGEgaHJlZj0ieEUyeDgweDhBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 269 | PGEgaHJlZj0ieDE0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 270 | PGEgaHJlZj0ieDE5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 271 | PGEgaHJlZj0ieEUyeDgweEFGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 272 | PGEgaHJlZj0ieDFGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 273 | PGEgaHJlZj0ieEUyeDgweDgxamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 274 | PGEgaHJlZj0ieDFEamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 275 | PGEgaHJlZj0ieEUyeDgweDg3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 276 | PGEgaHJlZj0ieDA3amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 277 | PGEgaHJlZj0ieEUxeDlBeDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 278 | PGEgaHJlZj0ieEUyeDgweDgzamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 279 | PGEgaHJlZj0ieDA0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 280 | PGEgaHJlZj0ieDAxamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 281 | PGEgaHJlZj0ieDA4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 282 | PGEgaHJlZj0ieEUyeDgweDg0amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 283 | PGEgaHJlZj0ieEUyeDgweDg2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 284 | PGEgaHJlZj0ieEUzeDgweDgwamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 285 | PGEgaHJlZj0ieDEyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 286 | PGEgaHJlZj0ieDBEamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 287 | PGEgaHJlZj0ieDBBamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 288 | PGEgaHJlZj0ieDBDamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 289 | PGEgaHJlZj0ieDE1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 290 | PGEgaHJlZj0ieEUyeDgweEE4amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 291 | PGEgaHJlZj0ieDE2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 292 | PGEgaHJlZj0ieDAyamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 293 | PGEgaHJlZj0ieDFCamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 294 | PGEgaHJlZj0ieDA2amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 295 | PGEgaHJlZj0ieEUyeDgweEE5amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 296 | PGEgaHJlZj0ieEUyeDgweDg1amF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 297 | PGEgaHJlZj0ieDFFamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 298 | PGEgaHJlZj0ieEUyeDgxeDlGamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 299 | PGEgaHJlZj0ieDFDamF2YXNjcmlwdDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 300 | PGEgaHJlZj0iamF2YXNjcmlwdHgwMDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 301 | PGEgaHJlZj0iamF2YXNjcmlwdHgzQTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 302 | PGEgaHJlZj0iamF2YXNjcmlwdHgwOTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 303 | PGEgaHJlZj0iamF2YXNjcmlwdHgwRDpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 304 | PGEgaHJlZj0iamF2YXNjcmlwdHgwQTpqYXZhc2NyaXB0OmFsZXJ0KDEpIiBpZD0iZnV6emVsZW1lbnQxIj50ZXN0PC9hPg== 305 | YCInPjxpbWcgc3JjPXh4eDp4IHgwQW9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 306 | YCInPjxpbWcgc3JjPXh4eDp4IHgyMm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 307 | YCInPjxpbWcgc3JjPXh4eDp4IHgwQm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 308 | YCInPjxpbWcgc3JjPXh4eDp4IHgwRG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 309 | YCInPjxpbWcgc3JjPXh4eDp4IHgyRm9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 310 | YCInPjxpbWcgc3JjPXh4eDp4IHgwOW9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 311 | YCInPjxpbWcgc3JjPXh4eDp4IHgwQ29uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 312 | YCInPjxpbWcgc3JjPXh4eDp4IHgwMG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 313 | YCInPjxpbWcgc3JjPXh4eDp4IHgyN29uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 314 | YCInPjxpbWcgc3JjPXh4eDp4IHgyMG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT4= 315 | ImAnPjxzY3JpcHQ+eDNCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 316 | ImAnPjxzY3JpcHQ+eDBEamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 317 | ImAnPjxzY3JpcHQ+eEVGeEJCeEJGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 318 | ImAnPjxzY3JpcHQ+eEUyeDgweDgxamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 319 | ImAnPjxzY3JpcHQ+eEUyeDgweDg0amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 320 | ImAnPjxzY3JpcHQ+eEUzeDgweDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 321 | ImAnPjxzY3JpcHQ+eDA5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 322 | ImAnPjxzY3JpcHQ+eEUyeDgweDg5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 323 | ImAnPjxzY3JpcHQ+eEUyeDgweDg1amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 324 | ImAnPjxzY3JpcHQ+eEUyeDgweDg4amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 325 | ImAnPjxzY3JpcHQ+eDAwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 326 | ImAnPjxzY3JpcHQ+eEUyeDgweEE4amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 327 | ImAnPjxzY3JpcHQ+eEUyeDgweDhBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 328 | ImAnPjxzY3JpcHQ+eEUxeDlBeDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 329 | ImAnPjxzY3JpcHQ+eDBDamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 330 | ImAnPjxzY3JpcHQ+eDJCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 331 | ImAnPjxzY3JpcHQ+eEYweDkweDk2eDlBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 332 | ImAnPjxzY3JpcHQ+LWphdmFzY3JpcHQ6YWxlcnQoMSk8L3NjcmlwdD4= 333 | ImAnPjxzY3JpcHQ+eDBBamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 334 | ImAnPjxzY3JpcHQ+eEUyeDgweEFGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 335 | ImAnPjxzY3JpcHQ+eDdFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 336 | ImAnPjxzY3JpcHQ+eEUyeDgweDg3amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 337 | ImAnPjxzY3JpcHQ+eEUyeDgxeDlGamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 338 | ImAnPjxzY3JpcHQ+eEUyeDgweEE5amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 339 | ImAnPjxzY3JpcHQ+eEMyeDg1amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 340 | ImAnPjxzY3JpcHQ+eEVGeEJGeEFFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 341 | ImAnPjxzY3JpcHQ+eEUyeDgweDgzamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 342 | ImAnPjxzY3JpcHQ+eEUyeDgweDhCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 343 | ImAnPjxzY3JpcHQ+eEVGeEJGeEJFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 344 | ImAnPjxzY3JpcHQ+eEUyeDgweDgwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 345 | ImAnPjxzY3JpcHQ+eDIxamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 346 | ImAnPjxzY3JpcHQ+eEUyeDgweDgyamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 347 | ImAnPjxzY3JpcHQ+eEUyeDgweDg2amF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 348 | ImAnPjxzY3JpcHQ+eEUxeEEweDhFamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 349 | ImAnPjxzY3JpcHQ+eDBCamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 350 | ImAnPjxzY3JpcHQ+eDIwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 351 | ImAnPjxzY3JpcHQ+eEMyeEEwamF2YXNjcmlwdDphbGVydCgxKTwvc2NyaXB0Pg== 352 | PGltZyB4MDBzcmM9eCBvbmVycm9yPSJhbGVydCgxKSI+ 353 | PGltZyB4NDdzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 354 | PGltZyB4MTFzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 355 | PGltZyB4MTJzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 356 | PGltZ3g0N3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 357 | PGltZ3gxMHNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 358 | PGltZ3gxM3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 359 | PGltZ3gzMnNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 360 | PGltZ3g0N3NyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 361 | PGltZ3gxMXNyYz14IG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 362 | PGltZyB4NDdzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 363 | PGltZyB4MzRzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 364 | PGltZyB4MzlzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 365 | PGltZyB4MDBzcmM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 366 | PGltZyBzcmN4MDk9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 367 | PGltZyBzcmN4MTA9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 368 | PGltZyBzcmN4MTM9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 369 | PGltZyBzcmN4MzI9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 370 | PGltZyBzcmN4MTI9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 371 | PGltZyBzcmN4MTE9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 372 | PGltZyBzcmN4MDA9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 373 | PGltZyBzcmN4NDc9eCBvbmVycm9yPSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 374 | PGltZyBzcmM9eHgwOW9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 375 | PGltZyBzcmM9eHgxMG9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 376 | PGltZyBzcmM9eHgxMW9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 377 | PGltZyBzcmM9eHgxMm9uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 378 | PGltZyBzcmM9eHgxM29uZXJyb3I9ImphdmFzY3JpcHQ6YWxlcnQoMSkiPg== 379 | PGltZ1thXVtiXVtjXXNyY1tkXT14W2Vdb25lcnJvcj1bZl0iYWxlcnQoMSkiPg== 380 | PGltZyBzcmM9eCBvbmVycm9yPXgwOSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 381 | PGltZyBzcmM9eCBvbmVycm9yPXgxMCJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 382 | PGltZyBzcmM9eCBvbmVycm9yPXgxMSJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 383 | PGltZyBzcmM9eCBvbmVycm9yPXgxMiJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 384 | PGltZyBzcmM9eCBvbmVycm9yPXgzMiJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 385 | PGltZyBzcmM9eCBvbmVycm9yPXgwMCJqYXZhc2NyaXB0OmFsZXJ0KDEpIj4= 386 | PGEgaHJlZj1qYXZhJiMxJiMyJiMzJiM0JiM1JiM2JiM3JiM4JiMxMSYjMTJzY3JpcHQ6amF2YXNjcmlwdDphbGVydCgxKT5YWFg8L2E+ 387 | PGltZyBzcmM9InhgIGA8c2NyaXB0PmphdmFzY3JpcHQ6YWxlcnQoMSk8L3NjcmlwdD4iYCBgPg== 388 | PGltZyBzcmMgb25lcnJvciAvIiAnIj0gYWx0PWphdmFzY3JpcHQ6YWxlcnQoMSkvLyI+ 389 | PHRpdGxlIG9ucHJvcGVydHljaGFuZ2U9amF2YXNjcmlwdDphbGVydCgxKT48L3RpdGxlPjx0aXRsZSB0aXRsZT0+ 390 | PGEgaHJlZj1odHRwOi8vZm9vLmJhci8jeD1geT48L2E+PGltZyBhbHQ9ImA+PGltZyBzcmM9eDp4IG9uZXJyb3I9amF2YXNjcmlwdDphbGVydCgxKT48L2E+Ij4= 391 | PCEtLVtpZl0+PHNjcmlwdD5qYXZhc2NyaXB0OmFsZXJ0KDEpPC9zY3JpcHQgLS0+ 392 | PCEtLVtpZjxpbWcgc3JjPXggb25lcnJvcj1qYXZhc2NyaXB0OmFsZXJ0KDEpLy9dPiAtLT4= 393 | PHNjcmlwdCBzcmM9Ii8lKGpzY3JpcHQpcyI+PC9zY3JpcHQ+ 394 | PHNjcmlwdCBzcmM9IlwlKGpzY3JpcHQpcyI+PC9zY3JpcHQ+ 395 | PElNRyAiIiI+PFNDUklQVD5hbGVydCgiWFNTIik8L1NDUklQVD4iPg== 396 | PElNRyBTUkM9amF2YXNjcmlwdDphbGVydChTdHJpbmcuZnJvbUNoYXJDb2RlKDg4LDgzLDgzKSk+ 397 | PElNRyBTUkM9IyBvbm1vdXNlb3Zlcj0iYWxlcnQoJ3h4cycpIj4= 398 | PElNRyBTUkM9IG9ubW91c2VvdmVyPSJhbGVydCgneHhzJykiPg== 399 | PElNRyBvbm1vdXNlb3Zlcj0iYWxlcnQoJ3h4cycpIj4= 400 | PElNRyBTUkM9JiMxMDY7JiM5NzsmIzExODsmIzk3OyYjMTE1OyYjOTk7JiMxMTQ7JiMxMDU7JiMxMTI7JiMxMTY7JiM1ODsmIzk3OyYjMTA4OyYjMTAxOyYjMTE0OyYjMTE2OyYjNDA7JiMzOTsmIzg4OyYjODM7JiM4MzsmIzM5OyYjNDE7Pg== 401 | PElNRyBTUkM9JiMwMDAwMTA2JiMwMDAwMDk3JiMwMDAwMTE4JiMwMDAwMDk3JiMwMDAwMTE1JiMwMDAwMDk5JiMwMDAwMTE0JiMwMDAwMTA1JiMwMDAwMTEyJiMwMDAwMTE2JiMwMDAwMDU4JiMwMDAwMDk3JiMwMDAwMTA4JiMwMDAwMTAxJiMwMDAwMTE0JiMwMDAwMTE2JiMwMDAwMDQwJiMwMDAwMDM5JiMwMDAwMDg4JiMwMDAwMDgzJiMwMDAwMDgzJiMwMDAwMDM5JiMwMDAwMDQxPg== 402 | PElNRyBTUkM9JiN4NkEmI3g2MSYjeDc2JiN4NjEmI3g3MyYjeDYzJiN4NzImI3g2OSYjeDcwJiN4NzQmI3gzQSYjeDYxJiN4NkMmI3g2NSYjeDcyJiN4NzQmI3gyOCYjeDI3JiN4NTgmI3g1MyYjeDUzJiN4MjcmI3gyOT4= 403 | PElNRyBTUkM9ImphdiBhc2NyaXB0OmFsZXJ0KCdYU1MnKTsiPg== 404 | PElNRyBTUkM9ImphdiYjeDA5O2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+ 405 | PElNRyBTUkM9ImphdiYjeDBBO2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+ 406 | PElNRyBTUkM9ImphdiYjeDBEO2FzY3JpcHQ6YWxlcnQoJ1hTUycpOyI+ 407 | cGVybCAtZSAncHJpbnQgIjxJTUcgU1JDPWphdmEwc2NyaXB0OmFsZXJ0KCJYU1MiKT4iOycgPiBvdXQ= 408 | PElNRyBTUkM9IiAmIzE0OyBqYXZhc2NyaXB0OmFsZXJ0KCdYU1MnKTsiPg== 409 | PFNDUklQVC9YU1MgU1JDPSJodHRwOi8vaGEuY2tlcnMub3JnL3hzcy5qcyI+PC9TQ1JJUFQ+ 410 | PEJPRFkgb25sb2FkISMkJSYoKSp+Ky1fLiw6Oz9AWy98XV5gPWFsZXJ0KCJYU1MiKT4= 411 | PFNDUklQVC9TUkM9Imh0dHA6Ly9oYS5ja2Vycy5vcmcveHNzLmpzIj48L1NDUklQVD4= 412 | PDxTQ1JJUFQ+YWxlcnQoIlhTUyIpOy8vPDwvU0NSSVBUPg== 413 | PFNDUklQVCBTUkM9aHR0cDovL2hhLmNrZXJzLm9yZy94c3MuanM/PCBCID4= 414 | PFNDUklQVCBTUkM9Ly9oYS5ja2Vycy5vcmcvLmo+ 415 | PElNRyBTUkM9ImphdmFzY3JpcHQ6YWxlcnQoJ1hTUycpIg== 416 | PGlmcmFtZSBzcmM9aHR0cDovL2hhLmNrZXJzLm9yZy9zY3JpcHRsZXQuaHRtbCA8 417 | IjthbGVydCgnWFNTJyk7Ly8= 418 | PHUgb25jb3B5PWFsZXJ0KCk+IENvcHkgbWU8L3U+ 419 | PGkgb253aGVlbD1hbGVydCgxKT4gU2Nyb2xsIG92ZXIgbWUgPC9pPg== 420 | PHBsYWludGV4dD4= 421 | aHR0cDovL2EvJSUzMCUzMA== 422 | PC90ZXh0YXJlYT48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD4= 423 | MTtEUk9QIFRBQkxFIHVzZXJz 424 | MSc7IERST1AgVEFCTEUgdXNlcnMtLSAx 425 | JyBPUiAxPTEgLS0gMQ== 426 | JyBPUiAnMSc9JzE= 427 | JQ== 428 | Xw== 429 | LQ== 430 | LS0= 431 | LS12ZXJzaW9u 432 | LS1oZWxw 433 | JFVTRVI= 434 | L2Rldi9udWxsOyB0b3VjaCAvdG1wL2JsbnMuZmFpbCA7IGVjaG8= 435 | YHRvdWNoIC90bXAvYmxucy5mYWlsYA== 436 | JCh0b3VjaCAvdG1wL2JsbnMuZmFpbCk= 437 | QHtbc3lzdGVtICJ0b3VjaCAvdG1wL2JsbnMuZmFpbCJdfQ== 438 | ZXZhbCgicHV0cyAnaGVsbG8gd29ybGQnIik= 439 | U3lzdGVtKCJscyAtYWwgLyIp 440 | YGxzIC1hbCAvYA== 441 | S2VybmVsLmV4ZWMoImxzIC1hbCAvIik= 442 | S2VybmVsLmV4aXQoMSk= 443 | JXgoJ2xzIC1hbCAvJyk= 444 | PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/PjwhRE9DVFlQRSBmb28gWyA8IUVMRU1FTlQgZm9vIEFOWSA+PCFFTlRJVFkgeHhlIFNZU1RFTSAiZmlsZTovLy9ldGMvcGFzc3dkIiA+XT48Zm9vPiZ4eGU7PC9mb28+ 445 | JEhPTUU= 446 | JEVOVnsnSE9NRSd9 447 | JWQ= 448 | JXMlcyVzJXMlcw== 449 | ezB9 450 | JSouKnM= 451 | JUA= 452 | JW4= 453 | RmlsZTovLy8= 454 | Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZCUwMA== 455 | Li4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vZXRjL2hvc3Rz 456 | KCkgeyAwOyB9OyB0b3VjaCAvdG1wL2JsbnMuc2hlbGxzaG9jazEuZmFpbDs= 457 | KCkgeyBfOyB9ID5fWyQoJCgpKV0geyB0b3VjaCAvdG1wL2JsbnMuc2hlbGxzaG9jazIuZmFpbDsgfQ== 458 | PDw8ICVzKHVuPSclcycpID0gJXU= 459 | KysrQVRIMA== 460 | Q09O 461 | UFJO 462 | QVVY 463 | Q0xPQ0sk 464 | TlVM 465 | QTo= 466 | Wlo6 467 | Q09NMQ== 468 | TFBUMQ== 469 | TFBUMg== 470 | TFBUMw== 471 | Q09NMg== 472 | Q09NMw== 473 | Q09NNA== 474 | RENDIFNFTkQgU1RBUlRLRVlMT0dHRVIgMCAwIDA= 475 | U2N1bnRob3JwZSBHZW5lcmFsIEhvc3BpdGFs 476 | UGVuaXN0b25lIENvbW11bml0eSBDaHVyY2g= 477 | TGlnaHR3YXRlciBDb3VudHJ5IFBhcms= 478 | SmltbXkgQ2xpdGhlcm9l 479 | SG9ybmltYW4gTXVzZXVt 480 | c2hpdGFrZSBtdXNocm9vbXM= 481 | Um9tYW5zSW5TdXNzZXguY28udWs= 482 | aHR0cDovL3d3dy5jdW0ucWMuY2Ev 483 | Q3JhaWcgQ29ja2J1cm4sIFNvZnR3YXJlIFNwZWNpYWxpc3Q= 484 | TGluZGEgQ2FsbGFoYW4= 485 | RHIuIEhlcm1hbiBJLiBMaWJzaGl0eg== 486 | bWFnbmEgY3VtIGxhdWRl 487 | U3VwZXIgQm93bCBYWFg= 488 | bWVkaWV2YWwgZXJlY3Rpb24gb2YgcGFyYXBldHM= 489 | ZXZhbHVhdGU= 490 | bW9jaGE= 491 | ZXhwcmVzc2lvbg== 492 | QXJzZW5hbCBjYW5hbA== 493 | Y2xhc3NpYw== 494 | VHlzb24gR2F5 495 | RGljayBWYW4gRHlrZQ== 496 | YmFzZW1lbnQ= 497 | SWYgeW91J3JlIHJlYWRpbmcgdGhpcywgeW91J3ZlIGJlZW4gaW4gYSBjb21hIGZvciBhbG1vc3QgMjAgeWVhcnMgbm93LiBXZSdyZSB0cnlpbmcgYSBuZXcgdGVjaG5pcXVlLiBXZSBkb24ndCBrbm93IHdoZXJlIHRoaXMgbWVzc2FnZSB3aWxsIGVuZCB1cCBpbiB5b3VyIGRyZWFtLCBidXQgd2UgaG9wZSBpdCB3b3Jrcy4gUGxlYXNlIHdha2UgdXAsIHdlIG1pc3MgeW91Lg== 498 | Um9zZXMgYXJlIBtbMDszMW1yZWQbWzBtLCB2aW9sZXRzIGFyZSAbWzA7MzRtYmx1ZS4gSG9wZSB5b3UgZW5qb3kgdGVybWluYWwgaHVl 499 | QnV0IG5vdy4uLhtbMjBDZm9yIG15IGdyZWF0ZXN0IHRyaWNrLi4uG1s4bQ== 500 | VGhlIHF1aWMICAgICAhrIGJyb3duIGZvBwcHBwcHBwcHBwd4Li4uIFtCZWVlZXBd 501 | UG93ZXLZhNmP2YTZj9i12ZHYqNmP2YTZj9mE2LXZkdio2Y/Ysdix2Ysg4KWjIOClo2gg4KWjIOClo+WGlw== 502 | 8J+PszDwn4yI77iP 503 | 4LCc4LGN4LCe4oCM4LC+ 504 | -------------------------------------------------------------------------------- /csv/passwords.csv: -------------------------------------------------------------------------------- 1 | password 2 | ------ 3 | 0 4 | 00000 5 | 000000 6 | 0000000 7 | 00000000 8 | 0987654321 9 | 1 10 | 1111 11 | 11111 12 | 111111 13 | 1111111 14 | 11111111 15 | 112233 16 | 1212 17 | 121212 18 | 123 19 | 123123 20 | 12321 21 | 123321 22 | 1234 23 | 12345 24 | 123456 25 | 1234567 26 | 12345678 27 | 123456789 28 | 1234567890 29 | 123456a 30 | 1234abcd 31 | 1234qwer 32 | 123abc 33 | 123asd 34 | 123asdf 35 | 123qwe 36 | 12axzas21a 37 | 1313 38 | 131313 39 | 147852 40 | 1q2w3e 41 | 1qwerty 42 | 2000 43 | 2112 44 | 2222 45 | 22222 46 | 222222 47 | 2222222 48 | 22222222 49 | 232323 50 | 252525 51 | 256879 52 | 3333 53 | 33333 54 | 333333 55 | 3333333 56 | 33333333 57 | 36633663 58 | 4128 59 | 4321 60 | 4444 61 | 44444 62 | 444444 63 | 4444444 64 | 44444444 65 | 485112 66 | 514007 67 | 5150 68 | 54321 69 | 5555 70 | 55555 71 | 555555 72 | 5555555 73 | 55555555 74 | 654321 75 | 6666 76 | 66666 77 | 666666 78 | 6666666 79 | 66666666 80 | 6969 81 | 696969 82 | 7654321 83 | 7777 84 | 77777 85 | 777777 86 | 7777777 87 | 77777777 88 | 786786 89 | 8675309 90 | 87654321 91 | 88888 92 | 888888 93 | 8888888 94 | 88888888 95 | 987654 96 | 987654321 97 | 99999 98 | 999999 99 | 9999999 100 | 99999999 101 | Admin 102 | a123456 103 | a1b2c3 104 | aaaa 105 | aaaaa 106 | aaaaaa 107 | abc123 108 | abcdef 109 | abgrtyu 110 | academia 111 | access 112 | access14 113 | account 114 | action 115 | admin 116 | admin1 117 | admin12 118 | admin123 119 | adminadmin 120 | administrator 121 | adriana 122 | agosto 123 | agustin 124 | albert 125 | alberto 126 | alejandra 127 | alejandro 128 | alex 129 | alexis 130 | alpha 131 | amanda 132 | amanda1 133 | amateur 134 | america 135 | amigos 136 | andrea 137 | andrew 138 | angel 139 | angela 140 | angelica 141 | angelito 142 | angels 143 | animal 144 | anthony 145 | anthony1 146 | anything 147 | apollo 148 | apple 149 | apples 150 | argentina 151 | armando 152 | arsenal 153 | arthur 154 | arturo 155 | asddsa 156 | asdf 157 | asdf123 158 | asdf1234 159 | asdfasdf 160 | asdfgh 161 | asdsa 162 | asdzxc 163 | ashley 164 | ashley1 165 | aspateso19 166 | asshole 167 | august 168 | august07 169 | aurelie 170 | austin 171 | az1943 172 | baby 173 | babygirl 174 | babygirl1 175 | babygurl1 176 | backup 177 | backupexec 178 | badboy 179 | bailey 180 | ballin1 181 | banana 182 | barbara 183 | barcelona 184 | barney 185 | baseball 186 | baseball1 187 | basketball 188 | batman 189 | batman1 190 | beach 191 | bean21 192 | bear 193 | beatles 194 | beatriz 195 | beaver 196 | beavis 197 | beebop 198 | beer 199 | benito 200 | berenice 201 | betito 202 | bichilora 203 | bigcock 204 | bigdaddy 205 | bigdick 206 | bigdog 207 | bigtits 208 | bill 209 | billy 210 | birdie 211 | bisounours 212 | bitch 213 | bitch1 214 | bitches 215 | biteme 216 | black 217 | blahblah 218 | blazer 219 | blessed 220 | blink182 221 | blonde 222 | blondes 223 | blowjob 224 | blowme 225 | blue 226 | bodhisattva 227 | bond007 228 | bonita 229 | bonnie 230 | booboo 231 | boobs 232 | booger 233 | boomer 234 | booty 235 | boss123 236 | boston 237 | brandon 238 | brandon1 239 | brandy 240 | braves 241 | brazil 242 | brian 243 | bronco 244 | broncos 245 | brooklyn 246 | brujita 247 | bubba 248 | bubbles 249 | bubbles1 250 | buddy 251 | bulldog 252 | business 253 | buster 254 | butter 255 | butterfly 256 | butthead 257 | caballo 258 | cachonda 259 | calvin 260 | camaro 261 | cameron 262 | camila 263 | campus 264 | canada 265 | captain 266 | carlos 267 | carmen 268 | carmen1 269 | carolina 270 | carter 271 | casper 272 | changeme 273 | charles 274 | charlie 275 | charlie1 276 | cheese 277 | cheese1 278 | chelsea 279 | chester 280 | chevy 281 | chicago 282 | chicken 283 | chicken1 284 | chocolate 285 | chocolate! 286 | chocolate1 287 | chris 288 | chris6 289 | christ 290 | christian 291 | clustadm 292 | cluster 293 | cocacola 294 | cock 295 | codename 296 | codeword 297 | coffee 298 | college 299 | compaq 300 | computer 301 | computer1 302 | consuelo 303 | controller 304 | cookie 305 | cookie1 306 | cool 307 | cooper 308 | corvette 309 | cowboy 310 | cowboys 311 | coyote 312 | cream 313 | cristian 314 | cristina 315 | crystal 316 | cumming 317 | cumshot 318 | cunt 319 | customer 320 | dakota 321 | dallas 322 | daniel 323 | danielle 324 | dantheman 325 | database 326 | dave 327 | david 328 | debbie 329 | default 330 | dell 331 | dennis 332 | desktop 333 | diablo 334 | diamond 335 | dick 336 | dirty 337 | dmsmcb 338 | dmz 339 | doctor 340 | doggie 341 | dolphin 342 | dolphins 343 | domain 344 | domino 345 | donald 346 | dragon 347 | dragons 348 | dreams 349 | driver 350 | eagle 351 | eagle1 352 | eagles 353 | eduardo 354 | edward 355 | einstein 356 | elijah 357 | elite 358 | elizabeth 359 | elizabeth1 360 | eminem 361 | enamorada 362 | enjoy 363 | enter 364 | eric 365 | erotic 366 | estefania 367 | estrella 368 | example 369 | exchadm 370 | exchange 371 | explorer 372 | extreme 373 | faggot 374 | faithful 375 | falcon 376 | family 377 | fantasia 378 | felicidad 379 | felipe 380 | fender 381 | fernando 382 | ferrari 383 | files 384 | fire 385 | firebird 386 | fish 387 | fishing 388 | florida 389 | flower 390 | fluffy1 391 | flyers 392 | foobar 393 | foofoo 394 | football 395 | football1 396 | ford 397 | forever 398 | forever1 399 | forum 400 | francisco 401 | frank 402 | fred 403 | freddy 404 | freedom 405 | friends 406 | friends1 407 | frogfrog 408 | ftp 409 | fuck 410 | fucked 411 | fucker 412 | fucking 413 | fuckme 414 | fuckoff 415 | fuckyou 416 | fuckyou! 417 | fuckyou1 418 | fuckyou2 419 | futbol 420 | futbol02 421 | gabriela 422 | games 423 | gandalf 424 | garou324 425 | gateway 426 | gatito 427 | gators 428 | gemini 429 | george 430 | giants 431 | ginger 432 | girl 433 | girls 434 | godisgood 435 | godslove 436 | golden 437 | golf 438 | golfer 439 | gordon 440 | great 441 | green 442 | green1 443 | greenday1 444 | gregory 445 | guest 446 | guitar 447 | gunner 448 | hacker 449 | hammer 450 | hannah 451 | hannover23 452 | happy 453 | hardcore 454 | harley 455 | heather 456 | heaven 457 | hector 458 | hello 459 | hello1 460 | helpme 461 | hentai 462 | hermosa 463 | hockey 464 | hockey1 465 | hollister1 466 | home123 467 | hooters 468 | horney 469 | horny 470 | hotdog 471 | hottie 472 | house 473 | hunter 474 | hunting 475 | iceman 476 | ihavenopass 477 | ikebanaa 478 | iknowyoucanreadthis 479 | iloveu 480 | iloveu1 481 | iloveyou 482 | iloveyou! 483 | iloveyou. 484 | iloveyou1 485 | iloveyou2 486 | iloveyou3 487 | internet 488 | intranet 489 | isabel 490 | iwantu 491 | jack 492 | jackie 493 | jackson 494 | jaguar 495 | jake 496 | james 497 | jamesbond 498 | jamies 499 | japan 500 | jasmine 501 | jason 502 | jasper 503 | javier 504 | jennifer 505 | jer2911 506 | jeremy 507 | jericho 508 | jessica 509 | jesus1 510 | jesusc 511 | jesuschrist 512 | john 513 | john316 514 | johnny 515 | johnson 516 | jordan 517 | jordan1 518 | jordan23 519 | jorgito 520 | joseph 521 | joshua 522 | joshua1 523 | juice 524 | junior 525 | justin 526 | justin1 527 | kakaxaqwe 528 | kakka 529 | kelly 530 | kelson 531 | kevin 532 | kevinn 533 | killer 534 | king 535 | kitten 536 | kitty 537 | knight 538 | ladies 539 | lakers 540 | lauren 541 | leather 542 | legend 543 | legolas 544 | lemmein 545 | letitbe 546 | letmein 547 | libertad 548 | little 549 | liverpool 550 | liverpool1 551 | login 552 | london 553 | loser1 554 | lotus 555 | love 556 | love123 557 | lovely 558 | loveme 559 | loveme1 560 | lover 561 | lovers 562 | loveyou 563 | loveyou1 564 | lucky 565 | maddog 566 | madison 567 | madman 568 | maggie 569 | magic 570 | magnum 571 | mallorca 572 | manager 573 | manolito 574 | margarita 575 | maria 576 | marie1 577 | marine 578 | mariposa 579 | mark 580 | market 581 | marlboro 582 | martin 583 | martina 584 | marvin 585 | master 586 | matrix 587 | matt 588 | matthew 589 | matthew1 590 | maverick 591 | maxwell 592 | melissa 593 | member 594 | menace 595 | mercedes 596 | merlin 597 | messenger 598 | metallica 599 | mexico 600 | miamor 601 | michael 602 | michael1 603 | michelle 604 | mickey 605 | midnight 606 | miguelangel 607 | mike 608 | miller 609 | mine 610 | mistress 611 | moikka 612 | mokito 613 | money 614 | money159 615 | mongola 616 | monica 617 | monisima 618 | monitor 619 | monkey 620 | monkey1 621 | monster 622 | morenita 623 | morgan 624 | mother 625 | mountain 626 | movie 627 | muffin 628 | multimedia 629 | murphy 630 | music 631 | mustang 632 | mypass 633 | mypassword 634 | mypc123 635 | myriam 636 | myspace1 637 | naked 638 | nana 639 | nanacita 640 | nascar 641 | nataliag 642 | natation 643 | nathan 644 | naub3. 645 | naughty 646 | ncc1701 647 | negrita 648 | newyork 649 | nicasito 650 | nicholas 651 | nicole 652 | nicole1 653 | nigger 654 | nigger1 655 | nimda 656 | ninja 657 | nipple 658 | nipples 659 | nirvana1 660 | nobody 661 | nomeacuerdo 662 | nonono 663 | nopass 664 | nopassword 665 | notes 666 | nothing 667 | noviembre 668 | nuevopc 669 | number1 670 | office 671 | oliver 672 | oracle 673 | orange 674 | orange1 675 | otalab 676 | ou812 677 | owner 678 | packers 679 | paloma 680 | pamela 681 | pana 682 | panda1 683 | panther 684 | panties 685 | papito 686 | paramo 687 | paris 688 | parisdenoia 689 | parker 690 | pasion 691 | pass 692 | pass1 693 | pass12 694 | pass123 695 | passion 696 | passport 697 | passw0rd 698 | passwd 699 | password 700 | password! 701 | password. 702 | password1 703 | password12 704 | password123 705 | password2 706 | password3 707 | pastor 708 | patoclero 709 | patricia 710 | patrick 711 | paul 712 | paulis 713 | pavilion 714 | peace 715 | peaches 716 | peanut 717 | pelirroja 718 | pendejo 719 | penis 720 | pepper 721 | pericles 722 | perkele 723 | perlita 724 | perros 725 | petalo 726 | peter 727 | phantom 728 | phoenix 729 | phpbb 730 | pierre 731 | piff 732 | piolin 733 | pirate 734 | piscis 735 | playboy 736 | player 737 | please 738 | poetry 739 | pokemon 740 | poohbear1 741 | pookie 742 | poonam 743 | popeye 744 | porn 745 | porno 746 | porque 747 | porsche 748 | power 749 | praise 750 | prayer 751 | presario 752 | pretty 753 | prince 754 | princesa 755 | princess 756 | princess1 757 | print 758 | private 759 | public 760 | pukayaco14 761 | pulgas 762 | purple 763 | pussies 764 | pussy 765 | pw123 766 | q1w2e3 767 | qazwsx 768 | qazwsxedc 769 | qosqomanta 770 | qqqqq 771 | qwe123 772 | qweasd 773 | qweasdzxc 774 | qweewq 775 | qwert 776 | qwerty 777 | qwerty1 778 | qwerty12 779 | qwerty80 780 | qwertyui 781 | qwewq 782 | rabbit 783 | rachel 784 | racing 785 | rafael 786 | rafaeltqm 787 | raiders 788 | rainbow 789 | rallitas 790 | random 791 | ranger 792 | rangers 793 | rapture 794 | realmadrid 795 | rebecca 796 | redskins 797 | redsox 798 | redwings 799 | rejoice 800 | replicate 801 | republica 802 | requiem 803 | rghy1234 804 | ricardo 805 | richard 806 | robert 807 | roberto 808 | rock 809 | rocket 810 | romantico 811 | ronaldo 812 | ronica 813 | root123 814 | rootroot 815 | rosario 816 | rosebud 817 | rosita 818 | runner 819 | rush2112 820 | russia 821 | sabrina 822 | sakura 823 | salasana 824 | salou25 825 | salvation 826 | samantha 827 | sammy 828 | sample 829 | samson 830 | samsung 831 | samuel22 832 | sandra 833 | santiago 834 | santos 835 | sarita 836 | saturn 837 | scooby 838 | scooby1 839 | scooter 840 | scorpio 841 | scorpion 842 | scott 843 | seagate 844 | sebastian 845 | secret 846 | secure 847 | security 848 | septiembre 849 | sergio 850 | servando 851 | server 852 | service 853 | sestosant 854 | sexsex 855 | sexy 856 | shadow 857 | shadow1 858 | shalom 859 | shannon 860 | share 861 | shaved 862 | shit 863 | shorty1 864 | sierra 865 | silver 866 | sinegra 867 | sister12 868 | skippy 869 | slayer 870 | slipknot 871 | slipknot666 872 | slut 873 | smith 874 | smokey 875 | snoopy 876 | snoopy1 877 | snowfall 878 | soccer 879 | soccer1 880 | soccer2 881 | soledad 882 | sonrisa 883 | sony 884 | sophie 885 | soto 886 | soyhermosa 887 | spanky 888 | sparky 889 | spider 890 | spirit 891 | sql 892 | sqlexec 893 | squirt 894 | srinivas 895 | star 896 | stars 897 | startrek 898 | starwars 899 | steelers 900 | steve 901 | steven 902 | sticky 903 | student 904 | stupid 905 | success 906 | suckit 907 | sudoku 908 | summer 909 | summer1 910 | sunshine 911 | super 912 | superman 913 | superman1 914 | superuser 915 | supervisor 916 | surfer 917 | susana 918 | swimming 919 | sydney 920 | system 921 | taylor 922 | taylor1 923 | teacher 924 | teens 925 | tekila 926 | telefono 927 | temp 928 | temp! 929 | temp123 930 | temporary 931 | temptemp 932 | tenerife 933 | tennis 934 | tequiero 935 | teresa 936 | test 937 | test! 938 | test123 939 | tester 940 | testing 941 | testtest 942 | thebest 943 | theman 944 | therock 945 | thomas 946 | thunder 947 | thx1138 948 | tierno 949 | tiffany 950 | tiger 951 | tigers 952 | tigger 953 | tigger1 954 | time 955 | timosha 956 | timosha123 957 | tinkerbell 958 | titimaman 959 | titouf59 960 | tits 961 | tivoli 962 | tobias 963 | tomcat 964 | topgun 965 | toyota 966 | travis 967 | trinity 968 | trouble 969 | trustno1 970 | tucker 971 | turtle 972 | tweety 973 | tweety1 974 | twitter 975 | tybnoq 976 | underworld 977 | unicornio 978 | united 979 | universidad 980 | unknown 981 | vagina 982 | valentina 983 | valentinchoque 984 | valeverga 985 | veracruz 986 | veritas 987 | veronica 988 | victor 989 | victoria 990 | victory 991 | video 992 | viking 993 | viper 994 | virus 995 | voodoo 996 | voyager 997 | walter 998 | warrior 999 | web 1000 | welcome 1001 | welcome123 1002 | westside 1003 | whatever 1004 | white 1005 | wiesenhof 1006 | william 1007 | william1 1008 | willie 1009 | willow 1010 | wilson 1011 | windows 1012 | winner 1013 | winston 1014 | winter 1015 | wizard 1016 | wolf 1017 | women 1018 | work123 1019 | worship 1020 | writer 1021 | writing 1022 | www 1023 | xanadu 1024 | xavier 1025 | ximena 1026 | ximenita 1027 | xxx 1028 | xxxx 1029 | xxxxx 1030 | xxxxxx 1031 | xxxxxxxx 1032 | yamaha 1033 | yankee 1034 | yankees 1035 | yankees1 1036 | yellow 1037 | yeshua 1038 | yoteamo 1039 | young 1040 | ysrmma 1041 | zapato 1042 | zirtaeb 1043 | zxccxz 1044 | zxcvb 1045 | zxcvbn 1046 | zxcvbnm 1047 | zxcxz 1048 | zxczxc 1049 | zzzzz 1050 | zzzzzz -------------------------------------------------------------------------------- /csv/sql-inject.csv: -------------------------------------------------------------------------------- 1 | email 2 | "<>\'%;)(&+" 3 | "|" 4 | "!" 5 | "?" 6 | "/" 7 | "//" 8 | "//*" 9 | "'" 10 | "' -- " 11 | "(" 12 | ")" 13 | "*|" 14 | "*/*" 15 | "&" 16 | "0" 17 | "031003000270000" 18 | "0 or 1=1" 19 | "0x730065006c00650063007400200040004000760065007200730069006f006e00 exec(@q)" 20 | "0x770061006900740066006F0072002000640065006C00610079002000270030003A0030003A" 21 | "0x77616974666F722064656C61792027303A303A31302700 exec(@s)" 22 | "1;(load_file(char(47,101,116,99,47,112,97,115,115,119,100))),1,1,1;" 23 | "1 or 1=1" 24 | "1;SELECT%20*" 25 | "1 waitfor delay '0:0:10'--" 26 | "'%20or%20''='" 27 | "'%20or%201=1" 28 | "')%20or%20('x'='x" 29 | "'%20or%20'x'='x" 30 | "%20or%20x=x" 31 | "%20'sleep%2050'" 32 | "%20$(sleep%2050)" 33 | "%21" 34 | "23 OR 1=1" 35 | "%26" 36 | "%27%20or%201=1" 37 | "%28" 38 | "%29" 39 | "%2A%28%7C%28mail%3D%2A%29%29" 40 | "%2A%28%7C%28objectclass%3D%2A%29%29" 41 | "%2A%7C" 42 | "||6" 43 | "'||'6" 44 | "(||6)" 45 | "%7C" 46 | "a'" 47 | "admin' or '" 48 | "' and 1=( if((load_file(char(110,46,101,120,116))<>char(39,39)),1,0));" 49 | "' and 1 in (select var from temp)--" 50 | "anything' OR 'x'='x" 51 | "a or 1=1--" 52 | "a' or 1=1--" 53 | "a or 3=3--" 54 | "a' or 3=3--" 55 | "a' or 'a' = 'a" 56 | "'%20OR" 57 | "as" 58 | "asc" 59 | "a' waitfor delay '0:0:10'--" 60 | "'; begin declare @var varchar(8000) set @var=':' select @var=@var+'+login+'/'+password+' ' from users where login > " 61 | "bfilename" 62 | "char%4039%41%2b%40SELECT" 63 | "declare @q nvarchar (200) 0x730065006c00650063007400200040004000760065007200730069006f006e00 exec(@q)" 64 | "declare @q nvarchar (200) select @q = 0x770061006900740066006F0072002000640065006C00610079002000270030003A0030003A0031003000270000 exec(@q)" 65 | "declare @q nvarchar (4000) select @q =" 66 | "declare @s varchar (200) select @s = 0x73656c65637420404076657273696f6e exec(@s)" 67 | "declare @s varchar(200) select @s = 0x77616974666F722064656C61792027303A303A31302700 exec(@s) " 68 | "declare @s varchar(22) select @s =" 69 | "declare @s varchar (8000) select @s = 0x73656c65637420404076657273696f6e" 70 | "delete" 71 | "desc" 72 | "distinct" 73 | "'||(elt(-3+5,bin(15),ord(10),hex(char(45))))" 74 | "'; exec master..xp_cmdshell" 75 | "'; exec master..xp_cmdshell 'ping 172.10.1.255'--" 76 | "exec(@s)" 77 | "'; exec ('sel' + 'ect us' + 'er')" 78 | "exec sp" 79 | "'; execute immediate 'sel' || 'ect us' || 'er'" 80 | "exec xp" 81 | "'; exec xp_regread" 82 | "' group by userid having 1=1--" 83 | "handler" 84 | "having" 85 | "' having 1=1--" 86 | "hi or 1=1 --" 87 | "hi' or 1=1 --" 88 | "hi) or (a=a" 89 | "hi or a=a" 90 | "hi' or 'a'='a" 91 | "hi') or ('a'='a" 92 | "'hi' or 'x'='x';" 93 | "insert" 94 | "like" 95 | "limit" 96 | "*(|(mail=*))" 97 | "*(|(objectclass=*))" 98 | "or" 99 | "' or ''='" 100 | " or 0=0 #" 101 | "' or 0=0 --" 102 | "' or 0=0 #" 103 | " or 0=0 --" 104 | "or 0=0 --" 105 | "or 0=0 #" 106 | "' or 1 --'" 107 | "' or 1/*" 108 | "; or '1'='1'" 109 | "' or '1'='1" 110 | "' or '1'='1'--" 111 | "' or 1=1" 112 | "' or 1=1 /*" 113 | "' or 1=1--" 114 | "' or 1=1-- " 115 | "'/**/or/**/1/**/=/**/1" 116 | "‘ or 1=1 --" 117 | " or 1=1--" 118 | "or 1=1" 119 | "or 1=1--" 120 | " or 1=1 or =" 121 | "' or 1=1 or ''='" 122 | "' or 1 in (select @@version)--" 123 | "or%201=1" 124 | "or%201=1 --" 125 | "' or 2 > 1" 126 | "' or 2 between 1 and 3" 127 | "' or 3=3" 128 | "‘ or 3=3 --" 129 | "' or '7659'='7659" 130 | " or a=a" 131 | " or a = a" 132 | "' or 'a'='a" 133 | "' or a=a--" 134 | "') or ('a'='a" 135 | " or a=a" 136 | ") or (a=a" 137 | "order by" 138 | "' or (EXISTS)" 139 | " or isNULL(1/0) /*" 140 | " or isNULL(1/0) /*" 141 | "' or 'something' like 'some%'" 142 | "' or 'something' = 'some'+'thing'" 143 | "' or 'text' = n'text'" 144 | "' or 'text' > 't'" 145 | "' or uid like '%" 146 | "' or uname like '%" 147 | "' or 'unusual' = 'unusual'" 148 | "' or userid like '%" 149 | "' or user like '%" 150 | "' or username like '%" 151 | "' or username like char(37);" 152 | "' or 'whatever' in ('whatever')" 153 | "' -- &password=" 154 | "password:*/=1--" 155 | "PRINT" 156 | "PRINT @@variable" 157 | "procedure" 158 | "replace" 159 | "select" 160 | "' select * from information_schema.tables--" 161 | "' select name from syscolumns where id = (select id from sysobjects where name = tablename')--" 162 | "' (select top 1" 163 | "--sp_password" 164 | "'sqlattempt1" 165 | "(sqlattempt2)" 166 | "'sqlvuln" 167 | "'+sqlvuln" 168 | "(sqlvuln)" 169 | "sqlvuln;" 170 | "t'exec master..xp_cmdshell 'nslookup www.google.com'--" 171 | "to_timestamp_tz" 172 | "truncate" 173 | "tz_offset" 174 | "' UNION ALL SELECT" 175 | "' union all select @@version--" 176 | "' union select " 177 | "uni/**/on sel/**/ect" 178 | "' UNION SELECT" 179 | "' union select 1,load_file('/etc/passwd'),1,1,1;" 180 | ") union select * from information_schema.tables;" 181 | "' union select * from users where login = char(114,111,111,116);" 182 | "update" 183 | "'||UTL_HTTP.REQUEST" 184 | ",@variable" 185 | "@variable" 186 | "@var select @var as var into temp end --" 187 | "\x27UNION SELECT" 188 | "x' AND 1=(SELECT COUNT(*) FROM tabname); --" 189 | "x' AND email IS NULL; --" 190 | "x' AND members.email IS NULL; --" 191 | "x' AND userid IS NULL; --" 192 | "x' or 1=1 or 'x'='y" 193 | "x' OR full_name LIKE '%Bob%" 194 | "ý or 1=1 --" 195 | -------------------------------------------------------------------------------- /postman_json/DataLoad.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "8ecfa48a-f368-4967-950e-b6373b8fae92", 4 | "name": "DataLoad", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Get Booking", 10 | "event": [ 11 | { 12 | "listen": "test", 13 | "script": { 14 | "id": "549f86bc-1001-4118-9f97-f9d41b0224c6", 15 | "type": "text/javascript", 16 | "exec": [ 17 | "pm.test(\"Status code is 200\", function () {", 18 | " pm.response.to.have.status(200);", 19 | "});", 20 | "", 21 | "", 22 | "", 23 | "pm.test(\"Response time is less than 200ms\", function () {", 24 | " pm.expect(pm.response.responseTime).to.be.below(50);", 25 | "});" 26 | ] 27 | } 28 | }, 29 | { 30 | "listen": "prerequest", 31 | "script": { 32 | "id": "edaadf8e-f1a3-4e50-b256-40e078967906", 33 | "type": "text/javascript", 34 | "exec": [ 35 | "/*", 36 | "Note that restfulbooker-herokuapp.com is a shared resource", 37 | "which resets every 10 minutes. Please run this on your local instance!!", 38 | "*/", 39 | "const createRequest = {", 40 | " url: pm.environment.get(\"RB_URL\") + \"/booking\",", 41 | " method: 'POST',", 42 | " header: 'Content-Type:application/json',", 43 | " body: {", 44 | " mode: 'raw',", 45 | " raw: JSON.stringify({", 46 | " \"firstname\" : \"Sally\",", 47 | " \"lastname\" : \"Brown\",", 48 | " \"totalprice\" : 125,", 49 | " \"depositpaid\" : true,", 50 | " \"additionalneeds\" : \"Breakfast\",", 51 | " \"bookingdates\" : {", 52 | " \"checkin\" : \"2018-10-23\",", 53 | " \"checkout\" : \"2018-10-25\"", 54 | " }", 55 | "})", 56 | " }", 57 | "};", 58 | "for(var i = 0; i < 100; i++){", 59 | " pm.sendRequest(createRequest, function (err, res) {", 60 | " console.log(err ? err : res.json());", 61 | " });", 62 | "}" 63 | ] 64 | } 65 | } 66 | ], 67 | "request": { 68 | "method": "GET", 69 | "header": [], 70 | "body": { 71 | "mode": "raw", 72 | "raw": "" 73 | }, 74 | "url": { 75 | "raw": "{{RB_URL}}/booking?firstname=Mark", 76 | "host": [ 77 | "{{RB_URL}}" 78 | ], 79 | "path": [ 80 | "booking" 81 | ], 82 | "query": [ 83 | { 84 | "key": "firstname", 85 | "value": "Mark" 86 | } 87 | ] 88 | } 89 | }, 90 | "response": [] 91 | } 92 | ] 93 | } -------------------------------------------------------------------------------- /postman_json/GraphQL.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "1ff76d81-29a1-4443-b203-f7e7bdd66e2d", 4 | "name": "GraphQL", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Create User", 10 | "request": { 11 | "method": "POST", 12 | "header": [ 13 | { 14 | "key": "Content-Type", 15 | "value": "application/graphql" 16 | } 17 | ], 18 | "body": { 19 | "mode": "raw", 20 | "raw": "mutation {addUser (userid:\"4\", name:\"Mary Lamb\", age:25) {userid name age}}" 21 | }, 22 | "url": { 23 | "raw": "https://4m6fkz8ned.execute-api.us-east-1.amazonaws.com/latest/graphql", 24 | "protocol": "https", 25 | "host": [ 26 | "4m6fkz8ned", 27 | "execute-api", 28 | "us-east-1", 29 | "amazonaws", 30 | "com" 31 | ], 32 | "path": [ 33 | "latest", 34 | "graphql" 35 | ] 36 | } 37 | }, 38 | "response": [] 39 | }, 40 | { 41 | "name": "Get Users", 42 | "request": { 43 | "method": "POST", 44 | "header": [ 45 | { 46 | "key": "Content-Type", 47 | "value": "application/graphql" 48 | } 49 | ], 50 | "body": { 51 | "mode": "raw", 52 | "raw": "{user {userid name age}}" 53 | }, 54 | "url": { 55 | "raw": "https://4m6fkz8ned.execute-api.us-east-1.amazonaws.com/latest/graphql", 56 | "protocol": "https", 57 | "host": [ 58 | "4m6fkz8ned", 59 | "execute-api", 60 | "us-east-1", 61 | "amazonaws", 62 | "com" 63 | ], 64 | "path": [ 65 | "latest", 66 | "graphql" 67 | ] 68 | } 69 | }, 70 | "response": [] 71 | }, 72 | { 73 | "name": "Get User By ID", 74 | "request": { 75 | "method": "POST", 76 | "header": [ 77 | { 78 | "key": "Content-Type", 79 | "value": "application/graphql" 80 | } 81 | ], 82 | "body": { 83 | "mode": "raw", 84 | "raw": "{\n\tuser (userid:\"4\") {\n\t userid\n\t name\n\t age\n\t }\n }" 85 | }, 86 | "url": { 87 | "raw": "https://4m6fkz8ned.execute-api.us-east-1.amazonaws.com/latest/graphql", 88 | "protocol": "https", 89 | "host": [ 90 | "4m6fkz8ned", 91 | "execute-api", 92 | "us-east-1", 93 | "amazonaws", 94 | "com" 95 | ], 96 | "path": [ 97 | "latest", 98 | "graphql" 99 | ] 100 | } 101 | }, 102 | "response": [] 103 | } 104 | ] 105 | } -------------------------------------------------------------------------------- /postman_json/InjectEmail.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "c6731be2-77a9-4d49-a488-9a9b8331fa23", 4 | "name": "InjectEmail", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Login", 10 | "event": [ 11 | { 12 | "listen": "test", 13 | "script": { 14 | "id": "3a8a657e-4436-4222-a51e-753b09066f89", 15 | "type": "text/javascript", 16 | "exec": [ 17 | "pm.test(\"Status code for \" + pm.variables.get(\"email\") + \" is 401\", function () {", 18 | " pm.response.to.have.status(401);", 19 | "});" 20 | ] 21 | } 22 | } 23 | ], 24 | "request": { 25 | "method": "POST", 26 | "header": [ 27 | { 28 | "key": "Pragma", 29 | "value": "no-cache" 30 | }, 31 | { 32 | "key": "Origin", 33 | "value": "https://ambertests-juiceshop.herokuapp.com" 34 | }, 35 | { 36 | "key": "Accept-Encoding", 37 | "value": "gzip, deflate, br" 38 | }, 39 | { 40 | "key": "Accept-Language", 41 | "value": "en-US,en;q=0.9" 42 | }, 43 | { 44 | "key": "User-Agent", 45 | "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 46 | }, 47 | { 48 | "key": "Content-Type", 49 | "value": "application/json;charset=UTF-8" 50 | }, 51 | { 52 | "key": "Accept", 53 | "value": "application/json, text/plain, */*" 54 | }, 55 | { 56 | "key": "Cache-Control", 57 | "value": "no-cache" 58 | }, 59 | { 60 | "key": "Referer", 61 | "value": "https://ambertests-juiceshop.herokuapp.com/" 62 | }, 63 | { 64 | "key": "Cookie", 65 | "value": "io=5oHcFIowRINfKwRvAADA; continueCode=wjKRWbLRo7kYz8mjyQ3p9aJEDngB0NV05ev1WwPNxZq64KV2OrMXblog1LEQ; cookieconsent_status=dismiss" 66 | }, 67 | { 68 | "key": "Connection", 69 | "value": "keep-alive" 70 | } 71 | ], 72 | "body": { 73 | "mode": "raw", 74 | "raw": "{\"email\":\"{{email}}\",\"password\":\"password\"}" 75 | }, 76 | "url": { 77 | "raw": "https://ambertests-juiceshop.herokuapp.com/rest/user/login", 78 | "protocol": "https", 79 | "host": [ 80 | "ambertests-juiceshop", 81 | "herokuapp", 82 | "com" 83 | ], 84 | "path": [ 85 | "rest", 86 | "user", 87 | "login" 88 | ] 89 | }, 90 | "description": "Request for demonstrating SQL injection attack" 91 | }, 92 | "response": [] 93 | } 94 | ], 95 | "event": [ 96 | { 97 | "listen": "prerequest", 98 | "script": { 99 | "id": "24fb8034-df44-462f-ad33-5f4d6e05d449", 100 | "type": "text/javascript", 101 | "exec": [ 102 | "" 103 | ] 104 | } 105 | }, 106 | { 107 | "listen": "test", 108 | "script": { 109 | "id": "5dfae98b-4d6c-404c-9aa6-aef998405ae3", 110 | "type": "text/javascript", 111 | "exec": [ 112 | "" 113 | ] 114 | } 115 | } 116 | ] 117 | } -------------------------------------------------------------------------------- /postman_json/InjectPassword.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "2710a431-e5bf-481d-a1bd-115d5b77025d", 4 | "name": "InjectPassword", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Login", 10 | "event": [ 11 | { 12 | "listen": "test", 13 | "script": { 14 | "id": "62f2c7ac-b050-4040-9d99-94baa53c899e", 15 | "type": "text/javascript", 16 | "exec": [ 17 | "pm.test(\"Status code for \" + pm.variables.get(\"password\") + \" is 401\", function () {", 18 | " pm.response.to.have.status(401);", 19 | "});" 20 | ] 21 | } 22 | } 23 | ], 24 | "request": { 25 | "method": "POST", 26 | "header": [ 27 | { 28 | "key": "Pragma", 29 | "value": "no-cache" 30 | }, 31 | { 32 | "key": "Origin", 33 | "value": "https://ambertests-juiceshop.herokuapp.com" 34 | }, 35 | { 36 | "key": "Accept-Encoding", 37 | "value": "gzip, deflate, br" 38 | }, 39 | { 40 | "key": "Accept-Language", 41 | "value": "en-US,en;q=0.9" 42 | }, 43 | { 44 | "key": "User-Agent", 45 | "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" 46 | }, 47 | { 48 | "key": "Content-Type", 49 | "value": "application/json;charset=UTF-8" 50 | }, 51 | { 52 | "key": "Accept", 53 | "value": "application/json, text/plain, */*" 54 | }, 55 | { 56 | "key": "Cache-Control", 57 | "value": "no-cache" 58 | }, 59 | { 60 | "key": "Referer", 61 | "value": "https://ambertests-juiceshop.herokuapp.com/" 62 | }, 63 | { 64 | "key": "Cookie", 65 | "value": "io=5oHcFIowRINfKwRvAADA; continueCode=wjKRWbLRo7kYz8mjyQ3p9aJEDngB0NV05ev1WwPNxZq64KV2OrMXblog1LEQ; cookieconsent_status=dismiss" 66 | }, 67 | { 68 | "key": "Connection", 69 | "value": "keep-alive" 70 | } 71 | ], 72 | "body": { 73 | "mode": "raw", 74 | "raw": "{\"email\":\"admin@juice-sh.op\",\"password\":\"{{password}}\"}" 75 | }, 76 | "url": { 77 | "raw": "https://ambertests-juiceshop.herokuapp.com/rest/user/login", 78 | "protocol": "https", 79 | "host": [ 80 | "ambertests-juiceshop", 81 | "herokuapp", 82 | "com" 83 | ], 84 | "path": [ 85 | "rest", 86 | "user", 87 | "login" 88 | ] 89 | }, 90 | "description": "Request for demonstrating SQL injection attack" 91 | }, 92 | "response": [] 93 | } 94 | ], 95 | "event": [ 96 | { 97 | "listen": "prerequest", 98 | "script": { 99 | "id": "e2b817e5-2e22-42b3-85f2-d85516c17ee9", 100 | "type": "text/javascript", 101 | "exec": [ 102 | "" 103 | ] 104 | } 105 | }, 106 | { 107 | "listen": "test", 108 | "script": { 109 | "id": "803af4b4-dfea-40eb-acb9-c3a520db3069", 110 | "type": "text/javascript", 111 | "exec": [ 112 | "" 113 | ] 114 | } 115 | } 116 | ] 117 | } -------------------------------------------------------------------------------- /postman_json/Local.postman_environment.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "a0cbfd68-85c3-4c20-be80-3c0036a7acd6", 3 | "name": "Local", 4 | "values": [ 5 | { 6 | "key": "RB_URL", 7 | "value": "http://localhost:3001", 8 | "enabled": true, 9 | "type": "text" 10 | }, 11 | { 12 | "key": "rb_token", 13 | "value": "1b79da256b4b3d9", 14 | "enabled": true, 15 | "type": "text" 16 | } 17 | ], 18 | "_postman_variable_scope": "environment", 19 | "_postman_exported_at": "2018-05-28T22:22:17.758Z", 20 | "_postman_exported_using": "Postman/6.1.3" 21 | } -------------------------------------------------------------------------------- /postman_json/Loop.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "a737efca-6878-41d6-aab6-81db23a5ffaa", 4 | "name": "Loop", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Get Time Zones", 10 | "event": [ 11 | { 12 | "listen": "test", 13 | "script": { 14 | "id": "e3d7538a-845b-4a62-a64e-77ea70ef20ad", 15 | "exec": [ 16 | "", 17 | "pm.test(\"Status code is 200\", function () {", 18 | " pm.response.to.have.status(200);", 19 | "});", 20 | "", 21 | "var tz = pm.response.json();", 22 | "", 23 | "// The worldtimeapi is rate-limited, so filter just African ", 24 | "// time zones to make the number of requests manageable ", 25 | "var zones = []", 26 | "for (var z in tz){", 27 | " var zone = tz[z]", 28 | " if (zone.startsWith(\"Africa\")){", 29 | " zones.push(zone)", 30 | " }", 31 | "}", 32 | "console.log(zones)", 33 | "// now set our collection variables with the array and the initial index (0)", 34 | "pm.variables.set(\"timezones\", JSON.stringify(zones))", 35 | "pm.variables.set(\"tz_index\", 0)" 36 | ], 37 | "type": "text/javascript" 38 | } 39 | } 40 | ], 41 | "request": { 42 | "method": "GET", 43 | "header": [], 44 | "body": { 45 | "mode": "raw", 46 | "raw": "" 47 | }, 48 | "url": { 49 | "raw": "http://worldtimeapi.org/api/timezone", 50 | "protocol": "http", 51 | "host": [ 52 | "worldtimeapi", 53 | "org" 54 | ], 55 | "path": [ 56 | "api", 57 | "timezone" 58 | ] 59 | } 60 | }, 61 | "response": [] 62 | }, 63 | { 64 | "name": "Get Time For Zone", 65 | "event": [ 66 | { 67 | "listen": "prerequest", 68 | "script": { 69 | "id": "83eae302-b6e4-4df5-a22d-ad8e34903c35", 70 | "exec": [ 71 | "// Fetch the variables set in \"Get Time Zones\" ", 72 | "// and get the next zone in the list", 73 | "tz = JSON.parse(pm.variables.get('timezones'))", 74 | "index = parseInt(pm.variables.get('tz_index'))", 75 | "pm.variables.set('tz', tz[index])", 76 | "", 77 | "// If we are *not* on the last item in the list,", 78 | "// increment the index and set the next request to ", 79 | "// this one. Otherwise end the loop.", 80 | "", 81 | "// Note that we can do this in the pre-request", 82 | "// because setNextRequest doesn't execute anything,", 83 | "// it just establishes workflow", 84 | "if (index + 1 < tz.length){", 85 | " pm.variables.set('tz_index', index + 1)", 86 | " postman.setNextRequest('Get Time For Zone')", 87 | "}else{", 88 | " postman.setNextRequest(null)", 89 | "}" 90 | ], 91 | "type": "text/javascript" 92 | } 93 | }, 94 | { 95 | "listen": "test", 96 | "script": { 97 | "id": "931b7f05-bf7f-46be-b154-87f2ca562ec9", 98 | "exec": [ 99 | "", 100 | "pm.test(\"Status code is 200\", function () {", 101 | " pm.response.to.have.status(200);", 102 | "});", 103 | "", 104 | "var zone = pm.variables.get(\"tz\")", 105 | "pm.test(\"Timezone \" + zone + \" is returned correctly\", function () {", 106 | " var jsonData = pm.response.json();", 107 | " pm.expect(jsonData.timezone).to.eql(zone);", 108 | "});" 109 | ], 110 | "type": "text/javascript" 111 | } 112 | } 113 | ], 114 | "request": { 115 | "method": "GET", 116 | "header": [], 117 | "body": { 118 | "mode": "raw", 119 | "raw": "" 120 | }, 121 | "url": { 122 | "raw": "http://worldtimeapi.org/api/timezone/{{tz}}", 123 | "protocol": "http", 124 | "host": [ 125 | "worldtimeapi", 126 | "org" 127 | ], 128 | "path": [ 129 | "api", 130 | "timezone", 131 | "{{tz}}" 132 | ] 133 | } 134 | }, 135 | "response": [] 136 | } 137 | ] 138 | } -------------------------------------------------------------------------------- /postman_json/NaughtyStrings.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "de524cab-b649-4130-ab54-42da6ca470f2", 4 | "name": "NaughtyStrings", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Create Booking", 10 | "event": [ 11 | { 12 | "listen": "test", 13 | "script": { 14 | "id": "b32a98fa-fdf7-4afa-86e4-0c34b0fec969", 15 | "type": "text/javascript", 16 | "exec": [ 17 | "var encodedParam = pm.variables.get(\"encoded\");", 18 | "var expectedFN = pm.variables.get(\"firstName\");", 19 | "", 20 | "// Because the strings are naughty, it is ", 21 | "// better to log the encoded string value", 22 | "pm.test(\"Status code is 200 with firstName: \" + encodedParam, function () {", 23 | " pm.response.to.have.status(200);", 24 | "});", 25 | "", 26 | "// if the POST wasn't ok there is no need to continue", 27 | "if(pm.response.code === 200){", 28 | " var jsonData = pm.response.json();", 29 | " pm.test(\"First name in response is correct\", function(){", 30 | " pm.expect(jsonData.booking.firstname).to.eql(expectedFN);", 31 | " });", 32 | " ", 33 | " // Only do the next test if the initial response was correct", 34 | " if(jsonData.booking.firstname === expectedFN){", 35 | " pm.test(\"Retreive record by id and check name\", function(){", 36 | " var bookingId = jsonData.bookingid", 37 | " var getBooking = pm.request.url + \"/\" + bookingId;", 38 | " pm.sendRequest(getBooking, function (err, res) {", 39 | " if (err) {", 40 | " console.log(err);", 41 | " } else {", 42 | " pm.expect(res).to.have.property('code', 200);", 43 | " pm.expect(res.body.firstname).to.eql(jsonData.booking.firstname);", 44 | " }", 45 | " });", 46 | " });", 47 | " }", 48 | "}", 49 | "" 50 | ] 51 | } 52 | }, 53 | { 54 | "listen": "prerequest", 55 | "script": { 56 | "id": "94e59880-b52a-4706-81e1-b1d31851f87e", 57 | "type": "text/javascript", 58 | "exec": [ 59 | "// The atob library does decoding - the name of the library is backwards!", 60 | "var b64decode = require('atob');", 61 | "// Get the base64 naughty string injected by the Collection Runner", 62 | "var fn64 = pm.variables.get(\"encoded\");", 63 | "// Set the decoded value as the firstName variable", 64 | "pm.variables.set(\"firstName\", b64decode(fn64))", 65 | "", 66 | "" 67 | ] 68 | } 69 | } 70 | ], 71 | "request": { 72 | "method": "POST", 73 | "header": [ 74 | { 75 | "key": "Content-Type", 76 | "value": "application/json" 77 | } 78 | ], 79 | "body": { 80 | "mode": "raw", 81 | "raw": "{\n \"firstname\" : \"{{firstName}}\",\n \"lastname\" : \"Brown\",\n \"totalprice\" : 123,\n \"depositpaid\" : true,\n \"additionalneeds\" : \"Breakfast\",\n \"bookingdates\" : {\n \"checkin\" : \"2013-02-23\",\n \"checkout\" : \"2014-10-23\"\n }\n}" 82 | }, 83 | "url": { 84 | "raw": "{{RB_URL}}/booking", 85 | "host": [ 86 | "{{RB_URL}}" 87 | ], 88 | "path": [ 89 | "booking" 90 | ] 91 | } 92 | }, 93 | "response": [] 94 | } 95 | ] 96 | } -------------------------------------------------------------------------------- /postman_json/Production.postman_env.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "fd057e06-16ff-8f79-7202-aae88ba7a1fc", 3 | "name": "Production", 4 | "values": [ 5 | { 6 | "enabled": true, 7 | "key": "RB_URL", 8 | "type": "text", 9 | "value": "https://restful-booker.herokuapp.com" 10 | }, 11 | { 12 | "enabled": true, 13 | "key": "rb_token", 14 | "type": "text", 15 | "value": "50c48fc7995fd66" 16 | } 17 | ], 18 | "timestamp": 1519076563684, 19 | "_postman_variable_scope": "environment", 20 | "_postman_exported_at": "2018-02-19T21:46:52.215Z", 21 | "_postman_exported_using": "Postman/5.5.3" 22 | } -------------------------------------------------------------------------------- /postman_json/Restful-Booker.postman_collection.json: -------------------------------------------------------------------------------- 1 | { 2 | "info": { 3 | "_postman_id": "54bcd732-72cd-4acb-9e02-0c0bf2ad3526", 4 | "name": "Restful-Booker", 5 | "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" 6 | }, 7 | "item": [ 8 | { 9 | "name": "Auth", 10 | "event": [ 11 | { 12 | "listen": "prerequest", 13 | "script": { 14 | "id": "4b5cce6c-254f-4bc1-b364-93f2c6f43cf8", 15 | "type": "text/javascript", 16 | "exec": [ 17 | "" 18 | ] 19 | } 20 | }, 21 | { 22 | "listen": "test", 23 | "script": { 24 | "id": "c9404c4a-65ee-4867-82c8-0c0ecfdff681", 25 | "type": "text/javascript", 26 | "exec": [ 27 | "var jsonData = pm.response.json();", 28 | "pm.environment.set(\"rb_token\", jsonData.token);", 29 | "", 30 | "" 31 | ] 32 | } 33 | } 34 | ], 35 | "request": { 36 | "method": "POST", 37 | "header": [ 38 | { 39 | "key": "Content-Type", 40 | "value": "application/json" 41 | } 42 | ], 43 | "body": { 44 | "mode": "raw", 45 | "raw": "{\"username\":\"admin\", \"password\":\"password123\"}" 46 | }, 47 | "url": { 48 | "raw": "{{RB_URL}}/auth", 49 | "host": [ 50 | "{{RB_URL}}" 51 | ], 52 | "path": [ 53 | "auth" 54 | ] 55 | } 56 | }, 57 | "response": [ 58 | { 59 | "id": "1052f63e-d979-4e8c-a2f8-0fefffb45f98", 60 | "name": "Auth - Invalid", 61 | "originalRequest": { 62 | "method": "POST", 63 | "header": [ 64 | { 65 | "key": "Content-Type", 66 | "value": "application/json" 67 | } 68 | ], 69 | "body": { 70 | "mode": "raw", 71 | "raw": "{\"username\":\"admin\", \"password\":\"password\"}" 72 | }, 73 | "url": { 74 | "raw": "{{RB_URL}}/auth", 75 | "host": [ 76 | "{{RB_URL}}" 77 | ], 78 | "path": [ 79 | "auth" 80 | ] 81 | } 82 | }, 83 | "status": "OK", 84 | "code": 200, 85 | "_postman_previewlanguage": "json", 86 | "header": [ 87 | { 88 | "key": "Connection", 89 | "value": "keep-alive", 90 | "name": "Connection", 91 | "description": "Options that are desired for the connection" 92 | }, 93 | { 94 | "key": "Content-Length", 95 | "value": "28", 96 | "name": "Content-Length", 97 | "description": "The length of the response body in octets (8-bit bytes)" 98 | }, 99 | { 100 | "key": "Content-Type", 101 | "value": "application/json; charset=utf-8", 102 | "name": "Content-Type", 103 | "description": "The mime type of this content" 104 | }, 105 | { 106 | "key": "Date", 107 | "value": "Mon, 19 Feb 2018 13:02:50 GMT", 108 | "name": "Date", 109 | "description": "The date and time that the message was sent" 110 | }, 111 | { 112 | "key": "Etag", 113 | "value": "W/\"1c-J3EiwfZwVQjKTKvpvazUfTni8fI\"", 114 | "name": "Etag", 115 | "description": "An identifier for a specific version of a resource, often a message digest" 116 | }, 117 | { 118 | "key": "Server", 119 | "value": "Cowboy", 120 | "name": "Server", 121 | "description": "A name for the server" 122 | }, 123 | { 124 | "key": "Via", 125 | "value": "1.1 vegur", 126 | "name": "Via", 127 | "description": "Informs the client of proxies through which the response was sent." 128 | }, 129 | { 130 | "key": "X-Powered-By", 131 | "value": "Express", 132 | "name": "X-Powered-By", 133 | "description": "Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)" 134 | } 135 | ], 136 | "cookie": [ 137 | { 138 | "expires": "Invalid Date", 139 | "httpOnly": false, 140 | "domain": "restful-booker.herokuapp.com", 141 | "path": "/", 142 | "secure": false, 143 | "value": "good", 144 | "key": "cookie" 145 | } 146 | ], 147 | "body": "{\"reason\":\"Bad credentials\"}" 148 | }, 149 | { 150 | "id": "a999d0f8-bfdd-4882-9dcd-f6d25ded101e", 151 | "name": "Auth", 152 | "originalRequest": { 153 | "method": "POST", 154 | "header": [ 155 | { 156 | "key": "Content-Type", 157 | "value": "application/json" 158 | } 159 | ], 160 | "body": { 161 | "mode": "raw", 162 | "raw": "{\"username\":\"blah\", \"password\":\"12345\"}" 163 | }, 164 | "url": { 165 | "raw": "https://restful-booker.herokuapp.com/auth", 166 | "protocol": "https", 167 | "host": [ 168 | "restful-booker", 169 | "herokuapp", 170 | "com" 171 | ], 172 | "path": [ 173 | "auth" 174 | ] 175 | } 176 | }, 177 | "status": "OK", 178 | "code": 200, 179 | "_postman_previewlanguage": "json", 180 | "header": [], 181 | "cookie": [], 182 | "body": "{\n \"token\": \"abcdefg\"\n}" 183 | }, 184 | { 185 | "id": "09804fdf-3bcf-4b23-b5c3-ebb5f0109b46", 186 | "name": "Auth - Success", 187 | "originalRequest": { 188 | "method": "POST", 189 | "header": [ 190 | { 191 | "key": "Content-Type", 192 | "value": "application/json" 193 | } 194 | ], 195 | "body": { 196 | "mode": "raw", 197 | "raw": "{\"username\":\"admin\", \"password\":\"password123\"}" 198 | }, 199 | "url": { 200 | "raw": "{{RB_URL}}/auth", 201 | "host": [ 202 | "{{RB_URL}}" 203 | ], 204 | "path": [ 205 | "auth" 206 | ] 207 | } 208 | }, 209 | "status": "OK", 210 | "code": 200, 211 | "_postman_previewlanguage": "json", 212 | "header": [ 213 | { 214 | "key": "Connection", 215 | "value": "keep-alive", 216 | "name": "Connection", 217 | "description": "Options that are desired for the connection" 218 | }, 219 | { 220 | "key": "Content-Length", 221 | "value": "27", 222 | "name": "Content-Length", 223 | "description": "The length of the response body in octets (8-bit bytes)" 224 | }, 225 | { 226 | "key": "Content-Type", 227 | "value": "application/json; charset=utf-8", 228 | "name": "Content-Type", 229 | "description": "The mime type of this content" 230 | }, 231 | { 232 | "key": "Date", 233 | "value": "Mon, 19 Feb 2018 13:02:22 GMT", 234 | "name": "Date", 235 | "description": "The date and time that the message was sent" 236 | }, 237 | { 238 | "key": "Etag", 239 | "value": "W/\"1b-ADsmWUZvxUTYqiHDNFO45L/kA54\"", 240 | "name": "Etag", 241 | "description": "An identifier for a specific version of a resource, often a message digest" 242 | }, 243 | { 244 | "key": "Server", 245 | "value": "Cowboy", 246 | "name": "Server", 247 | "description": "A name for the server" 248 | }, 249 | { 250 | "key": "Via", 251 | "value": "1.1 vegur", 252 | "name": "Via", 253 | "description": "Informs the client of proxies through which the response was sent." 254 | }, 255 | { 256 | "key": "X-Powered-By", 257 | "value": "Express", 258 | "name": "X-Powered-By", 259 | "description": "Specifies the technology (ASP.NET, PHP, JBoss, e.g.) supporting the web application (version details are often in X-Runtime, X-Version, or X-AspNet-Version)" 260 | } 261 | ], 262 | "cookie": [ 263 | { 264 | "expires": "Invalid Date", 265 | "httpOnly": false, 266 | "domain": "restful-booker.herokuapp.com", 267 | "path": "/", 268 | "secure": false, 269 | "value": "good", 270 | "key": "cookie" 271 | } 272 | ], 273 | "body": "{\"token\":\"421ca5605ff1c84\"}" 274 | } 275 | ] 276 | }, 277 | { 278 | "name": "Ping", 279 | "event": [ 280 | { 281 | "listen": "test", 282 | "script": { 283 | "id": "8155bfb0-17ab-4d49-86f4-dca1bb047861", 284 | "type": "text/javascript", 285 | "exec": [ 286 | "pm.test(\"Status code is 200\", function () {", 287 | " pm.response.to.have.status(200);", 288 | "});" 289 | ] 290 | } 291 | } 292 | ], 293 | "request": { 294 | "method": "GET", 295 | "header": [], 296 | "body": { 297 | "mode": "raw", 298 | "raw": "" 299 | }, 300 | "url": { 301 | "raw": "{{RB_URL}}/ping", 302 | "host": [ 303 | "{{RB_URL}}" 304 | ], 305 | "path": [ 306 | "ping" 307 | ] 308 | } 309 | }, 310 | "response": [] 311 | }, 312 | { 313 | "name": "Get All Bookings", 314 | "event": [ 315 | { 316 | "listen": "test", 317 | "script": { 318 | "id": "9b8fc9c4-96ff-4df2-9e8e-a9726bb1c17d", 319 | "type": "text/javascript", 320 | "exec": [ 321 | "pm.test(\"Status code is 200\", function () {", 322 | " pm.response.to.have.status(200);", 323 | "});", 324 | "", 325 | "var schema = {", 326 | " \"items\": {", 327 | " \"type\": \"object\",", 328 | " \"properties\" : ", 329 | " {", 330 | " \"bookingid\": { \"type\": \"number\" },", 331 | " }", 332 | " }", 333 | "};", 334 | "", 335 | "pm.test('Schema is valid', function() {", 336 | " pm.expect(tv4.validate(pm.response.json(), schema)).to.be.true;", 337 | "});" 338 | ] 339 | } 340 | } 341 | ], 342 | "request": { 343 | "method": "GET", 344 | "header": [], 345 | "body": { 346 | "mode": "raw", 347 | "raw": "" 348 | }, 349 | "url": { 350 | "raw": "{{RB_URL}}/booking", 351 | "host": [ 352 | "{{RB_URL}}" 353 | ], 354 | "path": [ 355 | "booking" 356 | ] 357 | } 358 | }, 359 | "response": [] 360 | }, 361 | { 362 | "name": "Get Booking", 363 | "event": [ 364 | { 365 | "listen": "test", 366 | "script": { 367 | "id": "c500fe3f-0b4b-4673-87d6-0517385834f3", 368 | "type": "text/javascript", 369 | "exec": [ 370 | "pm.test(\"Status code is 200\", function () {", 371 | " pm.response.to.have.status(200);", 372 | "});", 373 | "", 374 | "" 375 | ] 376 | } 377 | } 378 | ], 379 | "request": { 380 | "method": "GET", 381 | "header": [], 382 | "body": { 383 | "mode": "raw", 384 | "raw": "" 385 | }, 386 | "url": { 387 | "raw": "{{RB_URL}}/booking/4", 388 | "host": [ 389 | "{{RB_URL}}" 390 | ], 391 | "path": [ 392 | "booking", 393 | "4" 394 | ] 395 | } 396 | }, 397 | "response": [] 398 | }, 399 | { 400 | "name": "Create Booking", 401 | "event": [ 402 | { 403 | "listen": "test", 404 | "script": { 405 | "id": "c83b4786-a630-4592-a4e4-6b88d495c7f4", 406 | "type": "text/javascript", 407 | "exec": [ 408 | "pm.test(\"Status code is 200\", function () {", 409 | " pm.response.to.have.status(200);", 410 | "});" 411 | ] 412 | } 413 | }, 414 | { 415 | "listen": "prerequest", 416 | "script": { 417 | "id": "df87cd6b-67ad-4730-9c5c-a9025e4a630d", 418 | "type": "text/javascript", 419 | "exec": [ 420 | "" 421 | ] 422 | } 423 | } 424 | ], 425 | "request": { 426 | "method": "POST", 427 | "header": [ 428 | { 429 | "key": "Content-Type", 430 | "value": "application/json" 431 | } 432 | ], 433 | "body": { 434 | "mode": "raw", 435 | "raw": "{\n \"firstname\" : \"Sally\",\n \"lastname\" : \"Brown\",\n \"totalprice\" : 125,\n \"depositpaid\" : true,\n \"additionalneeds\" : \"Breakfast\",\n \"bookingdates\" : {\n \"checkin\" : \"2013-02-23\",\n \"checkout\" : \"2014-10-23\"\n }\n}" 436 | }, 437 | "url": { 438 | "raw": "{{RB_URL}}/booking", 439 | "host": [ 440 | "{{RB_URL}}" 441 | ], 442 | "path": [ 443 | "booking" 444 | ] 445 | } 446 | }, 447 | "response": [] 448 | }, 449 | { 450 | "name": "Modify Booking", 451 | "event": [ 452 | { 453 | "listen": "test", 454 | "script": { 455 | "id": "fb40c813-2914-47c2-b364-9dfec5087b27", 456 | "type": "text/javascript", 457 | "exec": [ 458 | "pm.test(\"Status code is 200\", function () {", 459 | " pm.response.to.have.status(200);", 460 | "});" 461 | ] 462 | } 463 | } 464 | ], 465 | "request": { 466 | "method": "PUT", 467 | "header": [ 468 | { 469 | "key": "Content-Type", 470 | "value": "application/json" 471 | }, 472 | { 473 | "key": "Cookie", 474 | "value": "token={{rb_token}}" 475 | } 476 | ], 477 | "body": { 478 | "mode": "raw", 479 | "raw": "{\n \"firstname\" : \"Richard\",\n \"lastname\" : \"Roe\",\n \"totalprice\" : 150,\n \"depositpaid\" : true,\n \"additionalneeds\" : \"Breakfast\",\n \"bookingdates\" : {\n \"checkin\" : \"2018-09-25\",\n \"checkout\" : \"2018-09-30\"\n }\n}" 480 | }, 481 | "url": { 482 | "raw": "{{RB_URL}}/booking/4", 483 | "host": [ 484 | "{{RB_URL}}" 485 | ], 486 | "path": [ 487 | "booking", 488 | "4" 489 | ] 490 | } 491 | }, 492 | "response": [] 493 | }, 494 | { 495 | "name": "Delete Booking", 496 | "event": [ 497 | { 498 | "listen": "test", 499 | "script": { 500 | "id": "fc2f44b9-6f62-4dca-b363-de57a5c40de2", 501 | "type": "text/javascript", 502 | "exec": [ 503 | "pm.test(\"Status code is 204\", function () {", 504 | " pm.response.to.have.status(204);", 505 | "});" 506 | ] 507 | } 508 | } 509 | ], 510 | "request": { 511 | "method": "DELETE", 512 | "header": [ 513 | { 514 | "key": "Content-Type", 515 | "value": "application/json" 516 | }, 517 | { 518 | "key": "Cookie", 519 | "value": "token={{rb_token}}" 520 | } 521 | ], 522 | "body": { 523 | "mode": "raw", 524 | "raw": "" 525 | }, 526 | "url": { 527 | "raw": "{{RB_URL}}/booking/11", 528 | "host": [ 529 | "{{RB_URL}}" 530 | ], 531 | "path": [ 532 | "booking", 533 | "11" 534 | ] 535 | } 536 | }, 537 | "response": [] 538 | } 539 | ] 540 | } -------------------------------------------------------------------------------- /scripts/make_blns_csv.sh: -------------------------------------------------------------------------------- 1 | wget https://raw.githubusercontent.com/minimaxir/big-list-of-naughty-strings/master/blns.txt -O blns.txt 2 | echo encoded > naughty_strings.csv 3 | commentChar="#" 4 | while read p; do 5 | firstChar=${p:0:1} 6 | if [[ "$firstChar" != "$commentChar" && "$firstChar" != "" ]] ; then 7 | echo -n $p | base64 >> naughty_strings.csv; 8 | fi 9 | done [1, 2]", 81 | "var booking_ids = _.map(jsonData, 'bookingid');", 82 | "", 83 | "// the id for our newly created object should be in the list of ids", 84 | "pm.test(\"Expected booking id is in the returned array\", function () {", 85 | " pm.expect(booking_ids).to.include(pm.variables.get(\"booking_id\"));", 86 | "});", 87 | "" 88 | ], 89 | "type": "text/javascript" 90 | } 91 | } 92 | ], 93 | "request": { 94 | "method": "GET", 95 | "header": [], 96 | "body": { 97 | "mode": "raw", 98 | "raw": "" 99 | }, 100 | "url": { 101 | "raw": "{{rb_url}}/booking?firstname={{firstname}}", 102 | "host": [ 103 | "{{rb_url}}" 104 | ], 105 | "path": [ 106 | "booking" 107 | ], 108 | "query": [ 109 | { 110 | "key": "firstname", 111 | "value": "{{firstname}}" 112 | } 113 | ] 114 | } 115 | }, 116 | "response": [] 117 | }, 118 | { 119 | "name": "Search By Last Name", 120 | "event": [ 121 | { 122 | "listen": "prerequest", 123 | "script": { 124 | "id": "f90c42c7-9bf8-42c4-942d-e4ae5cbabef1", 125 | "exec": [ 126 | "" 127 | ], 128 | "type": "text/javascript" 129 | } 130 | }, 131 | { 132 | "listen": "test", 133 | "script": { 134 | "id": "74cc0f85-d34c-4e5c-b9f9-41dd90417f83", 135 | "exec": [ 136 | "", 137 | "var jsonData = pm.response.json();", 138 | "", 139 | "pm.test(\"Response is not empty\", function () {", 140 | " pm.expect(jsonData).to.not.have.lengthOf(0);", 141 | "});", 142 | "", 143 | "// use lodash map to get a flat array of all the returned booking ids", 144 | "var booking_ids = _.map(jsonData, 'bookingid');", 145 | "", 146 | "// the id for our newly created object should be there", 147 | "pm.test(\"Expected booking id is in the returned array\", function () {", 148 | " pm.expect(booking_ids).to.include(pm.variables.get(\"booking_id\"));", 149 | "});", 150 | "" 151 | ], 152 | "type": "text/javascript" 153 | } 154 | } 155 | ], 156 | "request": { 157 | "method": "GET", 158 | "header": [], 159 | "body": { 160 | "mode": "raw", 161 | "raw": "" 162 | }, 163 | "url": { 164 | "raw": "{{rb_url}}/booking?lastname={{lastname}}", 165 | "host": [ 166 | "{{rb_url}}" 167 | ], 168 | "path": [ 169 | "booking" 170 | ], 171 | "query": [ 172 | { 173 | "key": "lastname", 174 | "value": "{{lastname}}" 175 | } 176 | ] 177 | } 178 | }, 179 | "response": [] 180 | }, 181 | { 182 | "name": "Search By First and Last Name", 183 | "event": [ 184 | { 185 | "listen": "prerequest", 186 | "script": { 187 | "id": "f90c42c7-9bf8-42c4-942d-e4ae5cbabef1", 188 | "exec": [ 189 | "" 190 | ], 191 | "type": "text/javascript" 192 | } 193 | }, 194 | { 195 | "listen": "test", 196 | "script": { 197 | "id": "74cc0f85-d34c-4e5c-b9f9-41dd90417f83", 198 | "exec": [ 199 | "", 200 | "var jsonData = pm.response.json();", 201 | "", 202 | "pm.test(\"Response is not empty\", function () {", 203 | " pm.expect(jsonData).to.not.have.lengthOf(0);", 204 | "});", 205 | "", 206 | "// use lodash map to get a flat array of all the returned booking ids", 207 | "var booking_ids = _.map(jsonData, 'bookingid');", 208 | "", 209 | "// the id for our newly created object should be there", 210 | "pm.test(\"Expected booking id is in the returned array\", function () {", 211 | " pm.expect(booking_ids).to.include(pm.variables.get(\"booking_id\"));", 212 | "});", 213 | "" 214 | ], 215 | "type": "text/javascript" 216 | } 217 | } 218 | ], 219 | "request": { 220 | "method": "GET", 221 | "header": [], 222 | "body": { 223 | "mode": "raw", 224 | "raw": "" 225 | }, 226 | "url": { 227 | "raw": "{{rb_url}}/booking?firstname={{firstname}}&lastname={{lastname}}", 228 | "host": [ 229 | "{{rb_url}}" 230 | ], 231 | "path": [ 232 | "booking" 233 | ], 234 | "query": [ 235 | { 236 | "key": "firstname", 237 | "value": "{{firstname}}" 238 | }, 239 | { 240 | "key": "lastname", 241 | "value": "{{lastname}}" 242 | } 243 | ] 244 | } 245 | }, 246 | "response": [] 247 | }, 248 | { 249 | "name": "Search By Checkin", 250 | "event": [ 251 | { 252 | "listen": "prerequest", 253 | "script": { 254 | "id": "f90c42c7-9bf8-42c4-942d-e4ae5cbabef1", 255 | "exec": [ 256 | "" 257 | ], 258 | "type": "text/javascript" 259 | } 260 | }, 261 | { 262 | "listen": "test", 263 | "script": { 264 | "id": "74cc0f85-d34c-4e5c-b9f9-41dd90417f83", 265 | "exec": [ 266 | "", 267 | "var jsonData = pm.response.json();", 268 | "", 269 | "pm.test(\"Response is not empty\", function () {", 270 | " pm.expect(jsonData).to.not.have.lengthOf(0);", 271 | "});", 272 | "", 273 | "// use lodash map to get a flat array of all the returned booking ids", 274 | "// https://lodash.com/docs/4.17.11#map", 275 | "var booking_ids = _.map(jsonData, 'bookingid');", 276 | "console.log(booking_ids);", 277 | "", 278 | "// the id for our newly created object should be there", 279 | "pm.test(\"Expected booking id is in the returned array\", function () {", 280 | " pm.expect(booking_ids).to.include(pm.variables.get(\"booking_id\"));", 281 | "});", 282 | "" 283 | ], 284 | "type": "text/javascript" 285 | } 286 | } 287 | ], 288 | "request": { 289 | "method": "GET", 290 | "header": [], 291 | "body": { 292 | "mode": "raw", 293 | "raw": "" 294 | }, 295 | "url": { 296 | "raw": "{{rb_url}}/booking?checkin={{checkin}}", 297 | "host": [ 298 | "{{rb_url}}" 299 | ], 300 | "path": [ 301 | "booking" 302 | ], 303 | "query": [ 304 | { 305 | "key": "checkin", 306 | "value": "{{checkin}}" 307 | } 308 | ] 309 | } 310 | }, 311 | "response": [] 312 | }, 313 | { 314 | "name": "Search By Checkout", 315 | "event": [ 316 | { 317 | "listen": "prerequest", 318 | "script": { 319 | "id": "f90c42c7-9bf8-42c4-942d-e4ae5cbabef1", 320 | "exec": [ 321 | "" 322 | ], 323 | "type": "text/javascript" 324 | } 325 | }, 326 | { 327 | "listen": "test", 328 | "script": { 329 | "id": "74cc0f85-d34c-4e5c-b9f9-41dd90417f83", 330 | "exec": [ 331 | "", 332 | "var jsonData = pm.response.json();", 333 | "", 334 | "pm.test(\"Response is not empty\", function () {", 335 | " pm.expect(jsonData).to.not.have.lengthOf(0);", 336 | "});", 337 | "", 338 | "// use lodash map to get a flat array of all the returned booking ids", 339 | "// https://lodash.com/docs/4.17.11#map", 340 | "var booking_ids = _.map(jsonData, 'bookingid');", 341 | "", 342 | "// the id for our newly created object should be there", 343 | "pm.test(\"Expected booking id is in the returned array\", function () {", 344 | " pm.expect(booking_ids).to.include(pm.variables.get(\"booking_id\"));", 345 | "});", 346 | "" 347 | ], 348 | "type": "text/javascript" 349 | } 350 | } 351 | ], 352 | "request": { 353 | "method": "GET", 354 | "header": [], 355 | "body": { 356 | "mode": "raw", 357 | "raw": "" 358 | }, 359 | "url": { 360 | "raw": "{{rb_url}}/booking?checkout={{checkout}}", 361 | "host": [ 362 | "{{rb_url}}" 363 | ], 364 | "path": [ 365 | "booking" 366 | ], 367 | "query": [ 368 | { 369 | "key": "checkout", 370 | "value": "{{checkout}}" 371 | } 372 | ] 373 | } 374 | }, 375 | "response": [] 376 | }, 377 | { 378 | "name": "Empty Search", 379 | "event": [ 380 | { 381 | "listen": "test", 382 | "script": { 383 | "id": "8b187d98-662c-48ae-9e5d-ed529ef45d12", 384 | "exec": [ 385 | "var jsonData = pm.response.json();", 386 | "", 387 | "pm.test(\"Response is empty\", function () {", 388 | " pm.expect(jsonData).to.have.lengthOf(0);", 389 | "});" 390 | ], 391 | "type": "text/javascript" 392 | } 393 | } 394 | ], 395 | "request": { 396 | "method": "GET", 397 | "header": [], 398 | "body": { 399 | "mode": "raw", 400 | "raw": "" 401 | }, 402 | "url": { 403 | "raw": "{{rb_url}}/booking?firstname=non_existent_name", 404 | "host": [ 405 | "{{rb_url}}" 406 | ], 407 | "path": [ 408 | "booking" 409 | ], 410 | "query": [ 411 | { 412 | "key": "firstname", 413 | "value": "non_existent_name" 414 | } 415 | ] 416 | } 417 | }, 418 | "response": [] 419 | } 420 | ], 421 | "event": [ 422 | { 423 | "listen": "prerequest", 424 | "script": { 425 | "id": "eac3a568-9f07-486c-8969-cc852363f656", 426 | "type": "text/javascript", 427 | "exec": [ 428 | "", 429 | "const createBooking = {", 430 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 431 | " method: 'POST',", 432 | " header: 'Content-Type:application/json',", 433 | " body: {", 434 | " mode: 'raw',", 435 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 436 | " }", 437 | "};", 438 | "pm.sendRequest(createBooking, function (err, res) {", 439 | " pm.expect(err).is.null;", 440 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 441 | "});" 442 | ] 443 | } 444 | }, 445 | { 446 | "listen": "test", 447 | "script": { 448 | "id": "90ac4d0a-93bd-4468-810b-5f23ce7945f7", 449 | "type": "text/javascript", 450 | "exec": [ 451 | "pm.test(\"Status code is 200\", function () {", 452 | " pm.response.to.have.status(200);", 453 | "});", 454 | "", 455 | "var jsonData = pm.response.json();", 456 | "", 457 | "if(jsonData.length > 0){", 458 | " pm.test(\"Responses are booking ids\", function() {", 459 | " // lodash forEach will iterate through each object ", 460 | " // in the array and apply the given function", 461 | " // https://lodash.com/docs/4.17.11#forEach", 462 | " _.forEach(jsonData, function(booking) {", 463 | " pm.expect(booking).to.have.property(\"bookingid\")", 464 | " })", 465 | " })", 466 | "}" 467 | ] 468 | } 469 | } 470 | ] 471 | }, 472 | { 473 | "name": "Get Booking by ID", 474 | "item": [ 475 | { 476 | "name": "Existing ID", 477 | "event": [ 478 | { 479 | "listen": "prerequest", 480 | "script": { 481 | "id": "c4d895d9-1886-4369-819e-92688aad5e88", 482 | "exec": [ 483 | "const createBooking = {", 484 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 485 | " method: 'POST',", 486 | " header: 'Content-Type:application/json',", 487 | " body: {", 488 | " mode: 'raw',", 489 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 490 | " }", 491 | "};", 492 | "pm.sendRequest(createBooking, function (err, res) {", 493 | " pm.expect(err).is.null;", 494 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 495 | " pm.variables.set(\"expected\", res.json().booking)", 496 | "});" 497 | ], 498 | "type": "text/javascript" 499 | } 500 | }, 501 | { 502 | "listen": "test", 503 | "script": { 504 | "id": "1728438e-328c-406c-93d8-b32cba372079", 505 | "exec": [ 506 | "pm.test(\"Status code is 200\", function () {", 507 | " pm.response.to.have.status(200);", 508 | "});", 509 | "", 510 | "pm.test(\"Expected booking is returned\", function () {", 511 | " var jsonData = pm.response.json();", 512 | " pm.expect(jsonData).to.eql(pm.variables.get(\"expected\"));", 513 | "});" 514 | ], 515 | "type": "text/javascript" 516 | } 517 | } 518 | ], 519 | "request": { 520 | "method": "GET", 521 | "header": [], 522 | "body": { 523 | "mode": "raw", 524 | "raw": "" 525 | }, 526 | "url": { 527 | "raw": "{{rb_url}}/booking/{{booking_id}}", 528 | "host": [ 529 | "{{rb_url}}" 530 | ], 531 | "path": [ 532 | "booking", 533 | "{{booking_id}}" 534 | ] 535 | } 536 | }, 537 | "response": [] 538 | }, 539 | { 540 | "name": "Non-Existent ID", 541 | "event": [ 542 | { 543 | "listen": "test", 544 | "script": { 545 | "id": "15fc9672-7ee2-4c7a-9346-0637f73faaa5", 546 | "exec": [ 547 | "pm.test(\"Status code is 404\", function () {", 548 | " pm.response.to.have.status(\"Not Found\")", 549 | "});" 550 | ], 551 | "type": "text/javascript" 552 | } 553 | } 554 | ], 555 | "request": { 556 | "method": "GET", 557 | "header": [], 558 | "body": { 559 | "mode": "raw", 560 | "raw": "" 561 | }, 562 | "url": { 563 | "raw": "{{rb_url}}/booking/0", 564 | "host": [ 565 | "{{rb_url}}" 566 | ], 567 | "path": [ 568 | "booking", 569 | "0" 570 | ] 571 | } 572 | }, 573 | "response": [] 574 | } 575 | ] 576 | }, 577 | { 578 | "name": "Create Booking", 579 | "item": [ 580 | { 581 | "name": "Valid Create", 582 | "event": [ 583 | { 584 | "listen": "test", 585 | "script": { 586 | "id": "b4381f93-9575-411f-a03e-e23a586a5db8", 587 | "exec": [ 588 | "pm.test(\"Status code is 200\", function () {", 589 | " pm.response.to.have.status(200);", 590 | "});", 591 | "", 592 | "pm.test(\"Response booking is correct\", function () {", 593 | " var booking = pm.response.json().booking;", 594 | " pm.expect(booking.firstname, \"unexpected firstname\").to.eql(pm.variables.get(\"firstname\"));", 595 | " pm.expect(booking.lastname, \"unexpected lastname\").to.eql(pm.variables.get(\"lastname\"));", 596 | " pm.expect(booking.totalprice, \"unexpected totalprice\").to.eql(pm.variables.get(\"totalprice\"));", 597 | " pm.expect(booking.depositpaid, \"unexpected depositpaid\").to.eql(pm.variables.get(\"depositpaid\"));", 598 | " pm.expect(booking.bookingdates.checkin, \"unexpected checkin\").to.eql(pm.variables.get(\"checkin\"));", 599 | " pm.expect(booking.bookingdates.checkout, \"unexpected checkout\").to.eql(pm.variables.get(\"checkout\"));", 600 | " pm.expect(booking.additionalneeds, \"unexpected additionalneeds\").to.eql(pm.variables.get(\"additionalneeds\"));", 601 | "});" 602 | ], 603 | "type": "text/javascript" 604 | } 605 | } 606 | ], 607 | "request": { 608 | "method": "POST", 609 | "header": [ 610 | { 611 | "key": "Content-Type", 612 | "value": "application/json" 613 | } 614 | ], 615 | "body": { 616 | "mode": "raw", 617 | "raw": "{\n \"firstname\" : \"{{firstname}}\",\n \"lastname\" : \"{{lastname}}\",\n \"totalprice\" : {{totalprice}},\n \"depositpaid\" : {{depositpaid}},\n \"bookingdates\" : {\n \"checkin\" : \"{{checkin}}\",\n \"checkout\" : \"{{checkout}}\"\n },\n \"additionalneeds\" : \"{{additionalneeds}}\"\n}" 618 | }, 619 | "url": { 620 | "raw": "{{rb_url}}/booking", 621 | "host": [ 622 | "{{rb_url}}" 623 | ], 624 | "path": [ 625 | "booking" 626 | ] 627 | } 628 | }, 629 | "response": [] 630 | }, 631 | { 632 | "name": "First name is null", 633 | "event": [ 634 | { 635 | "listen": "test", 636 | "script": { 637 | "id": "b4381f93-9575-411f-a03e-e23a586a5db8", 638 | "exec": [ 639 | "pm.test(\"Create fails\", function () {", 640 | " pm.response.to.not.have.success;", 641 | "});", 642 | "" 643 | ], 644 | "type": "text/javascript" 645 | } 646 | } 647 | ], 648 | "request": { 649 | "method": "POST", 650 | "header": [ 651 | { 652 | "key": "Content-Type", 653 | "value": "application/json" 654 | } 655 | ], 656 | "body": { 657 | "mode": "raw", 658 | "raw": "{\n \"firstname\" : null,\n \"lastname\" : \"{{lastname}}\",\n \"totalprice\" : {{totalprice}},\n \"depositpaid\" : {{depositpaid}},\n \"bookingdates\" : {\n \"checkin\" : \"{{checkin}}\",\n \"checkout\" : \"{{checkout}}\"\n },\n \"additionalneeds\" : \"{{additionalneeds}}\"\n}" 659 | }, 660 | "url": { 661 | "raw": "{{rb_url}}/booking", 662 | "host": [ 663 | "{{rb_url}}" 664 | ], 665 | "path": [ 666 | "booking" 667 | ] 668 | } 669 | }, 670 | "response": [] 671 | } 672 | ] 673 | }, 674 | { 675 | "name": "Modify Booking", 676 | "item": [ 677 | { 678 | "name": "Valid Update", 679 | "event": [ 680 | { 681 | "listen": "prerequest", 682 | "script": { 683 | "id": "8038a405-e8b2-42f0-a30e-68bfe1fcbfd8", 684 | "exec": [ 685 | "// create the base booking", 686 | "const createBooking = {", 687 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 688 | " method: 'POST',", 689 | " header: 'Content-Type:application/json',", 690 | " body: {", 691 | " mode: 'raw',", 692 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 693 | " }", 694 | "};", 695 | "pm.sendRequest(createBooking, function (err, res) {", 696 | " pm.expect(err).is.null;", 697 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 698 | "});", 699 | "", 700 | "const uuid = require(\"uuid\");", 701 | "// reset the firstname and lastname variables", 702 | "pm.variables.set(\"firstname\", uuid());", 703 | "pm.variables.set(\"lastname\", uuid());" 704 | ], 705 | "type": "text/javascript" 706 | } 707 | }, 708 | { 709 | "listen": "test", 710 | "script": { 711 | "id": "fc46bdbf-a724-43ae-80f9-2b1251bfc890", 712 | "exec": [ 713 | "pm.test(\"Status code is 200\", function () {", 714 | " pm.response.to.have.status(200);", 715 | "});", 716 | "var booking = pm.response.json();", 717 | "pm.test(\"Response firstname is correct\", function () {", 718 | " pm.expect(booking.firstname, \"unexpected firstname\").to.eql(pm.variables.get(\"firstname\"));", 719 | "});", 720 | "pm.test(\"Response lastname is correct\", function () {", 721 | " pm.expect(booking.lastname, \"unexpected lastname\").to.eql(pm.variables.get(\"lastname\"));", 722 | "});", 723 | "pm.test(\"Response totalprice is correct\", function () {", 724 | " pm.expect(booking.totalprice, \"unexpected totalprice\").to.eql(pm.variables.get(\"totalprice\"));", 725 | "});", 726 | "pm.test(\"Response depositpaid is correct\", function () {", 727 | " pm.expect(booking.depositpaid, \"unexpected depositpaid\").to.eql(pm.variables.get(\"depositpaid\"));", 728 | "});", 729 | "pm.test(\"Response checkin is correct\", function () {", 730 | " pm.expect(booking.bookingdates.checkin, \"unexpected checkin\").to.eql(pm.variables.get(\"checkin\"));", 731 | "});", 732 | "pm.test(\"Response checkout is correct\", function () {", 733 | " pm.expect(booking.bookingdates.checkout, \"unexpected checkout\").to.eql(pm.variables.get(\"checkout\"));", 734 | "});", 735 | "pm.test(\"Response additionalneeds is correct\", function () {", 736 | " pm.expect(booking.additionalneeds, \"unexpected additionalneeds\").to.eql(pm.variables.get(\"additionalneeds\"));", 737 | "});" 738 | ], 739 | "type": "text/javascript" 740 | } 741 | } 742 | ], 743 | "request": { 744 | "auth": { 745 | "type": "basic", 746 | "basic": [ 747 | { 748 | "key": "password", 749 | "value": "password123", 750 | "type": "string" 751 | }, 752 | { 753 | "key": "username", 754 | "value": "admin", 755 | "type": "string" 756 | } 757 | ] 758 | }, 759 | "method": "PUT", 760 | "header": [ 761 | { 762 | "key": "Content-Type", 763 | "value": "application/json" 764 | }, 765 | { 766 | "key": "Accept", 767 | "value": "application/json" 768 | }, 769 | { 770 | "key": "Cookie", 771 | "value": "token=abc123" 772 | } 773 | ], 774 | "body": { 775 | "mode": "raw", 776 | "raw": "{\n \"firstname\" : \"{{firstname}}\",\n \"lastname\" : \"{{lastname}}\",\n \"totalprice\" : {{totalprice}},\n \"depositpaid\" : {{depositpaid}},\n \"bookingdates\" : {\n \"checkin\" : \"{{checkin}}\",\n \"checkout\" : \"{{checkout}}\"\n },\n \"additionalneeds\" : \"{{additionalneeds}}\"\n}" 777 | }, 778 | "url": { 779 | "raw": "{{rb_url}}/booking/{{booking_id}}", 780 | "host": [ 781 | "{{rb_url}}" 782 | ], 783 | "path": [ 784 | "booking", 785 | "{{booking_id}}" 786 | ] 787 | } 788 | }, 789 | "response": [] 790 | }, 791 | { 792 | "name": "Update Invalid Name", 793 | "event": [ 794 | { 795 | "listen": "prerequest", 796 | "script": { 797 | "id": "8038a405-e8b2-42f0-a30e-68bfe1fcbfd8", 798 | "exec": [ 799 | "// create the base booking", 800 | "const createBooking = {", 801 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 802 | " method: 'POST',", 803 | " header: 'Content-Type:application/json',", 804 | " body: {", 805 | " mode: 'raw',", 806 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 807 | " }", 808 | "};", 809 | "pm.sendRequest(createBooking, function (err, res) {", 810 | " pm.expect(err).is.null;", 811 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 812 | "});", 813 | "" 814 | ], 815 | "type": "text/javascript" 816 | } 817 | }, 818 | { 819 | "listen": "test", 820 | "script": { 821 | "id": "fc46bdbf-a724-43ae-80f9-2b1251bfc890", 822 | "exec": [ 823 | "pm.test(\"Update fails\", function () {", 824 | " pm.response.to.not.have.success;", 825 | "});", 826 | "", 827 | "pm.sendRequest(pm.environment.get(\"rb_url\") + \"/booking/\" + pm.variables.get(\"booking_id\"), function (err, res) {", 828 | " if (err) { console.log(err); }", 829 | " pm.test('Booking is unchanged', function () {", 830 | " pm.expect(err).to.equal(null);", 831 | " pm.expect(res.text()).to.include(pm.variables.get(\"firstname\"));", 832 | " });", 833 | "});" 834 | ], 835 | "type": "text/javascript" 836 | } 837 | } 838 | ], 839 | "request": { 840 | "auth": { 841 | "type": "basic", 842 | "basic": [ 843 | { 844 | "key": "password", 845 | "value": "password123", 846 | "type": "string" 847 | }, 848 | { 849 | "key": "username", 850 | "value": "admin", 851 | "type": "string" 852 | } 853 | ] 854 | }, 855 | "method": "PUT", 856 | "header": [ 857 | { 858 | "key": "Content-Type", 859 | "value": "application/json" 860 | }, 861 | { 862 | "key": "Accept", 863 | "value": "application/json" 864 | }, 865 | { 866 | "key": "Cookie", 867 | "value": "token=abc123" 868 | } 869 | ], 870 | "body": { 871 | "mode": "raw", 872 | "raw": "{\n \"firstname\" : null,\n \"lastname\" : \"{{lastname}}\",\n \"totalprice\" : {{totalprice}},\n \"depositpaid\" : {{depositpaid}},\n \"bookingdates\" : {\n \"checkin\" : \"{{checkin}}\",\n \"checkout\" : \"{{checkout}}\"\n },\n \"additionalneeds\" : \"{{additionalneeds}}\"\n}" 873 | }, 874 | "url": { 875 | "raw": "{{rb_url}}/booking/{{booking_id}}", 876 | "host": [ 877 | "{{rb_url}}" 878 | ], 879 | "path": [ 880 | "booking", 881 | "{{booking_id}}" 882 | ] 883 | } 884 | }, 885 | "response": [] 886 | }, 887 | { 888 | "name": "Update Invalid Date", 889 | "event": [ 890 | { 891 | "listen": "prerequest", 892 | "script": { 893 | "id": "8038a405-e8b2-42f0-a30e-68bfe1fcbfd8", 894 | "exec": [ 895 | "// create the base booking", 896 | "const createBooking = {", 897 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 898 | " method: 'POST',", 899 | " header: 'Content-Type:application/json',", 900 | " body: {", 901 | " mode: 'raw',", 902 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 903 | " }", 904 | "};", 905 | "pm.sendRequest(createBooking, function (err, res) {", 906 | " pm.expect(err).is.null;", 907 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 908 | "});", 909 | "" 910 | ], 911 | "type": "text/javascript" 912 | } 913 | }, 914 | { 915 | "listen": "test", 916 | "script": { 917 | "id": "fc46bdbf-a724-43ae-80f9-2b1251bfc890", 918 | "exec": [ 919 | "pm.test(\"Update fails\", function () {", 920 | " pm.response.to.not.have.success;", 921 | "});", 922 | "", 923 | "pm.sendRequest(pm.environment.get(\"rb_url\") + \"/booking/\" + pm.variables.get(\"booking_id\"), function (err, res) {", 924 | " if (err) { console.log(err); }", 925 | " pm.test('Booking is unchanged', function () {", 926 | " pm.expect(err).to.equal(null);", 927 | " pm.expect(res.text()).to.include(pm.variables.get(\"firstname\"));", 928 | " });", 929 | "});" 930 | ], 931 | "type": "text/javascript" 932 | } 933 | } 934 | ], 935 | "request": { 936 | "auth": { 937 | "type": "basic", 938 | "basic": [ 939 | { 940 | "key": "password", 941 | "value": "password123", 942 | "type": "string" 943 | }, 944 | { 945 | "key": "username", 946 | "value": "admin", 947 | "type": "string" 948 | } 949 | ] 950 | }, 951 | "method": "PUT", 952 | "header": [ 953 | { 954 | "key": "Content-Type", 955 | "value": "application/json" 956 | }, 957 | { 958 | "key": "Accept", 959 | "value": "application/json" 960 | }, 961 | { 962 | "key": "Cookie", 963 | "value": "token=abc123" 964 | } 965 | ], 966 | "body": { 967 | "mode": "raw", 968 | "raw": "{\n \"firstname\" : \"{{firstname}}\",\n \"lastname\" : \"{{lastname}}\",\n \"totalprice\" : {{totalprice}},\n \"depositpaid\" : {{depositpaid}},\n \"bookingdates\" : {\n \"checkin\" : \"2019-12-32\",\n \"checkout\" : \"{{checkout}}\"\n },\n \"additionalneeds\" : \"{{additionalneeds}}\"\n}" 969 | }, 970 | "url": { 971 | "raw": "{{rb_url}}/booking/{{booking_id}}", 972 | "host": [ 973 | "{{rb_url}}" 974 | ], 975 | "path": [ 976 | "booking", 977 | "{{booking_id}}" 978 | ] 979 | } 980 | }, 981 | "response": [] 982 | } 983 | ] 984 | }, 985 | { 986 | "name": "Patch Modify Booking", 987 | "item": [ 988 | { 989 | "name": "Partial Update Booking", 990 | "event": [ 991 | { 992 | "listen": "prerequest", 993 | "script": { 994 | "id": "d41d9c0c-c456-4394-aff2-71ca18fe5dcd", 995 | "exec": [ 996 | "// create the base booking", 997 | "const createBooking = {", 998 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 999 | " method: 'POST',", 1000 | " header: 'Content-Type:application/json',", 1001 | " body: {", 1002 | " mode: 'raw',", 1003 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 1004 | " }", 1005 | "};", 1006 | "pm.sendRequest(createBooking, function (err, res) {", 1007 | " pm.expect(err).is.null;", 1008 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 1009 | "});", 1010 | "", 1011 | "const uuid = require(\"uuid\");", 1012 | "// reset the firstname and lastname variables", 1013 | "pm.variables.set(\"firstname\", uuid());", 1014 | "pm.variables.set(\"lastname\", uuid());" 1015 | ], 1016 | "type": "text/javascript" 1017 | } 1018 | }, 1019 | { 1020 | "listen": "test", 1021 | "script": { 1022 | "id": "f306c460-57fc-4ab6-bd34-6bbe86ac1d97", 1023 | "exec": [ 1024 | "pm.test(\"Status code is 200\", function () {", 1025 | " pm.response.to.have.status(200);", 1026 | "});", 1027 | "", 1028 | "var booking = pm.response.json();", 1029 | "pm.test(\"Response firstname is correct\", function () {", 1030 | " pm.expect(booking.firstname, \"unexpected firstname\").to.eql(pm.variables.get(\"firstname\"));", 1031 | "});", 1032 | "pm.test(\"Response lastname is correct\", function () {", 1033 | " pm.expect(booking.lastname, \"unexpected lastname\").to.eql(pm.variables.get(\"lastname\"));", 1034 | "});", 1035 | "" 1036 | ], 1037 | "type": "text/javascript" 1038 | } 1039 | } 1040 | ], 1041 | "request": { 1042 | "auth": { 1043 | "type": "basic", 1044 | "basic": [ 1045 | { 1046 | "key": "password", 1047 | "value": "password123", 1048 | "type": "string" 1049 | }, 1050 | { 1051 | "key": "username", 1052 | "value": "admin", 1053 | "type": "string" 1054 | } 1055 | ] 1056 | }, 1057 | "method": "PATCH", 1058 | "header": [ 1059 | { 1060 | "key": "Content-Type", 1061 | "value": "application/json" 1062 | }, 1063 | { 1064 | "key": "Accept", 1065 | "value": "application/json" 1066 | }, 1067 | { 1068 | "key": "Cookie", 1069 | "value": "token=abc123" 1070 | } 1071 | ], 1072 | "body": { 1073 | "mode": "raw", 1074 | "raw": "{\n \"firstname\" : \"{{firstname}}\",\n \"lastname\" : \"{{lastname}}\"\n}" 1075 | }, 1076 | "url": { 1077 | "raw": "{{rb_url}}/booking/{{booking_id}}", 1078 | "host": [ 1079 | "{{rb_url}}" 1080 | ], 1081 | "path": [ 1082 | "booking", 1083 | "{{booking_id}}" 1084 | ] 1085 | } 1086 | }, 1087 | "response": [] 1088 | }, 1089 | { 1090 | "name": "Invalid Patch", 1091 | "event": [ 1092 | { 1093 | "listen": "prerequest", 1094 | "script": { 1095 | "id": "d41d9c0c-c456-4394-aff2-71ca18fe5dcd", 1096 | "exec": [ 1097 | "// create the base booking", 1098 | "const createBooking = {", 1099 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 1100 | " method: 'POST',", 1101 | " header: 'Content-Type:application/json',", 1102 | " body: {", 1103 | " mode: 'raw',", 1104 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 1105 | " }", 1106 | "};", 1107 | "pm.sendRequest(createBooking, function (err, res) {", 1108 | " pm.expect(err).is.null;", 1109 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 1110 | "});" 1111 | ], 1112 | "type": "text/javascript" 1113 | } 1114 | }, 1115 | { 1116 | "listen": "test", 1117 | "script": { 1118 | "id": "f306c460-57fc-4ab6-bd34-6bbe86ac1d97", 1119 | "exec": [ 1120 | "pm.test(\"Patch fails\", function () {", 1121 | " pm.response.to.not.have.success;", 1122 | "});", 1123 | "", 1124 | "pm.sendRequest(pm.environment.get(\"rb_url\") + \"/booking/\" + pm.variables.get(\"booking_id\"), function (err, res) {", 1125 | " if (err) { console.log(err); }", 1126 | " pm.test('Booking is unchanged', function () {", 1127 | " pm.expect(err).to.equal(null);", 1128 | " pm.expect(res.text()).to.include(pm.variables.get(\"firstname\"));", 1129 | " });", 1130 | "});" 1131 | ], 1132 | "type": "text/javascript" 1133 | } 1134 | } 1135 | ], 1136 | "request": { 1137 | "auth": { 1138 | "type": "basic", 1139 | "basic": [ 1140 | { 1141 | "key": "password", 1142 | "value": "password123", 1143 | "type": "string" 1144 | }, 1145 | { 1146 | "key": "username", 1147 | "value": "admin", 1148 | "type": "string" 1149 | } 1150 | ] 1151 | }, 1152 | "method": "PATCH", 1153 | "header": [ 1154 | { 1155 | "key": "Content-Type", 1156 | "value": "application/json" 1157 | }, 1158 | { 1159 | "key": "Accept", 1160 | "value": "application/json" 1161 | }, 1162 | { 1163 | "key": "Cookie", 1164 | "value": "token=abc123" 1165 | } 1166 | ], 1167 | "body": { 1168 | "mode": "raw", 1169 | "raw": "{\n \"firstname\" : null,\n \"lastname\" : \"{{lastname}}\"\n}" 1170 | }, 1171 | "url": { 1172 | "raw": "{{rb_url}}/booking/{{booking_id}}", 1173 | "host": [ 1174 | "{{rb_url}}" 1175 | ], 1176 | "path": [ 1177 | "booking", 1178 | "{{booking_id}}" 1179 | ] 1180 | } 1181 | }, 1182 | "response": [] 1183 | } 1184 | ] 1185 | }, 1186 | { 1187 | "name": "Ping", 1188 | "event": [ 1189 | { 1190 | "listen": "test", 1191 | "script": { 1192 | "id": "63b6f724-102f-4d03-8675-f30f5f3a988b", 1193 | "exec": [ 1194 | "pm.test(\"Ping is successful\", function () {", 1195 | " pm.response.to.be.success;", 1196 | "});" 1197 | ], 1198 | "type": "text/javascript" 1199 | } 1200 | } 1201 | ], 1202 | "request": { 1203 | "method": "GET", 1204 | "header": [], 1205 | "body": { 1206 | "mode": "raw", 1207 | "raw": "" 1208 | }, 1209 | "url": { 1210 | "raw": "{{rb_url}}/ping", 1211 | "host": [ 1212 | "{{rb_url}}" 1213 | ], 1214 | "path": [ 1215 | "ping" 1216 | ] 1217 | } 1218 | }, 1219 | "response": [] 1220 | }, 1221 | { 1222 | "name": "Auth", 1223 | "event": [ 1224 | { 1225 | "listen": "test", 1226 | "script": { 1227 | "id": "cd2ebd72-b117-48c1-aaea-eb85c0c8753c", 1228 | "exec": [ 1229 | "pm.test(\"Status code is 200\", function () {", 1230 | " pm.response.to.have.status(200);", 1231 | "});", 1232 | "", 1233 | "pm.test(\"Response contains token\", function () {", 1234 | " var jsonData = pm.response.json();", 1235 | " pm.expect(jsonData).to.have.property(\"token\");", 1236 | "});" 1237 | ], 1238 | "type": "text/javascript" 1239 | } 1240 | } 1241 | ], 1242 | "request": { 1243 | "method": "POST", 1244 | "header": [ 1245 | { 1246 | "key": "Content-Type", 1247 | "value": "application/json" 1248 | } 1249 | ], 1250 | "body": { 1251 | "mode": "raw", 1252 | "raw": "{\n \"username\" : \"admin\",\n \"password\" : \"password123\"\n}" 1253 | }, 1254 | "url": { 1255 | "raw": "{{rb_url}}/auth", 1256 | "host": [ 1257 | "{{rb_url}}" 1258 | ], 1259 | "path": [ 1260 | "auth" 1261 | ] 1262 | } 1263 | }, 1264 | "response": [] 1265 | }, 1266 | { 1267 | "name": "Delete Booking", 1268 | "event": [ 1269 | { 1270 | "listen": "prerequest", 1271 | "script": { 1272 | "id": "d27455dc-a367-4d1f-890f-f5fea189d0ff", 1273 | "exec": [ 1274 | "// create the base booking", 1275 | "const createBooking = {", 1276 | " url: pm.environment.get(\"rb_url\") + \"/booking\",", 1277 | " method: 'POST',", 1278 | " header: 'Content-Type:application/json',", 1279 | " body: {", 1280 | " mode: 'raw',", 1281 | " raw: JSON.stringify(pm.variables.get(\"new_booking\"))", 1282 | " }", 1283 | "};", 1284 | "pm.sendRequest(createBooking, function (err, res) {", 1285 | " pm.expect(err).is.null;", 1286 | " pm.variables.set(\"booking_id\", res.json().bookingid)", 1287 | "});" 1288 | ], 1289 | "type": "text/javascript" 1290 | } 1291 | }, 1292 | { 1293 | "listen": "test", 1294 | "script": { 1295 | "id": "6057ab1f-a1bc-4186-bfab-4d0cd2d6ff9f", 1296 | "exec": [ 1297 | "pm.test(\"Status code is 200\", function () {", 1298 | " pm.response.to.have.status(200);", 1299 | "});", 1300 | "", 1301 | "", 1302 | "pm.sendRequest(pm.environment.get(\"rb_url\") + \"/booking/\" + pm.variables.get(\"booking_id\"), function (err, res) {", 1303 | " if (err) { console.log(err); }", 1304 | " pm.test('Booking no longer exists', function () {", 1305 | " pm.expect(err).to.equal(null);", 1306 | " pm.expect(res.code).to.eql(404);", 1307 | " });", 1308 | "});" 1309 | ], 1310 | "type": "text/javascript" 1311 | } 1312 | } 1313 | ], 1314 | "request": { 1315 | "auth": { 1316 | "type": "basic", 1317 | "basic": [ 1318 | { 1319 | "key": "password", 1320 | "value": "password123", 1321 | "type": "string" 1322 | }, 1323 | { 1324 | "key": "username", 1325 | "value": "admin", 1326 | "type": "string" 1327 | } 1328 | ] 1329 | }, 1330 | "method": "DELETE", 1331 | "header": [ 1332 | { 1333 | "key": "Content-Type", 1334 | "value": "application/json" 1335 | }, 1336 | { 1337 | "key": "Cookie", 1338 | "value": "token=abc123" 1339 | } 1340 | ], 1341 | "body": {}, 1342 | "url": { 1343 | "raw": "{{rb_url}}/booking/{{booking_id}}", 1344 | "host": [ 1345 | "{{rb_url}}" 1346 | ], 1347 | "path": [ 1348 | "booking", 1349 | "{{booking_id}}" 1350 | ] 1351 | } 1352 | }, 1353 | "response": [] 1354 | } 1355 | ], 1356 | "event": [ 1357 | { 1358 | "listen": "prerequest", 1359 | "script": { 1360 | "id": "858f0d4e-0d8a-4587-a962-f5d8f2446884", 1361 | "type": "text/javascript", 1362 | "exec": [ 1363 | "// top names of 1996", 1364 | "var firstNames = [\"Emily\",\"Michael\", \"Jessica\",\"Matthew\", \"Ashley\",", 1365 | "\"Jacob\",\"Sarah\",\"Christopher\",\"Samantha\",\"Joshua\",", 1366 | "\"Taylor\",\"Nicholas\",\"Hannah\",\"Tyler\",\"Alexis\",", 1367 | "\"Brandon\",\"Rachel\",\"Austin\",\"Elizabeth\",\"Andrew\"];", 1368 | "", 1369 | "// top surnames in the U.S.", 1370 | "var lastNames = [\"Smith\", \"Johnson\", \"Williams\", \"Jones\", \"Brown\", ", 1371 | "\"Davis\", \"Miller\", \"Wilson\", \"Moore\", \"Taylor\", ", 1372 | "\"Anderson\", \"Thomas\", \"Jackson\", \"White\", \"Harris\", ", 1373 | "\"Martin\", \"Thompson\", \"Garcia\", \"Martinez\", \"Robinson\"];", 1374 | "", 1375 | "// randomly select first and last names then add to collection variables", 1376 | "pm.variables.set(\"firstname\", firstNames[_.random(firstNames.length - 1)]);", 1377 | "pm.variables.set(\"lastname\", lastNames[_.random(lastNames.length - 1)]);", 1378 | "", 1379 | "// the random function comes from the loadash module (\"_.\")", 1380 | "// https://lodash.com/docs/4.17.11#random", 1381 | "pm.variables.set(\"totalprice\", _.random(50, 250));", 1382 | "pm.variables.set(\"depositpaid\", (_.random(1) === 1));", 1383 | "", 1384 | "// the moment module helps with date manipulation and formatting", 1385 | "const moment = require(\"moment\");", 1386 | "var checkin = moment().add(\"days\", _.random(1, 180));", 1387 | "pm.variables.set(\"checkin\", checkin.format(\"YYYY-MM-DD\"));", 1388 | "", 1389 | "var checkout = checkin.add(\"days\", _.random(1, 14));", 1390 | "pm.variables.set(\"checkout\", checkout.format(\"YYYY-MM-DD\"));", 1391 | "", 1392 | "var needs = [\"breakfast\", \"lunch\", \"early checkin\", \"late checkout\", null];", 1393 | "pm.variables.set(\"additionalneeds\", needs[_.random(needs.length-1)]);", 1394 | "", 1395 | "// put all the selected variables into a new booking object and save to a variable", 1396 | "var booking = {", 1397 | " \"firstname\" : pm.variables.get(\"firstname\"),", 1398 | " \"lastname\" : pm.variables.get(\"lastname\"),", 1399 | " \"totalprice\" : pm.variables.get(\"totalprice\"),", 1400 | " \"depositpaid\" : pm.variables.get(\"depositpaid\"),", 1401 | " \"bookingdates\" : {", 1402 | " \"checkin\" : pm.variables.get(\"checkin\"),", 1403 | " \"checkout\" : pm.variables.get(\"checkout\")", 1404 | " },", 1405 | " \"additionalneeds\" : pm.variables.get(\"additionalneeds\")", 1406 | "}", 1407 | "pm.variables.set(\"new_booking\", booking)" 1408 | ] 1409 | } 1410 | }, 1411 | { 1412 | "listen": "test", 1413 | "script": { 1414 | "id": "da1316f6-9655-441e-bd27-8abc3715f398", 1415 | "type": "text/javascript", 1416 | "exec": [ 1417 | "" 1418 | ] 1419 | } 1420 | } 1421 | ] 1422 | } 1423 | 1424 | 1425 | --------------------------------------------------------------------------------