mirror of
				https://github.com/jtesta/ssh-audit.git
				synced 2025-10-30 21:15:27 +01:00 
			
		
		
		
	Refactor outer functions within classes.
Use mypy strict optional checks and fix them. Use better comparison for compatiblity output. Add initial socket tests.
This commit is contained in:
		
							
								
								
									
										796
									
								
								ssh-audit.py
									
									
									
									
									
								
							
							
						
						
									
										796
									
								
								ssh-audit.py
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -7,4 +7,4 @@ if [ $? -ne 0 ]; then | ||||
| fi | ||||
| _htmldir="${_cdir}/../html/mypy-py2" | ||||
| mkdir -p "${_htmldir}" | ||||
| mypy --python-version 2.7 --config-file "${_cdir}/mypy.ini" --html-report "${_htmldir}" "${_cdir}/../ssh-audit.py" | ||||
| mypy --python-version 2.7 --strict-optional --config-file "${_cdir}/mypy.ini" --html-report "${_htmldir}" "${_cdir}/../ssh-audit.py" | ||||
|   | ||||
| @@ -7,4 +7,4 @@ if [ $? -ne 0 ]; then | ||||
| fi | ||||
| _htmldir="${_cdir}/../html/mypy-py3" | ||||
| mkdir -p "${_htmldir}" | ||||
| mypy --python-version 3.5 --config-file "${_cdir}/mypy.ini" --html-report "${_htmldir}" "${_cdir}/../ssh-audit.py" | ||||
| mypy --python-version 3.5 --strict-optional --config-file "${_cdir}/mypy.ini" --html-report "${_htmldir}" "${_cdir}/../ssh-audit.py" | ||||
|   | ||||
							
								
								
									
										41
									
								
								test/test_socket.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								test/test_socket.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| #!/usr/bin/env python | ||||
| # -*- coding: utf-8 -*- | ||||
| import socket | ||||
| import pytest | ||||
|  | ||||
|  | ||||
| # pylint: disable=attribute-defined-outside-init | ||||
| class TestSocket(object): | ||||
| 	@pytest.fixture(autouse=True) | ||||
| 	def init(self, ssh_audit): | ||||
| 		self.ssh = ssh_audit.SSH | ||||
| 	 | ||||
| 	def test_invalid_host(self, virtual_socket): | ||||
| 		with pytest.raises(ValueError): | ||||
| 			s = self.ssh.Socket(None, 22) | ||||
| 	 | ||||
| 	def test_invalid_port(self, virtual_socket): | ||||
| 		with pytest.raises(ValueError): | ||||
| 			s = self.ssh.Socket('localhost', 'abc') | ||||
| 		with pytest.raises(ValueError): | ||||
| 			s = self.ssh.Socket('localhost', -1) | ||||
| 		with pytest.raises(ValueError): | ||||
| 			s = self.ssh.Socket('localhost', 0) | ||||
| 		with pytest.raises(ValueError): | ||||
| 			s = self.ssh.Socket('localhost', 65536) | ||||
| 	 | ||||
| 	def test_not_connected_socket(self, virtual_socket): | ||||
| 		sock = self.ssh.Socket('localhost', 22) | ||||
| 		banner, header, err = sock.get_banner() | ||||
| 		assert banner is None | ||||
| 		assert len(header) == 0 | ||||
| 		assert err == 'not connected' | ||||
| 		s, e = sock.recv() | ||||
| 		assert s == -1 | ||||
| 		assert e == 'not connected' | ||||
| 		s, e = sock.send('nothing') | ||||
| 		assert s == -1 | ||||
| 		assert e == 'not connected' | ||||
| 		s, e = sock.send_packet() | ||||
| 		assert s == -1 | ||||
| 		assert e == 'not connected' | ||||
		Reference in New Issue
	
	Block a user
	 Andris Raugulis
					Andris Raugulis