blob: 1fed945b1e86755a4c67cc77c2214b774fee1645 (
plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
import unittest
import socket
import contextlib
import sys
from fabric.api import local
from CeibalEncuesta import WebServer
@contextlib.contextmanager
def redirect_stdout(stream):
sys.stdout = sys.stderr = stream
yield
sys.stdout = sys.__stdout__
class ContainerTest(unittest.TestCase):
def setUp(self):
self.result = local('python CeibalEncuesta.py', capture=True)
def test_base_run(self):
result = self.result
command_succeeded = (result.return_code == 0)
self.assertTrue(command_succeeded)
def test_start_web_server(self):
result = self.result
self.assertIn('Opening web server', result)
def test_start_browser(self):
result = self.result
self.assertIn('Opening browser', result)
class WebServerTest(unittest.TestCase):
def test_connection(self):
with open('/dev/null') as null:
with redirect_stdout(null):
webserver = WebServer()
webserver.start()
try:
s = socket.socket()
s.connect(("localhost", 9004))
except Exception as e:
self.fail(e)
finally:
s.close()
webserver.stop()
if __name__ == '__main__':
unittest.main()
|