def test_customize_template_no_layers(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.registry[ID_LAYER] = {}
        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-c', 'test:template.lt', './']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Layer "test" could not be found.', val)
    def test_list_categories_no_layers(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.registry[ID_LAYER] = {}

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-l']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('No layers are found.', val)
    def test_no_params(self, m_bs):
        m_bs.return_value = {'registry': self.registry}

        sys.argv[:] = ['djed.templates', 'djed.templates.ini']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('[-l [LAYERS [LAYERS ...]]]', val)
        self.assertIn('[-lt [TEMPLATES [TEMPLATES ...]]]', val)
    def test_no_params(self, m_bs):
        m_bs.return_value = {'registry': self.registry}

        sys.argv[:] = ['djed.templates', 'djed.templates.ini']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('[-l [LAYERS [LAYERS ...]]]', val)
        self.assertIn('[-lt [TEMPLATES [TEMPLATES ...]]]', val)
    def test_list_categories_no_layers(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.registry[ID_LAYER] = {}

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-l']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('No layers are found.', val)
    def test_customize_success(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer(
            'test', path='tests:dir1/')

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-c', 'test:view.lt', self.dir]

        layer.main()

        self.assertTrue(os.path.join(self.dir, 'view.pt'))
    def test_customize_template_fmt_bad(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.registry[ID_LAYER] = {}

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-c', 'test', './']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Template format is wrong.', val)
    def test_customize_template_no_template(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer(
            'test', path='tests:dir1/')

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-c', 'test:template.lt', './']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Template "test:template.lt" could not be found.', val)
    def test_customize_template_no_dest(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer(
            'test', path='tests:dir1/')

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-c',
                       'test:view.lt', './blah-blah-blah']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Destination directory is not found.', val)
    def test_customize_template_no_layers(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.registry[ID_LAYER] = {}
        sys.argv[:] = [
            'djed.templates', 'djed.templates.ini', '-c', 'test:template.lt',
            './'
        ]

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Layer "test" could not be found.', val)
    def test_customize_template_fmt_bad(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.registry[ID_LAYER] = {}

        sys.argv[:] = [
            'djed.templates', 'djed.templates.ini', '-c', 'test', './'
        ]

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Template format is wrong.', val)
    def test_list_categories_limit(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer('test1', path='tests:dir1/')
        self.config.add_layer('test2', path='tests:bundle/')

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-l', 'test2']

        layer.main()

        val = self.out.getvalue()
        self.assertNotIn('* Layer: test1', val)
        self.assertIn('* Layer: test2', val)
    def test_customize_success(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer('test', path='tests:dir1/')

        sys.argv[:] = [
            'djed.templates', 'djed.templates.ini', '-c', 'test:view.lt',
            self.dir
        ]

        layer.main()

        self.assertTrue(os.path.join(self.dir, 'view.pt'))
    def test_customize_template_no_dest(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer('test', path='tests:dir1/')

        sys.argv[:] = [
            'djed.templates', 'djed.templates.ini', '-c', 'test:view.lt',
            './blah-blah-blah'
        ]

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Destination directory is not found.', val)
    def test_customize_template_no_template(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer('test', path='tests:dir1/')

        sys.argv[:] = [
            'djed.templates', 'djed.templates.ini', '-c', 'test:template.lt',
            './'
        ]

        layer.main()

        val = self.out.getvalue()
        self.assertIn('Template "test:template.lt" could not be found.', val)
    def test_list_categories_limit(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer(
            'test1', path='tests:dir1/')
        self.config.add_layer(
            'test2', path='tests:bundle/')

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-l', 'test2']

        layer.main()

        val = self.out.getvalue()
        self.assertNotIn('* Layer: test1', val)
        self.assertIn('* Layer: test2', val)
    def test_list_templates(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer('test1', path='tests:dir1/')
        self.config.add_layer('test2', path='tests:bundle/')

        def test():
            pass

        self.config.add_tmpl_filter('test1:actions', test)

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-lt']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('* Layer: test1', val)
        self.assertIn('tests:dir1/', val)
        self.assertIn('actions: .pt (tests/test_script.py: test)', val)
        self.assertIn('* Layer: test2', val)
    def test_list_templates(self, m_bs):
        m_bs.return_value = {'registry': self.registry}
        self.config.add_layer(
            'test1', path='tests:dir1/')
        self.config.add_layer(
            'test2', path='tests:bundle/')

        def test(): pass

        self.config.add_tmpl_filter(
            'test1:actions', test)

        sys.argv[:] = ['djed.templates', 'djed.templates.ini', '-lt']

        layer.main()

        val = self.out.getvalue()
        self.assertIn('* Layer: test1', val)
        self.assertIn('tests:dir1/', val)
        self.assertIn('actions: .pt (tests/test_script.py: test)', val)
        self.assertIn('* Layer: test2', val)