Best Python code snippet using playwright-python
crypto_handlers.py
Source:crypto_handlers.py
...10 """11 def __init__(self, next_handler=None):12 self.next_handler = next_handler13 @abstractmethod14 def handle_request(self, request: Request) -> bool:15 """16 Each handler would have a specific implementation of how it17 processes a request. This base handler will forward the request18 to the next handler if any and return its result. Otherwise19 return True, indicating the request was handled successfully.20 :param request: a Request21 :return: a boolean indicating the status of the handlers processing22 """23 if not self.next_handler:24 return True25 return self.next_handler.handle_request(request)26class ValidateKeyHandler(BaseHandler):27 """28 This handler is responsible for validating the key in the request to29 make sure it is valid for DES encryption or decryption.30 """31 def handle_request(self, request: Request) -> bool:32 """33 Ensures the key has a length of 8, 16, or 24 characters.34 :param request: a Request35 :return: a bool36 """37 key_length = len(request.key)38 if key_length in [8, 16, 24]:39 return super().handle_request(request)40 return False41class ReadFileHandler(BaseHandler):42 """43 This handler is responsible for reading data from a file and saving44 the result in the Request.data_input field.45 """46 def handle_request(self, request: Request) -> bool:47 """48 Reads the file in the right mode based on the attributes of the49 Request object and saves the result in the Request.data_input50 field.51 :param request: a Request52 :return: a bool53 """54 modes = {55 IOMode.TEXT_FILE: 'r',56 IOMode.BINARY_FILE: 'rb',57 }58 with open(request.input_file, mode=modes[request.input_mode]) as file:59 request.data_input = file.read()60 return super().handle_request(request)61class WriteFileHandler(BaseHandler):62 """63 This class is responsible for writing data from the Request.result64 attribute to a file.65 """66 def handle_request(self, request: Request) -> bool:67 """68 Writes the file in the right mode based on the attributes of the69 Request object.70 :param request: a Request71 :return: a bool72 """73 modes = {74 IOMode.TEXT_FILE: 'w',75 IOMode.BINARY_FILE: 'wb',76 }77 with open(request.output_file, mode=modes[request.output_mode]) \78 as file:79 file.write(request.result)80 return super().handle_request(request)81class EncryptionHandler(BaseHandler):82 """83 This handler is responsible for encrypting the data in request using84 the DES algorithm.85 """86 def handle_request(self, request: Request) -> bool:87 """88 Encrypts the data in the Request.data_input field and stores the89 result in Request.result field.90 :param request: a Request91 :return: a bool92 """93 bin_key = request.key.encode('utf-8')94 des_key = des.DesKey(bin_key)95 bin_data_input = request.data_input.encode('utf-8')96 encrypted_data = des_key.encrypt(bin_data_input, padding=True)97 request.result = encrypted_data98 return super().handle_request(request)99class DecryptionHandler(BaseHandler):100 """101 This handler is responsible for decrypting the data in request using102 the DES algorithm.103 """104 def handle_request(self, request: Request) -> bool:105 """106 Decrypts the data in the Request.data_input field and stores the107 result in Request.result field.108 :param request: a Request109 :return: a bool110 """111 bin_key = request.key.encode('utf-8')112 des_key = des.DesKey(bin_key)113 decrypted_data = des_key.decrypt(request.data_input, padding=True)114 request.result = decrypted_data.decode('utf-8')115 return super().handle_request(request)116class OutputHandler(BaseHandler):117 """118 This handler is responsible for printing the result data to the119 console.120 """121 def handle_request(self, request: Request) -> bool:122 """123 Prints the result to the console.124 :param request: a Request125 :return: a bool126 """127 print(request.result)...
views.py
Source:views.py
...25from .handlers import daily_db_update_handler26from .handlers import change_daily_db_update_time_handler27from .handlers import grouped_cve_matches_handler28def sign_in(request):29 return sign_in_handler.handle_request(request)30def index(request):31 if USER_SESSION_KEY in request.session:32 return index_handler.handle_request(request)33 return sign_in(request)34def assign_cpe(request):35 if USER_SESSION_KEY in request.session:36 return assign_cpe_handler.handle_request(request)37 return sign_in(request)38def search_cves(request):39 if USER_SESSION_KEY in request.session:40 return search_cves_handler.handle_request(request)41 return sign_in(request)42def cve_matches(request):43 if USER_SESSION_KEY in request.session:44 return cve_matches_handler.handle_request(request)45 return sign_in(request)46def new_software(request):47 if USER_SESSION_KEY in request.session:48 return new_software_handler.handle_request(request)49 return sign_in(request)50def sw_products_with_cpe(request):51 if USER_SESSION_KEY in request.session:52 return sw_products_with_cpe_handler.handle_request(request)53 return sign_in(request)54def alerts(request):55 if USER_SESSION_KEY in request.session:56 return alerts_handler.handle_request(request)57 return sign_in(request)58def cpe_wfn(request):59 if USER_SESSION_KEY in request.session:60 return cpe_wfn_handler.handle_request(request)61 return sign_in(request)62def compare_cpe(request):63 if USER_SESSION_KEY in request.session:64 return compare_cpe_handler.handle_request(request)65 return sign_in(request)66def modify_cpe(request):67 if USER_SESSION_KEY in request.session:68 return modify_cpe_handler.handle_request(request)69 return sign_in(request)70def alert_log(request):71 if USER_SESSION_KEY in request.session:72 return alert_log_handler.handle_request(request)73 return sign_in(request)74def alert_notes(request):75 if USER_SESSION_KEY in request.session:76 return alert_notes_handler.handle_request(request)77 return sign_in(request)78def alert_status(request):79 if USER_SESSION_KEY in request.session:80 return alert_status_handler.handle_request(request)81 return sign_in(request)82def users(request):83 if USER_SESSION_KEY in request.session:84 return users_handler.handle_request(request)85 return sign_in(request)86def add_user(request):87 if USER_SESSION_KEY in request.session:88 return add_user_handler.handle_request(request)89 return sign_in(request)90def change_user_pwd(request):91 if USER_SESSION_KEY in request.session:92 return change_user_pwd_handler.handle_request(request)93 return sign_in(request)94def modify_user(request):95 if USER_SESSION_KEY in request.session:96 return modify_user_handler.handle_request(request)97 return sign_in(request)98def local_repositories(request):99 if USER_SESSION_KEY in request.session:100 return daily_db_update_handler.handle_request(request)101 return sign_in(request)102def change_daily_db_update_time(request):103 if USER_SESSION_KEY in request.session:104 return change_daily_db_update_time_handler.handle_request(request)105 return sign_in(request)106def grouped_cve_matches(request):107 if USER_SESSION_KEY in request.session:108 return grouped_cve_matches_handler.handle_request(request)...
pattern_chain_responsibility.py
Source:pattern_chain_responsibility.py
...68 return False69class Handler:70 def __init__(self, successor=None):71 self._successor = successor72 def handle_request(self, car):73 if not car.is_fine() and self._successor is not None:74 self._successor.handle_request(car)75class WaterHandler(Handler):76 def handle_request(self, car):77 if car.water < 20:78 car.water = 10079 print('Added water')80 super().handle_request(car)81class FuelHandler(Handler):82 def handle_request(self, car):83 if car.fuel < 5:84 car.fuel = 10085 print('Added fuel')86 super().handle_request(car)87class OilHandler(Handler):88 def handle_request(self, car):89 if car.oil < 10:90 car.oil = 10091 print('Added oil')92 super().handle_request(car)93garage_handler = OilHandler(FuelHandler(WaterHandler()))94car = Car('mycar',1,1,1)95garage_handler.handle_request(car)96car = Car('mycar',5,5,5)97garage_handler.handle_request(car)98car = Car('mycar',10,10,10)99garage_handler.handle_request(car)100# Added oil101# Added fuel102# Added water103# Car is good to go104# Added oil105# Added water106# Car is good to go107# Added water...
test_app.py
Source:test_app.py
...9class TestApp(TestCase):10 def setUp(self):11 self.gw = LocalGateway(app, Config())12 def test_pangram_good(self):13 response = self.gw.handle_request(method='GET',14 path='/pangram/thequickbrownfoxjumpsoverthelazydog',15 headers={},16 body='')17 assert response['statusCode'] == 20018 assert json.loads(response['body']) == dict(pangram=True)19 def test_pangram_bad(self):20 response = self.gw.handle_request(method='GET',21 path='/pangram/thequickbrownfoxjumpsoverthelazy',22 headers={},23 body='')24 assert response['statusCode'] == 20025 assert json.loads(response['body']) == dict(pangram=False)26 def test_pangram_mixed_input(self):27 response = self.gw.handle_request(method='GET',28 path='/pangram/the1quick2brown3fox4jumps5over6the7lazy8dog9',29 headers={},30 body='')31 assert response['statusCode'] == 20032 assert json.loads(response['body']) == dict(pangram=True)33 def test_pangram_mixed_input_extended(self):34 response = self.gw.handle_request(method='GET',35 path='/pangram/the1qu%40ick2bro%24wn3fox4jum%25ps5ov%5Eer6the7la%2Azy8dog9',36 headers={},37 body='')38 assert response['statusCode'] == 20039 assert json.loads(response['body']) == dict(pangram=True)40 def test_pangram2_good(self):41 response = self.gw.handle_request(method='GET',42 path='/pangram2/thequickbrownfoxjumpsoverthelazydog',43 headers={},44 body='')45 assert response['statusCode'] == 20046 assert json.loads(response['body']) == dict(pangram=True)47 def test_pangram2_bad(self):48 response = self.gw.handle_request(method='GET',49 path='/pangram2/thequickbrownfoxjumpsoverthelazy',50 headers={},51 body='')52 assert response['statusCode'] == 20053 assert json.loads(response['body']) == dict(pangram=False)54 def test_pangram2_mixed_input(self):55 response = self.gw.handle_request(method='GET',56 path='/pangram2/the1quick2brown3fox4jumps5over6the7lazy8dog9',57 headers={},58 body='')59 assert response['statusCode'] == 20060 assert json.loads(response['body']) == dict(pangram=True)61 def test_pangram2_mixed_input_extended(self):62 response = self.gw.handle_request(method='GET',63 path='/pangram2/the1qu%40ick2bro%24wn3fox4jum%25ps5ov%5Eer6the7la%2Azy8dog9',64 headers={},65 body='')66 assert response['statusCode'] == 200...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!