How to use set_ssl method in yandex-tank

Best Python code snippet using yandex-tank

test_bio_ssl.py

Source:test_bio_ssl.py Github

copy

Full Screen

...22 cipher_list = conn.get_cipher_list()23 sslbio = BIO.SSLBio()24 readbio = BIO.MemoryBuffer()25 writebio = BIO.MemoryBuffer()26 sslbio.set_ssl(conn)27 conn.set_bio(readbio, writebio)28 conn.set_connect_state()29 sock = socket.socket()30 sock.connect((self.host, self.port))31 32 handshake_complete = False33 while not handshake_complete:34 ret = sslbio.do_handshake()35 if ret <= 0: 36 if not sslbio.should_retry() or not sslbio.should_read():37 err_string = Err.get_error() 38 print err_string39 sys.exit("unrecoverable error in handshake - client")40 else:41 output_token = writebio.read()42 if output_token is not None:43 sock.sendall(output_token)44 else: 45 input_token = sock.recv(1024)46 readbio.write(input_token) 47 else:48 handshake_complete = True 49 50 sock.close()51class SSLTestCase(unittest.TestCase):52 53 def setUp(self):54 self.sslbio = BIO.SSLBio()55 56 def test_pass(self): # XXX leaks 64/24 bytes57 pass58 def test_set_ssl(self): # XXX leaks 64/1312 bytes59 ctx = SSL.Context()60 conn = SSL.Connection(ctx)61 self.sslbio.set_ssl(conn)62 def test_do_handshake_fail(self): # XXX leaks 64/42066 bytes63 ctx = SSL.Context()64 conn = SSL.Connection(ctx)65 conn.set_connect_state()66 self.sslbio.set_ssl(conn)67 ret = self.sslbio.do_handshake() 68 assert ret == 0 69 def test_should_retry_fail(self): # XXX leaks 64/1312 bytes70 ctx = SSL.Context()71 conn = SSL.Connection(ctx) 72 self.sslbio.set_ssl(conn)73 ret = self.sslbio.do_handshake() 74 assert ret == -1 75 ret = self.sslbio.should_retry() 76 assert ret == 0 77 78 def test_should_write_fail(self): # XXX leaks 64/1312 bytes79 ctx = SSL.Context()80 conn = SSL.Connection(ctx) 81 self.sslbio.set_ssl(conn)82 ret = self.sslbio.do_handshake() 83 assert ret == -1 84 ret = self.sslbio.should_write() 85 assert ret == 0 86 87 def test_should_read_fail(self): # XXX leaks 64/1312 bytes88 ctx = SSL.Context()89 conn = SSL.Connection(ctx)90 self.sslbio.set_ssl(conn)91 ret = self.sslbio.do_handshake() 92 assert ret == -1 93 ret = self.sslbio.should_read() 94 assert ret == 0 95 96 def test_do_handshake_succeed(self): # XXX leaks 196/26586 bytes97 ctx = SSL.Context() 98 ctx.load_cert_chain("tests/server.pem")99 conn = SSL.Connection(ctx) 100 self.sslbio.set_ssl(conn)101 readbio = BIO.MemoryBuffer()102 writebio = BIO.MemoryBuffer()103 conn.set_bio(readbio, writebio)104 conn.set_accept_state()105 handshake_complete = False106 sock = socket.socket()107 sock.bind((srv_host, srv_port))108 sock.listen(5)109 handshake_client = HandshakeClient(srv_host, srv_port)110 handshake_client.start() 111 new_sock, addr = sock.accept()112 while not handshake_complete:113 input_token = new_sock.recv(1024)114 readbio.write(input_token)...

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run yandex-tank automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful