summaryrefslogtreecommitdiff
path: root/pyuno/qa
diff options
context:
space:
mode:
authorAlain Romedenne <alain.romedenne@libreoffice.org>2024-03-01 16:33:05 +0100
committerHossein <hossein@libreoffice.org>2024-05-11 11:25:44 +0200
commit28a43d53b25c183a7997cc18819d6ee0c675df19 (patch)
treecdabcb4a576ae9ff3210481436842aaba760c565 /pyuno/qa
parent124252aa0be6ff13212f59f50352fb934e1c280c (diff)
Unit tests for officehelper.py
Depend upon previous patch d8978a8c4ffabd6b36a691fd3e2df68563808234 for officehelper.py which fixed some glitches. Change-Id: Icc5c717d7f0f5a0a08202b6b57e475e7afe6f5c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164195 Reviewed-by: Hossein <hossein@libreoffice.org> Tested-by: Jenkins Tested-by: Hossein <hossein@libreoffice.org>
Diffstat (limited to 'pyuno/qa')
-rw-r--r--pyuno/qa/pytests/testofficehelper.py50
1 files changed, 50 insertions, 0 deletions
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