2
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 4; coding: utf-8 -*-
10
def get_message(*args, **kwds):
11
with io.StringIO() as stream:
12
apt_check.write_human_readable_summary(stream, *args, **kwds)
13
return stream.getvalue()
16
class TestMotd(unittest.TestCase):
17
""" Validate /etc/motd text """
19
def test_esm_disabled_upto_date_esm_avail(self):
21
get_message(upgrades=0, security_updates=0,
22
esm_updates=0, have_esm=False,
23
disabled_esm_updates=23),
26
UA Infrastructure Extended Security Maintenance (ESM) is not enabled.
28
0 updates can be installed immediately.
29
0 of these updates are security updates.
31
Enable UA Infrastructure ESM to receive 23 additional security updates.
32
See https://ubuntu.com/esm or run: sudo ua status
35
def test_esm_disabled_security_esm_avail(self):
37
get_message(upgrades=15, security_updates=7,
38
esm_updates=0, have_esm=False,
39
disabled_esm_updates=23),
42
UA Infrastructure Extended Security Maintenance (ESM) is not enabled.
44
15 updates can be installed immediately.
45
7 of these updates are security updates.
46
To see these additional updates run: apt list --upgradable
48
Enable UA Infrastructure ESM to receive 23 additional security updates.
49
See https://ubuntu.com/esm or run: sudo ua status
52
def test_esm_disabled_security_no_esm_avail(self):
54
get_message(upgrades=15, security_updates=7,
55
esm_updates=0, have_esm=False,
56
disabled_esm_updates=0),
59
UA Infrastructure Extended Security Maintenance (ESM) is not enabled.
61
15 updates can be installed immediately.
62
7 of these updates are security updates.
63
To see these additional updates run: apt list --upgradable
65
Enable UA Infrastructure ESM to receive additional future security updates.
66
See https://ubuntu.com/esm or run: sudo ua status
69
def test_esm_disabled_nosecurity(self):
71
get_message(upgrades=15, security_updates=0,
72
esm_updates=0, have_esm=False,
73
disabled_esm_updates=0),
76
UA Infrastructure Extended Security Maintenance (ESM) is not enabled.
78
15 updates can be installed immediately.
79
0 of these updates are security updates.
80
To see these additional updates run: apt list --upgradable
82
Enable UA Infrastructure ESM to receive additional future security updates.
83
See https://ubuntu.com/esm or run: sudo ua status
86
def test_esm_disabled_noupdates(self):
88
get_message(upgrades=0, security_updates=0,
89
esm_updates=0, have_esm=False,
90
disabled_esm_updates=0),
93
UA Infrastructure Extended Security Maintenance (ESM) is not enabled.
95
0 updates can be installed immediately.
96
0 of these updates are security updates.
98
Enable UA Infrastructure ESM to receive additional future security updates.
99
See https://ubuntu.com/esm or run: sudo ua status
102
def test_esm_enabled_nosecurity(self):
104
get_message(upgrades=35, security_updates=0,
105
esm_updates=13, have_esm=True,
106
disabled_esm_updates=0),
109
UA Infrastructure Extended Security Maintenance (ESM) is enabled.
111
35 updates can be installed immediately.
112
13 of these updates are provided through UA Infrastructure ESM.
113
0 of these updates are security updates.
114
To see these additional updates run: apt list --upgradable
117
def test_esm_enabled_somesecurity(self):
119
get_message(upgrades=47, security_updates=7,
120
esm_updates=13, have_esm=True,
121
disabled_esm_updates=0),
124
UA Infrastructure Extended Security Maintenance (ESM) is enabled.
126
47 updates can be installed immediately.
127
13 of these updates are provided through UA Infrastructure ESM.
128
7 of these updates are security updates.
129
To see these additional updates run: apt list --upgradable
132
def test_esm_enabled_noupdates(self):
134
get_message(upgrades=0, security_updates=0,
135
esm_updates=0, have_esm=True,
136
disabled_esm_updates=0),
139
UA Infrastructure Extended Security Maintenance (ESM) is enabled.
141
0 updates can be installed immediately.
142
0 of these updates are security updates.
146
if __name__ == "__main__":
148
logging.basicConfig(level=logging.DEBUG)