コード例 #1
0
 def test_handle_tries_to_install_ubuntu_advantage_tools(
         self, m_install, m_cfg):
     """If ubuntu_advantage is provided, try installing ua-tools package."""
     cfg = {'ubuntu_advantage': {'token': 'valid'}}
     mycloud = FakeCloud(None)
     handle('nomatter', cfg=cfg, cloud=mycloud, log=self.logger, args=None)
     m_install.assert_called_once_with(mycloud)
コード例 #2
0
 def test_handle_passes_credentials_and_services_to_configure_ua(
         self, m_install, m_configure_ua):
     """All ubuntu_advantage config keys are passed to configure_ua."""
     cfg = {'ubuntu_advantage': {'token': 'token', 'enable': ['esm']}}
     handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     m_configure_ua.assert_called_once_with(
         token='token', enable=['esm'])
コード例 #3
0
 def test_handle_tries_to_install_ubuntu_advantage_tools(
         self, m_install, m_cfg):
     """If ubuntu_advantage is provided, try installing ua-tools package."""
     cfg = {'ubuntu_advantage': {'token': 'valid'}}
     mycloud = FakeCloud(None)
     handle('nomatter', cfg=cfg, cloud=mycloud, log=self.logger, args=None)
     m_install.assert_called_once_with(mycloud)
コード例 #4
0
 def test_handle_error_on_deprecated_commands_key_underscored(self):
     """Error when commands is present in ubuntu_advantage key."""
     cfg = {'ubuntu_advantage': {'commands': 'nogo'}}
     with self.assertRaises(RuntimeError) as context_manager:
         handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'Deprecated configuration "ubuntu-advantage: commands" provided.'
         ' Expected "token"', str(context_manager.exception))
コード例 #5
0
 def test_handle_no_config(self, m_schema):
     """When no ua-related configuration is provided, nothing happens."""
     cfg = {}
     handle('ua-test', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertIn(
         "DEBUG: Skipping module named ua-test, no 'ubuntu_advantage'"
         ' configuration found', self.logs.getvalue())
     m_schema.assert_not_called()
コード例 #6
0
 def test_handle_error_on_deprecated_commands_key_underscored(self):
     """Error when commands is present in ubuntu_advantage key."""
     cfg = {'ubuntu_advantage': {'commands': 'nogo'}}
     with self.assertRaises(RuntimeError) as context_manager:
         handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'Deprecated configuration "ubuntu-advantage: commands" provided.'
         ' Expected "token"',
         str(context_manager.exception))
コード例 #7
0
 def test_handle_no_config(self, m_schema):
     """When no ua-related configuration is provided, nothing happens."""
     cfg = {}
     handle('ua-test', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertIn(
         "DEBUG: Skipping module named ua-test, no 'ubuntu_advantage'"
         ' configuration found',
         self.logs.getvalue())
     m_schema.assert_not_called()
コード例 #8
0
 def test_handle_no_config(self, m_maybe_install_ua_tools):
     """When no ua-related configuration is provided, nothing happens."""
     cfg = {}
     handle("ua-test", cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertIn(
         "DEBUG: Skipping module named ua-test, no 'ubuntu_advantage'"
         " configuration found",
         self.logs.getvalue(),
     )
     self.assertEqual(m_maybe_install_ua_tools.call_count, 0)
コード例 #9
0
 def test_handle_warns_on_deprecated_ubuntu_advantage_key_w_config(
         self, m_configure_ua):
     """Warning when ubuntu-advantage key is present with new config"""
     cfg = {'ubuntu-advantage': {'token': 'token', 'enable': ['esm']}}
     handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'WARNING: Deprecated configuration key "ubuntu-advantage"'
         ' provided. Expected underscore delimited "ubuntu_advantage";'
         ' will attempt to continue.',
         self.logs.getvalue().splitlines()[0])
     m_configure_ua.assert_called_once_with(token='token', enable=['esm'])
コード例 #10
0
 def test_handle_warns_on_deprecated_ubuntu_advantage_key_w_config(
         self, m_configure_ua):
     """Warning when ubuntu-advantage key is present with new config"""
     cfg = {'ubuntu-advantage': {'token': 'token', 'enable': ['esm']}}
     handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'WARNING: Deprecated configuration key "ubuntu-advantage"'
         ' provided. Expected underscore delimited "ubuntu_advantage";'
         ' will attempt to continue.',
         self.logs.getvalue().splitlines()[0])
     m_configure_ua.assert_called_once_with(
         token='token', enable=['esm'])
コード例 #11
0
 def test_handle_warns_on_deprecated_ubuntu_advantage_key_w_config(
         self, m_configure_ua):
     """Warning when ubuntu-advantage key is present with new config"""
     cfg = {"ubuntu-advantage": {"token": "token", "enable": ["esm"]}}
     handle("nomatter", cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'WARNING: Deprecated configuration key "ubuntu-advantage"'
         ' provided. Expected underscore delimited "ubuntu_advantage";'
         " will attempt to continue.",
         self.logs.getvalue().splitlines()[0],
     )
     m_configure_ua.assert_called_once_with(token="token", enable=["esm"])
コード例 #12
0
 def test_handle_prefers_new_style_config(
         self, m_configure_ua):
     """ubuntu_advantage should be preferred over ubuntu-advantage"""
     cfg = {
         'ubuntu-advantage': {'token': 'nope', 'enable': ['wrong']},
         'ubuntu_advantage': {'token': 'token', 'enable': ['esm']},
     }
     handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'WARNING: Deprecated configuration key "ubuntu-advantage"'
         ' provided. Expected underscore delimited "ubuntu_advantage";'
         ' will attempt to continue.',
         self.logs.getvalue().splitlines()[0])
     m_configure_ua.assert_called_once_with(
         token='token', enable=['esm'])
コード例 #13
0
    def test_handle_runs_commands_provided(self, m_install):
        """When commands are specified as a list, run them."""
        outfile = self.tmp_path('output.log', dir=self.tmp)

        cfg = {
            'ubuntu-advantage': {
                'commands':
                ['echo "HI" >> %s' % outfile,
                 'echo "MOM" >> %s' % outfile]
            }
        }
        mock_path = '%s.sys.stderr' % MPATH
        with mock.patch(mock_path, new_callable=StringIO):
            handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
        self.assertEqual('HI\nMOM\n', util.load_file(outfile))
コード例 #14
0
 def test_handle_prefers_new_style_config(self, m_configure_ua):
     """ubuntu_advantage should be preferred over ubuntu-advantage"""
     cfg = {
         'ubuntu-advantage': {
             'token': 'nope',
             'enable': ['wrong']
         },
         'ubuntu_advantage': {
             'token': 'token',
             'enable': ['esm']
         },
     }
     handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'WARNING: Deprecated configuration key "ubuntu-advantage"'
         ' provided. Expected underscore delimited "ubuntu_advantage";'
         ' will attempt to continue.',
         self.logs.getvalue().splitlines()[0])
     m_configure_ua.assert_called_once_with(token='token', enable=['esm'])
コード例 #15
0
 def test_handle_prefers_new_style_config(self, m_configure_ua):
     """ubuntu_advantage should be preferred over ubuntu-advantage"""
     cfg = {
         "ubuntu-advantage": {
             "token": "nope",
             "enable": ["wrong"]
         },
         "ubuntu_advantage": {
             "token": "token",
             "enable": ["esm"]
         },
     }
     handle("nomatter", cfg=cfg, cloud=None, log=self.logger, args=None)
     self.assertEqual(
         'WARNING: Deprecated configuration key "ubuntu-advantage"'
         ' provided. Expected underscore delimited "ubuntu_advantage";'
         " will attempt to continue.",
         self.logs.getvalue().splitlines()[0],
     )
     m_configure_ua.assert_called_once_with(token="token", enable=["esm"])
コード例 #16
0
 def test_handle_passes_credentials_and_services_to_configure_ua(
         self, m_install, m_configure_ua):
     """All ubuntu_advantage config keys are passed to configure_ua."""
     cfg = {"ubuntu_advantage": {"token": "token", "enable": ["esm"]}}
     handle("nomatter", cfg=cfg, cloud=None, log=self.logger, args=None)
     m_configure_ua.assert_called_once_with(token="token", enable=["esm"])
コード例 #17
0
 def test_handle_passes_credentials_and_services_to_configure_ua(
         self, m_install, m_configure_ua):
     """All ubuntu_advantage config keys are passed to configure_ua."""
     cfg = {'ubuntu_advantage': {'token': 'token', 'enable': ['esm']}}
     handle('nomatter', cfg=cfg, cloud=None, log=self.logger, args=None)
     m_configure_ua.assert_called_once_with(token='token', enable=['esm'])