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!!
