ussl_basic.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # very basic test of ssl module, just to test the methods exist
  2. try:
  3. import uio as io
  4. import ussl as ssl
  5. except ImportError:
  6. print("SKIP")
  7. raise SystemExit
  8. # create in client mode
  9. try:
  10. ss = ssl.wrap_socket(io.BytesIO())
  11. except OSError as er:
  12. print('wrap_socket:', repr(er))
  13. # create in server mode (can use this object for further tests)
  14. socket = io.BytesIO()
  15. ss = ssl.wrap_socket(socket, server_side=1)
  16. # print
  17. print(repr(ss)[:12])
  18. # setblocking
  19. try:
  20. ss.setblocking(False)
  21. except NotImplementedError:
  22. print('setblocking: NotImplementedError')
  23. ss.setblocking(True)
  24. # write
  25. print(ss.write(b'aaaa'))
  26. # read (underlying socket has no data)
  27. print(ss.read(8))
  28. # read (underlying socket has data, but it's bad data)
  29. socket.write(b'aaaaaaaaaaaaaaaa')
  30. socket.seek(0)
  31. try:
  32. ss.read(8)
  33. except OSError as er:
  34. print('read:', repr(er))
  35. # close
  36. ss.close()
  37. # close 2nd time
  38. ss.close()
  39. # read on closed socket
  40. try:
  41. ss.read(10)
  42. except OSError as er:
  43. print('read:', repr(er))
  44. # write on closed socket
  45. try:
  46. ss.write(b'aaaa')
  47. except OSError as er:
  48. print('write:', repr(er))