aboutsummaryrefslogtreecommitdiff
path: root/tests/test_progress.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_progress.py')
-rw-r--r--tests/test_progress.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/test_progress.py b/tests/test_progress.py
new file mode 100644
index 0000000..b691212
--- /dev/null
+++ b/tests/test_progress.py
@@ -0,0 +1,55 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""Tests the debconf forwarding"""
+
+import apt
+import logging
+import mock
+import sys
+import unittest
+
+import aptdaemon.test
+from aptdaemon.progress import DaemonOpenProgress
+
+
+class TestProgress(unittest.TestCase):
+
+ def setUp(self):
+ self.chroot = aptdaemon.test.Chroot()
+ self.chroot.setup()
+ self.addCleanup(self.chroot.remove)
+
+ def test_open_progress(self):
+ transaction = mock.Mock()
+ begin = 0
+ end = 5
+ d = DaemonOpenProgress(transaction, begin=begin, end=end)
+ # simulate cache open (c = apt.Cache(d)))
+ for j in range(4):
+ for i in range(0, 100, 10):
+ d.update(i)
+ self.assertTrue(d.progress >= begin)
+ self.assertTrue(d.progress <= end)
+ d.done()
+ # ensure we use the full range
+ self.assertEqual(d.progress, end)
+
+ def test_open_progress_real_cache(self):
+ transaction = mock.Mock()
+ begin = 0
+ end = 5
+ d = DaemonOpenProgress(transaction, begin=begin, end=end)
+ c = apt.Cache(d)
+ # ensure we use the full range
+ self.assertEqual(d.progress, end)
+
+
+@unittest.skipIf(sys.version_info.major < 3, "Python 3 only")
+def setUp():
+ pass
+
+if __name__ == "__main__":
+ logging.basicConfig(level=logging.DEBUG)
+ unittest.main()
+
+# vim: ts=4 et sts=4