Esempio n. 1
0
    def test_call_os_error(self, mock_popen):
        mock_popen.return_value.communicate.side_effect = SubprocessError
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        with pytest.raises(PDFNotFilled):
            pdf.call("/foo", "/bar")
Esempio n. 2
0
    def test_call_os_error(self, mock_popen):
        mock_popen.return_value.communicate.side_effect = SubprocessError
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        with pytest.raises(PDFNotFilled):
            pdf.call('/foo', '/bar')
Esempio n. 3
0
    def test_call_non_zero_return_code(self, mock_popen):
        mock_popen.return_value.communicate.return_value = "stdout", "stderr"
        mock_popen.return_value.returncode = 5
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        with pytest.raises(PDFNotFilled):
            pdf.call("/foo", "/bar")
Esempio n. 4
0
    def test_call_non_zero_return_code(self, mock_popen):
        mock_popen.return_value.communicate.return_value = 'stdout', 'stderr'
        mock_popen.return_value.returncode = 5
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        with pytest.raises(PDFNotFilled):
            pdf.call('/foo', '/bar')
Esempio n. 5
0
    def test_call(self, mock_popen):
        mock_popen.return_value.communicate.return_value = "stdout", "stderr"
        mock_popen.return_value.returncode = 0
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        actual = pdf.call("/foo", "/bar")

        assert actual == "stdout"
        mock_popen.assert_called_once_with(
            "/pdftk /bar fill_form /foo output - flatten", shell=True, stdout=PIPE, stderr=PIPE, stdin=PIPE
        )
Esempio n. 6
0
    def test_generate_fdf(self):
        pdf = PDFFiller(ContentFile(''), {'foo': 'bar'})

        fdf = pdf.generate_fdf()

        assert fdf == (
            b'<?xml version="1.0" encoding="UTF-8"?>'
            b'<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">'
            b'<fields>'
            b'<field name="foo"><value>bar</value></field>'
            b'</fields>'
            b'</xfdf>')
Esempio n. 7
0
    def test_generate_fdf(self):
        pdf = PDFFiller(ContentFile(""), {"foo": "bar"})

        fdf = pdf.generate_fdf()

        assert fdf == (
            b'<?xml version="1.0" encoding="UTF-8"?>'
            b'<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">'
            b"<fields>"
            b'<field name="foo"><value>bar</value></field>'
            b"</fields>"
            b"</xfdf>"
        )
Esempio n. 8
0
    def test_call(self, mock_popen):
        mock_popen.return_value.communicate.return_value = 'stdout', 'stderr'
        mock_popen.return_value.returncode = 0
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        actual = pdf.call('/foo', '/bar')

        assert actual == 'stdout'
        mock_popen.assert_called_once_with(
            '/pdftk /bar fill_form /foo output - flatten',
            shell=True,
            stdout=PIPE,
            stderr=PIPE,
            stdin=PIPE)
Esempio n. 9
0
    def test__call(self, mock_tmp_file, mock_generate_fdf, mock_call):
        pdf_file = mock.MagicMock()
        pdf = PDFFiller(pdf_file, {}, True)

        actual = pdf()

        assert actual == mock_call.return_value
        mock_tmp_file.assert_any_call('wb', suffix='.xfdf')
        mock_tmp_file.assert_any_call('wb', suffix='.pdf')
        mock_tmp_file().__enter__().write.assert_any_call(
            mock_generate_fdf.return_value)
        mock_tmp_file().__enter__().write.assert_any_call(
            pdf_file.read.return_value)
        mock_tmp_file().__enter__().close.assert_any_call()
Esempio n. 10
0
 def test_init(self):
     pdf = PDFFiller(mock.sentinel.pdf, mock.sentinel.data, True)
     assert pdf.pdf == mock.sentinel.pdf
     assert pdf.data == mock.sentinel.data
     assert pdf.flatten