diff --git a/muk_web_preview_msoffice/__manifest__.py b/muk_web_preview_msoffice/__manifest__.py index 3d5a8b3..fec3249 100644 --- a/muk_web_preview_msoffice/__manifest__.py +++ b/muk_web_preview_msoffice/__manifest__.py @@ -44,6 +44,7 @@ "template/assets.xml", ], "demo": [ + "demo/preview_office_demo.xml", ], "qweb": [ "static/src/xml/*.xml", diff --git a/muk_web_preview_msoffice/demo/data/sample.doc b/muk_web_preview_msoffice/demo/data/sample.doc new file mode 100644 index 0000000..9cb3f01 Binary files /dev/null and b/muk_web_preview_msoffice/demo/data/sample.doc differ diff --git a/muk_web_preview_msoffice/demo/preview_office_demo.xml b/muk_web_preview_msoffice/demo/preview_office_demo.xml new file mode 100644 index 0000000..2739c4a --- /dev/null +++ b/muk_web_preview_msoffice/demo/preview_office_demo.xml @@ -0,0 +1,13 @@ + + + + + + sample.doc + sample.doc + + + + + + \ No newline at end of file diff --git a/muk_web_preview_msoffice/tests/__init__.py b/muk_web_preview_msoffice/tests/__init__.py new file mode 100644 index 0000000..19346fa --- /dev/null +++ b/muk_web_preview_msoffice/tests/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from . import test_office_parse + diff --git a/muk_web_preview_msoffice/tests/test_office_parse.py b/muk_web_preview_msoffice/tests/test_office_parse.py new file mode 100644 index 0000000..aaadb60 --- /dev/null +++ b/muk_web_preview_msoffice/tests/test_office_parse.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- + +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +import os +import base64 +import logging +import unittest + +from urllib.parse import urlunparse +from urllib.parse import urlparse +from urllib.parse import parse_qsl +from urllib.parse import urlencode +from contextlib import closing + +from odoo import _ +from odoo.tests import common + +from odoo.addons.muk_web_preview_mail.controllers import main + +_path = os.path.dirname(os.path.dirname(__file__)) +_logger = logging.getLogger(__name__) + +class OfficeParseTestCase(common.HttpCase): + + at_install = False + post_install = True + + def setUp(self): + super(OfficeParseTestCase, self).setUp() + self.sample_office_attachment = self.browse_ref('muk_web_preview_office.office_attachment_demo') + + def tearDown(self): + super(OfficeParseTestCase, self).tearDown() + + def test_parse_office(self): + self.authenticate('admin', 'admin') + url = "/web/preview/converter/msoffice" + params = {'url': "/web/content?id={}".format( + self.sample_office_attachment.id + )} + url_parts = list(urlparse(url)) + query = dict(parse_qsl(url_parts[4])) + query.update(params) + url_parts[4] = urlencode(query) + url = urlunparse(url_parts) + self.assertTrue(self.url_open(url)) \ No newline at end of file