Best Python code snippet using localstack_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...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!