cloud-init/tests/unittests/test_builtin_handlers.py

54 lines
1.7 KiB
Python

"""Tests of the built-in user data handlers."""
import os
from mocker import MockerTestCase
from cloudinit import handlers
from cloudinit import helpers
from cloudinit.handlers import upstart_job
from cloudinit.settings import (PER_ALWAYS, PER_INSTANCE)
class TestBuiltins(MockerTestCase):
def test_upstart_frequency_no_out(self):
c_root = self.makeDir()
up_root = self.makeDir()
paths = helpers.Paths({
'cloud_dir': c_root,
'upstart_dir': up_root,
})
freq = PER_ALWAYS
h = upstart_job.UpstartJobPartHandler(paths)
# No files should be written out when
# the frequency is ! per-instance
h.handle_part('', handlers.CONTENT_START,
None, None, None)
h.handle_part('blah', 'text/upstart-job',
'test.conf', 'blah', freq)
h.handle_part('', handlers.CONTENT_END,
None, None, None)
self.assertEquals(0, len(os.listdir(up_root)))
def test_upstart_frequency_single(self):
c_root = self.makeDir()
up_root = self.makeDir()
paths = helpers.Paths({
'cloud_dir': c_root,
'upstart_dir': up_root,
})
freq = PER_INSTANCE
h = upstart_job.UpstartJobPartHandler(paths)
# No files should be written out when
# the frequency is ! per-instance
h.handle_part('', handlers.CONTENT_START,
None, None, None)
h.handle_part('blah', 'text/upstart-job',
'test.conf', 'blah', freq)
h.handle_part('', handlers.CONTENT_END,
None, None, None)
self.assertEquals(1, len(os.listdir(up_root)))