diff --git a/pyuno/PythonTest_pyuno_pytests_testofficehelper.mk b/pyuno/PythonTest_pyuno_pytests_testofficehelper.mk new file mode 100644 index 000000000000..77aac9d0f00b --- /dev/null +++ b/pyuno/PythonTest_pyuno_pytests_testofficehelper.mk @@ -0,0 +1,13 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +$(eval $(call gb_PythonTest_PythonTest,pyuno_pytests_testofficehelper)) +$(eval $(call gb_PythonTest_add_modules,pyuno_pytests_testofficehelper,$(SRCDIR)/pyuno/qa/pytests,\ + testofficehelper \ +)) +# vim: set noet sw=4 ts=4: \ No newline at end of file diff --git a/pyuno/qa/pytests/testofficehelper.py b/pyuno/qa/pytests/testofficehelper.py new file mode 100644 index 000000000000..be2c99d8daf8 --- /dev/null +++ b/pyuno/qa/pytests/testofficehelper.py @@ -0,0 +1,50 @@ +import unittest +from officehelper import bootstrap, BootstrapException + + +class OfficeHelperTest(unittest.TestCase): + """officehelper.py must provide: + Support of Windows, Mac OS X & GNU/Linux distributions + Customizable connection with 'delays' **kwarg + Reporting to console with 'report' **kwarg + Memory cleanup from soffice service + extra features may be: + Python source documentation + """ + def test_default_config(self): + # Check default timeout and number of attempts + # Stop LibreOffice running service + ctx = bootstrap() # Default settings suffice to initialize the service + #time.sleep(10) # gve + if ctx: # stop soffice as a service + smgr = ctx.getServiceManager() + desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx) + desktop.terminate() + self.assertTrue(ctx) # check for failure + + def test_kwargs(self): + # Wait differently for LO to start, request context 10 times + # Report processing in console + ctx = bootstrap(delays=[1,]*10, report=print) + if ctx: # stop soffice as a service + smgr = ctx.getServiceManager() + desktop = smgr.createInstanceWithContext("com.sun.star.frame.Desktop", ctx) + desktop.terminate() + self.assertTrue(ctx) + + def test_exception(self): + # Raise BootstrapException and stop ALL PRESENT LibreOffice running services + with self.assertRaises(BootstrapException): + bootstrap(delays=[0,], report=print) # delays=[0,] must raise BootstrapException + + +if __name__ == "__main__": + + unittest.main() + + # ~ dir(__name__) + # ~ help(__name__) + # ~ help(bootstrap) + # ~ exit() + +# vim: set shiftwidth=4 softtabstop=4 expandtab