def test_validate_ok(mocker, args): mocker.patch('connect.reports.renderers.pdf.os.path.isfile', return_value=True) defs = RendererDefinition( root_path='root_path', id='renderer_id', type='pdf', description='description', template='template.html.j2', args=args, ) assert PDFRenderer.validate(defs) == []
def test_validate_tmpfs_css_missing(): tmp_fs = TempFS() tmp_fs.makedirs('package/report') tmp_fs.create('package/report/template.html.j2') definition = RendererDefinition( root_path=tmp_fs.root_path, id='renderer_id', type='pdf', description='description', template='package/report/template.html.j2', args={'css_file': 'package/report/css_file.css'}, ) errors = PDFRenderer.validate(definition) assert f"css_file `{definition.args['css_file']}` not found." == errors[0]
def test_validate_css_not_found(mocker): mocker.patch('connect.reports.renderers.pdf.os.path.isfile', side_effect=[True, False]) defs = RendererDefinition( root_path='root_path', id='renderer_id', type='pdf', description='description', template='template.html.j2', args={'css_file': 'my/css_file.css'}, ) assert PDFRenderer.validate(defs) == [ 'css_file `my/css_file.css` not found.' ]
def test_validate_tmpfs_template_wrong_name(): tmp_fs = TempFS() tmp_fs.makedirs('package/report') tmp_fs.create('package/report/template.html.j3') tmp_fs.create('css_file.css') definition = RendererDefinition( root_path=tmp_fs.root_path, id='renderer_id', type='pdf', description='description', template='package/report/template.html.j3', args={'css_file': 'css_file.css'}, ) errors = PDFRenderer.validate(definition) assert f"invalid template name: `{definition.template}`" in errors[0]