def test_get_jinja2_env(self):
     self.patch_object(lc_deploy, 'get_jinja2_loader')
     self.patch_object(lc_deploy.jinja2, 'Environment')
     jinja_env_mock = mock.MagicMock()
     self.Environment.return_value = jinja_env_mock
     self.assertEqual(lc_deploy.get_jinja2_env(), jinja_env_mock)
     self.get_jinja2_loader.assert_called_once_with(template_dir=None)
Esempio n. 2
0
 def test_get_jinja2_env(self):
     self.patch_object(lc_deploy, 'get_overlay_template_dir')
     self.get_overlay_template_dir.return_value = 'mytemplatedir'
     self.patch_object(lc_deploy.jinja2, 'Environment')
     self.patch_object(lc_deploy.jinja2, 'FileSystemLoader')
     jinja_env_mock = mock.MagicMock()
     self.Environment.return_value = jinja_env_mock
     self.assertEqual(lc_deploy.get_jinja2_env(), jinja_env_mock)
     self.FileSystemLoader.assert_called_once_with('mytemplatedir')
Esempio n. 3
0
 def test_template_missing_required_variables(self):
     self.patch_object(lc_deploy, 'get_template_overlay_context')
     self.get_template_overlay_context.return_value = {}
     self.patch_object(lc_deploy.sys, 'exit')
     self.patch_object(lc_deploy.logging, 'error')
     jinja2_env = lc_deploy.get_jinja2_env()
     template = jinja2_env.from_string('{{required_variable}}')
     m = mock.mock_open()
     with mock.patch('zaza.charm_lifecycle.deploy.open', m, create=True):
         lc_deploy.render_template(template, '/tmp/mybundle.yaml')
     m.assert_called_once_with('/tmp/mybundle.yaml', 'w')
     self.error.assert_called_once_with(
         "Template error. You may be missing"
         " a mandatory environment variable : "
         "'required_variable' is undefined")
     self.exit.assert_called_once_with(1)