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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# Copyright (C) 2014 Yahoo! Inc.
#
# This file is part of cloud-init. See LICENSE file for license information.
from cloudinit.config import cc_debug
from cloudinit import cloud
from cloudinit import distros
from cloudinit import helpers
from cloudinit import util
from cloudinit.sources import DataSourceNone
from cloudinit.tests.helpers import (FilesystemMockingTestCase, mock)
import logging
import shutil
import tempfile
LOG = logging.getLogger(__name__)
@mock.patch('cloudinit.distros.debian.read_system_locale')
class TestDebug(FilesystemMockingTestCase):
def setUp(self):
super(TestDebug, self).setUp()
self.new_root = tempfile.mkdtemp()
self.addCleanup(shutil.rmtree, self.new_root)
def _get_cloud(self, distro, metadata=None):
self.patchUtils(self.new_root)
paths = helpers.Paths({})
cls = distros.fetch(distro)
d = cls(distro, {}, paths)
ds = DataSourceNone.DataSourceNone({}, d, paths)
if metadata:
ds.metadata.update(metadata)
return cloud.Cloud(ds, paths, {}, d, None)
def test_debug_write(self, m_locale):
m_locale.return_value = 'en_US.UTF-8'
cfg = {
'abc': '123',
'c': u'\u20a0',
'debug': {
'verbose': True,
# Does not actually write here due to mocking...
'output': '/var/log/cloud-init-debug.log',
},
}
cc = self._get_cloud('ubuntu')
cc_debug.handle('cc_debug', cfg, cc, LOG, [])
contents = util.load_file('/var/log/cloud-init-debug.log')
# Some basic sanity tests...
self.assertNotEqual(0, len(contents))
for k in cfg.keys():
self.assertIn(k, contents)
def test_debug_no_write(self, m_locale):
m_locale.return_value = 'en_US.UTF-8'
cfg = {
'abc': '123',
'debug': {
'verbose': False,
# Does not actually write here due to mocking...
'output': '/var/log/cloud-init-debug.log',
},
}
cc = self._get_cloud('ubuntu')
cc_debug.handle('cc_debug', cfg, cc, LOG, [])
self.assertRaises(IOError,
util.load_file, '/var/log/cloud-init-debug.log')
# vi: ts=4 expandtab
|