def test01_head(self): self.print_test_value("/", "HEAD", "01") for i in range(200): webserv = req.head(self.url_webserv + "/") self.tests = pt().test(str(webserv.status_code), "200", "Checking status code", self.tests) self.tests = pt().test(webserv.text, "", "Checking for empty content", self.tests)
def test_request_get_headers(self, headers): print(headers) webserv = req.get(self.url_webserv + "/", headers=headers) self.tests = pt().test(str(webserv.status_code), str(webserv.status_code), "Checking status code", self.tests) self.tests = pt().test(str(webserv.headers["Content-Length"]), str(len(webserv.text)), "Checking content-length", self.tests)
def test00_get(self): self.print_test_value("/", "GET / (Multiple Requests Synchronously)", "00") for i in range(200): webserv = req.get(self.url_webserv + "/") self.tests = pt().test(str(webserv.status_code), "200", "Checking status code", self.tests) self.tests = pt().test(str(webserv.headers["Content-Length"]), str(len(webserv.text)), "Checking content-length", self.tests)
def test04_put(self): self.print_test_value("/post/{number}", "PUT (modifying file)", "04") for i in range(200): webserv = req.put(self.url_webserv + "/post/" + str(i), data="put content") self.tests = pt().test(str(webserv.status_code), "201", "Checking status code", self.tests) webserv = req.get(self.url_webserv + "/post/" + str(i)) self.tests = pt().test(str(webserv.status_code), "200", "Checking status code", self.tests) self.tests = pt().test( webserv.text, "put content", "Checking content of get after put request", self.tests)
def test07_post(self): self.print_test_value("/{number}", "POST (creating file)", "07") for i in range(200): webserv = req.put(self.url_webserv + "/" + str(i), data="post content unchanged") self.tests = pt().test(str(webserv.status_code), "201", "Checking status code", self.tests) webserv = req.get(self.url_webserv + "/" + str(i)) self.tests = pt().test(str(webserv.status_code), "200", "Checking status code", self.tests) self.tests = pt().test( webserv.text, "post content unchanged", "Checking content of get after put request", self.tests)
def test01_get(self): reqs = [] self.print_test_value("/", "GET / (Multiple Requests Asynchronously)", "01") for i in range(10): reqs.append(greq.get(self.url_webserv + "/")) responses = greq.map(reqs, size=50) for webserv in responses: self.tests = pt().test(str(webserv.status_code), "200", "Checking status code", self.tests) self.tests = pt().test(str(webserv.headers["Content-Length"]), str(len(webserv.text)), "Checking content-length", self.tests)
def print_test_content(self, path, test_number): self.print_test_value(path, test_number) for i in range(200): nginx = req.get(self.url_nginx + path) webserv = req.get(self.url_webserv + path) self.tests = pt().test(str(webserv.status_code), str(nginx.status_code), "Checking status code", self.tests) self.tests = pt().test(webserv.headers['Content-Length'], str(len(webserv.text)), "Checking header Content-Length", self.tests) self.tests = pt().test(webserv.headers['Content-Type'], nginx.headers['Content-Type'], "Checking header Content-Type", self.tests)
def test_request_get_headers_length(self, headers, length): print("Current Header Length : " + str(length)) webserv = req.get(self.url_webserv + "/", headers=headers) nginx = req.get(self.url_nginx + "/", headers=headers) self.tests = pt().test(str(webserv.status_code), str(nginx.status_code), "Checking status code", self.tests)
def test02_get(self): self.print_test_value("/", "GET / (Huge payload)", "02") for i in range(50): rand = random.randint(1000, 100000000) data = "r" * rand webserv = req.get(self.url_webserv + "/", data=data) self.tests = pt().test(str(webserv.status_code), "200", "Body size : " + str(rand), self.tests)
def test06_delete(self): self.print_test_value("/post/{number}", "DELETE", "06") for i in range(200): test_url_webserv = self.url_webserv + "/post/" + str(i) res = req.get(test_url_webserv) self.tests = pt().test(str(res.status_code), "200", "Checking status code of get /" + str(i), self.tests) self.tests = pt().test(res.text, "put content", "Checking content of get /" + str(i), self.tests) webserv = req.delete(test_url_webserv) self.tests = pt().test(str(webserv.status_code), "204", "Checking status code of get /" + str(i), self.tests) res = req.get(test_url_webserv) self.tests = pt().test( str(res.status_code), "404", "Checking status code of get after deleting file", self.tests)
def print_test_throw(self, path, test_name, test_number): self.print_test_value(path, test_number) for i in range(200): throw_webserv = False throw_nginx = False try: nginx = req.get(self.url_nginx + path) except req.exceptions.RequestException as e: throw_nginx = True try: webserv = req.get(self.url_webserv + path) except req.exceptions.RequestException as e: throw_webserv = True self.tests = pt().test(str(throw_webserv), str(throw_nginx), test_name, self.tests)
def test00_trace(self): self.print_test_value("/", "TRACE", "00") webserv = req.request('TRACE', self.url_webserv + "/") self.tests = pt().test(str(webserv.status_code), "200", "Checking status code", self.tests)