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 | fi | ||||||
| _htmldir="${_cdir}/../html/mypy-py2" | _htmldir="${_cdir}/../html/mypy-py2" | ||||||
| mkdir -p "${_htmldir}" | 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 | fi | ||||||
| _htmldir="${_cdir}/../html/mypy-py3" | _htmldir="${_cdir}/../html/mypy-py3" | ||||||
| mkdir -p "${_htmldir}" | 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