-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_port_scanner.py
30 lines (24 loc) · 1.12 KB
/
test_port_scanner.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
"""
Test suite for simple python port scanner
"""
import io, sys, unittest
from port_scanner import PortScanner, ConcurrencyEngine
class TestPortScanner(unittest.TestCase):
def test_successfull_port_test_returns_true(self):
result = PortScanner(ConcurrencyEngine).test_port("python.org", 80)
self.assertEqual(result, True)
def test_unsuccessfull_port_test_returns_false(self):
result = PortScanner(ConcurrencyEngine).test_port("scanme.nmap.org", 12)
self.assertEqual(result, False)
def test_successfull_run_scan_returns_results_message(self):
capturedOutput = io.StringIO()
sys.stdout = capturedOutput
PortScanner(ConcurrencyEngine).run_scan("python.org", 26)
sys.stdout = sys.__stdout__
self.assertEqual(capturedOutput.getvalue(), "python.org:25 open\n")
def test_unsuccessfull_run_scan_returns_empty_message(self):
capturedOutput = io.StringIO()
sys.stdout = capturedOutput
PortScanner(ConcurrencyEngine).run_scan("scanme.nmap.org", 12)
sys.stdout = sys.__stdout__
self.assertEqual(capturedOutput.getvalue(), '')