Best Python code snippet using molotov_python
test_blocks_request.py
Source: test_blocks_request.py
1from fuzzowski import constants2from fuzzowski.mutants.spike import *3import hashlib4import pytest5def test_request_spike():6 s_initialize('request_test_complex')7 with s_block('b0'):8 with s_block('b1'):9 s_string(b'str1', name='str1')10 s_static(b' ')11 s_checksum('b1', algorithm='md5', output_format='hex', name='md5_b1')12 s_delim(b':')13 s_size('b0', inclusive=True, output_format='binary', length=4, endian=constants.BIG_ENDIAN)14 s_byte(b'\xff')15 s_static(b'.')16 s_variable('var1', b'NOTSET')17 s_repeat('b0', min_reps=0, max_reps=2)18 request = s_get('request_test_complex')19 b1_rendered = (b'str1 '20 + hashlib.md5(b'str1 ').digest().hex().encode('utf-8')21 + b':')22 assert request.render() == (b1_rendered23 + b'\x00\x00\x00\x2a'24 + b'\xff'25 + b'.'26 + b'NOTSET')27 request.goto(request.num_mutations) # last mutation28 assert request.render() == (b1_rendered29 + b'\x00\x00\x00\x2a'30 + b'\xff'31 + b'.'32 + b'NOTSET'33 + b1_rendered * 2)34 request.reset()35 request.variables['var1'] = b'SET!!!'36 assert request.render() == (b1_rendered37 + b'\x00\x00\x00\x2a'38 + b'\xff'39 + b'.'40 + b'SET!!!')41def test_request_reset():42 s_initialize('request_test_simple')43 s_mutant(b'A', name='mutant21', mutations=[b'B', b'C', b'D'])44 s_mutant(b'W', name='mutant22', mutations=[b'X', b'Y', b'Z'])45 test_request = s_get('request_test_simple')46 assert test_request.render() == b'AW'47 assert test_request.mutant_index == 048 assert next(test_request) == b'BW' == test_request.render()49 assert test_request.mutant_index == 150 assert next(test_request) == b'CW' == test_request.render()51 assert test_request.mutant_index == 252 assert test_request.mutant.name == 'mutant21'53 assert next(test_request) == b'DW' == test_request.render()54 assert test_request.mutant_index == 355 assert test_request.mutant.name == 'mutant21'56 assert next(test_request) == b'AX' == test_request.render()57 assert test_request.mutant_index == 458 assert test_request.mutant.name == 'mutant22'59 assert next(test_request) == b'AY' == test_request.render()60 assert test_request.mutant_index == 561 assert next(test_request) == b'AZ' == test_request.render()62 assert test_request.mutant_index == 663 assert test_request.mutant.name == 'mutant22'64 with pytest.raises(StopIteration):65 next(test_request)66 assert test_request.mutant_index == 067 assert test_request.render() == b'AW'68 assert test_request.mutant is None69 assert next(test_request) == b'BW' == test_request.render()70 assert test_request.mutant_index == 171 assert test_request.mutant.name == 'mutant21'72 test_request.reset()73 assert test_request.mutant_index == 074 assert test_request.render() == b'AW'75 assert test_request.mutant is None76 assert next(test_request) == b'BW' == test_request.render()77 assert test_request.mutant_index == 178 assert test_request.mutant.name == 'mutant21'79def test_request_goto():80 s_initialize('request_test_simple2')81 s_mutant(b'A', name='mutant21', mutations=[b'B', b'C', b'D'])82 s_mutant(b'W', name='mutant22', mutations=[b'X', b'Y', b'Z'])83 test_request = s_get('request_test_simple2')84 assert test_request.render() == b'AW'85 assert test_request.mutant_index == 086 assert next(test_request) == b'BW' == test_request.render()87 assert test_request.mutant_index == 188 assert next(test_request) == b'CW' == test_request.render()89 assert test_request.mutant_index == 290 assert test_request.mutant.name == 'mutant21'91 assert next(test_request) == b'DW' == test_request.render()92 assert test_request.mutant_index == 393 assert test_request.mutant.name == 'mutant21'94 assert next(test_request) == b'AX' == test_request.render()95 assert test_request.mutant_index == 496 assert test_request.mutant.name == 'mutant22'97 assert next(test_request) == b'AY' == test_request.render()98 assert test_request.mutant_index == 599 assert next(test_request) == b'AZ' == test_request.render()100 assert test_request.mutant_index == 6101 assert test_request.mutant.name == 'mutant22'102 with pytest.raises(StopIteration):103 next(test_request)104 assert test_request.mutant_index == 0105 assert test_request.render() == b'AW'106 assert test_request.mutant is None107 assert next(test_request) == b'BW' == test_request.render()108 assert test_request.mutant_index == 1109 assert test_request.mutant.name == 'mutant21'110 test_request.reset()111 assert test_request.mutant_index == 0112 assert test_request.render() == b'AW'113 assert test_request.mutant is None114 assert next(test_request) == b'BW' == test_request.render()115 assert test_request.mutant_index == 1116 assert test_request.mutant.name == 'mutant21'117def test_request_movements():118 s_initialize('request_test_complex2')119 with s_block('b0'):120 with s_block('b1'):121 s_string(b'str1', name='str1')122 s_static(b' ')123 s_checksum('b1', algorithm='md5', output_format='hex', name='md5_b1')124 s_delim(b':')125 s_size('b0', inclusive=True, output_format='binary', length=4, endian=constants.BIG_ENDIAN)126 s_byte(b'\xff')127 s_static(b'.')128 s_variable('var1', b'NOTSET')129 s_repeat('b0', min_reps=0, max_reps=2)130 request = s_get('request_test_complex2')131 i=0132 for mutation in request:133 i+=1134 assert request.mutant_index == i135 assert request.mutant.mutant_index != 0136 for item in request.stack:137 if item != request.mutant:138 if not isinstance(item, blocks.Block):139 assert item.mutant_index == 0140 else:141 assert item.mutant_index != 0142 for item in request.stack:...
file_server_test.py
Source: file_server_test.py
...16 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);17 s.connect(('localhost',8080));18 s.setsockopt(socket.IPPROTO_TCP,socket.TCP_NODELAY,1)19 return s;20def test_request(url,status,content='ignore',valid=[],notvalid=[]):21 print "-- Testing %s" % url22 s=make_sock();23 s.send('GET %s HTTP/1.0\r\n\r\n' % url);24 text = ''25 while 1:26 tmp = s.recv(1000);27 if len(tmp) == 0:28 break;29 text = text + tmp;30 exp = 'HTTP/1.0 ' + str(status) + ' '31 test(text[:len(exp)]==exp)32 parts = text.split('\r\n\r\n');33 real_content = ''34 if len(parts)>=2:35 real_content = parts[1]36 if content != 'ignore':37 test(real_content == content + '\n')38 for v in valid:39 test(real_content.find(v) >= 0)40 for v in notvalid:41 test(real_content.find(v) == -1)42do_listing = False 43if len(sys.argv) == 2:44 do_listing = sys.argv[1] == 'listing'45print "- Testing normal requests"46if not do_listing:47 test_request('/',404)48else:49 test_request('/',200,valid=['foo/','bar/','test.txt'],notvalid=['..','test.txt/','.svn'])50 51test_request('/test.txt',200,'/test.txt')52test_request('/foo/test.txt',200,'/foo/test.txt')53test_request('/bar/test.txt',200,'/bar/test.txt')54test_request('/bar/index.html',200,'/bar/index.html')55test_request('/bar/',200,'/bar/index.html')56test_request('/bar',302)57if not do_listing:58 test_request('/foo',404)59 test_request('/foo/',404)60else:61 test_request('/foo',302)62 test_request('/foo/',200,valid=['..','ooooooong_fiiiiii']);63test_request('/file+with+space.txt',200,'file with space')64test_request('/file%20with%20space.txt',200,'file with space')65print "- Testing alias"66test_request('/alias',302)67test_request('/alias/',200,'/al/index.html')68test_request('/alias/test.txt',200,'/al/test.txt')69test_request('/alias/foo/test.txt',200,'/al/foo/test.txt')70if os.name == 'posix':71 print "- Testing symlinks"72 test_request('/no.txt',404)73 test_request('/yes.txt',200,'/yes')74print "- Testing directory traversal"75test_request('/foo/../bar/test.txt',200,'/bar/test.txt')76test_request('/../al/test.txt','404')77test_request('/../never.txt','404')78test_request('/../www/test.txt','404')79test_request('/../wwwfile.txt','404')80test_request('/aliasfile.txt',404)81test_request('/../alias/never.txt','404')82test_request('/%2e%2e/never.txt','404')...
Check out the latest blogs from LambdaTest on this topic:
How do we acquire knowledge? This is one of the seemingly basic but critical questions you and your team members must ask and consider. We are experts; therefore, we understand why we study and what we should learn. However, many of us do not give enough thought to how we learn.
The best agile teams are built from people who work together as one unit, where each team member has both the technical and the personal skills to allow the team to become self-organized, cross-functional, and self-motivated. These are all big words that I hear in almost every agile project. Still, the criteria to make a fantastic agile team are practically impossible to achieve without one major factor: motivation towards a common goal.
Greetings folks! With the new year finally upon us, we’re excited to announce a collection of brand-new product updates. At LambdaTest, we strive to provide you with a comprehensive test orchestration and execution platform to ensure the ultimate web and mobile experience.
One of the most important tasks of a software developer is not just writing code fast; it is the ability to find what causes errors and bugs whenever you encounter one and the ability to solve them quickly.
With the rising demand for new services and technologies in the IT, manufacturing, healthcare, and financial sector, QA/ DevOps engineering has become the most important part of software companies. Below is a list of some characteristics to look for when interviewing a potential candidate.
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!!