def test_other_plugins_dict(self): out = Stream('mike-mkdocs.yml') cfg = 'plugins:\n foo: {}\n bar:\n option: true' with mock.patch('builtins.open', self.mock_open(read_data=cfg)), \ mock.patch('mike.mkdocs_utils.NamedTemporaryFile', return_value=out), \ mock.patch('os.remove') as mremove: with mkdocs_utils.inject_plugin('mkdocs.yml') as f: self.assertEqual(f, out.name) newcfg = yaml.load(out.getvalue(), Loader=yaml.Loader) mremove.assert_called_once() self.assertEqual( newcfg, {'plugins': { 'mike': {}, 'foo': {}, 'bar': { 'option': True }, }}) self.assertEqual(list(newcfg['plugins'].items()), [('mike', {}), ('foo', {}), ('bar', { 'option': True })])
def test_mike_plugin_options(self): out = Stream('mike-mkdocs.yml') cfg = 'plugins:\n - mike:\n option: true' with mock.patch('builtins.open', self.mock_open(read_data=cfg)), \ mock.patch('mike.mkdocs_utils.NamedTemporaryFile', return_value=out), \ mock.patch('os.remove') as mremove: with mkdocs_utils.inject_plugin('mkdocs.yml') as f: self.assertEqual(f, 'mkdocs.yml') self.assertEqual(out.getvalue(), '') mremove.assert_not_called()
def test_no_plugins(self): out = Stream('mike-mkdocs.yml') cfg = '{}' with mock.patch('builtins.open', self.mock_open(read_data=cfg)), \ mock.patch('mike.mkdocs_utils.NamedTemporaryFile', return_value=out), \ mock.patch('os.remove') as mremove: with mkdocs_utils.inject_plugin('mkdocs.yml') as f: self.assertEqual(f, out.name) newcfg = yaml.load(out.getvalue(), Loader=yaml.Loader) mremove.assert_called_once() self.assertEqual(newcfg, {'plugins': ['mike', 'search']})
def test_other_plugins(self): out = self.Stream() cfg = 'plugins:\n - foo\n - bar:\n option: true' with mock.patch('builtins.open', mock.mock_open(read_data=cfg)), \ mock.patch('mike.mkdocs_utils.NamedTemporaryFile', return_value=out), \ mock.patch('os.remove') as mremove: # noqa with mkdocs_utils.inject_plugin('mkdocs.yml') as f: self.assertEqual(f, out.name) newcfg = yaml.load(out.getvalue(), Loader=yaml.Loader) mremove.assert_called_once() self.assertEqual( newcfg, {'plugins': ['mike', 'foo', { 'bar': { 'option': True } }]})
def test_inherit(self): out = Stream('mike-mkdocs.yml') main_cfg = 'INHERIT: mkdocs-base.yml\nplugins:\n foo: {}\n' base_cfg = 'plugins:\n bar: {}\n' files = {'mkdocs.yml': main_cfg, 'mkdocs-base.yml': base_cfg} with mock.patch('builtins.open', mock_open_files(files)), \ mock.patch('mike.mkdocs_utils.NamedTemporaryFile', return_value=out), \ mock.patch('os.path.exists', return_value=True), \ mock.patch('os.remove') as mremove: with mkdocs_utils.inject_plugin('mkdocs.yml') as f: self.assertEqual(f, 'mike-mkdocs.yml') newcfg = yaml.load(out.getvalue(), Loader=yaml.Loader) mremove.assert_called_once() self.assertEqual(newcfg, {'plugins': { 'mike': {}, 'bar': {}, 'foo': {}, }}) self.assertEqual(list(newcfg['plugins'].items()), [('mike', {}), ('bar', {}), ('foo', {})])