51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
|
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
|