Пример #1
0
    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
                                                           })])
Пример #2
0
 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()
Пример #3
0
    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']})
Пример #4
0
    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
                }
            }]})
Пример #5
0
    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', {})])