diff options
Diffstat (limited to 'tests/test_trans_chain.py')
-rw-r--r-- | tests/test_trans_chain.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/test_trans_chain.py b/tests/test_trans_chain.py new file mode 100644 index 0000000..209d7d7 --- /dev/null +++ b/tests/test_trans_chain.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +"""Tests the debconf forwarding""" +import unittest +from gi.repository import GLib + +from aptdaemon import enums, client + +DEBUG = False + + +class TransChainTest(unittest.TestCase): + + """These tests require an aptdaemon running with the dummy worker: + # sudo aptd -td --dummy + """ + + def setUp(self): + self.loop = GLib.MainLoop() + self.client = client.AptClient() + + def _test_working(self): + def on_finished(trans, exit): + self.loop.quit() + trans1 = self.client.upgrade_packages(["huhu"]) + trans2 = self.client.upgrade_packages(["lala"]) + trans3 = self.client.upgrade_packages(["huhu"]) + trans2.run_after(trans1) + trans3.run_after(trans2) + trans1.run() + trans3.connect("finished", on_finished) + self.loop.run() + self.assertTrue(trans1.exit == enums.EXIT_SUCCESS) + self.assertTrue(trans2.exit == enums.EXIT_SUCCESS) + self.assertTrue(trans3.exit == enums.EXIT_SUCCESS) + + def _test_fail_after(self): + def on_finished(trans, exit): + self.loop.quit() + trans1 = self.client.update_cache() + trans2 = self.client.upgrade_packages(["huhululu"]) + trans3 = self.client.upgrade_packages(["huhululu"]) + trans2.run_after(trans1) + trans3.run_after(trans2) + trans1.run() + trans3.connect("finished", on_finished) + self.loop.run() + self.assertTrue(trans1.exit == enums.EXIT_FAILED) + self.assertTrue(trans2.exit == enums.EXIT_PREVIOUS_FAILED) + self.assertTrue(trans3.exit == enums.EXIT_PREVIOUS_FAILED) + + +if __name__ == "__main__": + import logging + if DEBUG: + logging.basicConfig(level=logging.DEBUG) + unittest.main() + +# vim: ts=4 et sts=4 |