From 9e7b8a6b28409b5a27db32c2f1420e6bab481917 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Wed, 7 Nov 2012 17:45:08 -0500 Subject: [PATCH] added tests --- .../media-monitor2/tests/test_thread.py | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 python_apps/media-monitor2/tests/test_thread.py diff --git a/python_apps/media-monitor2/tests/test_thread.py b/python_apps/media-monitor2/tests/test_thread.py new file mode 100644 index 000000000..1638a60e3 --- /dev/null +++ b/python_apps/media-monitor2/tests/test_thread.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +import unittest +import time +from media.saas.thread import InstanceThread, InstanceInheritingThread + +# ugly but necessary for 2.7 +signal = False +signal2 = False + +class TestInstanceThread(unittest.TestCase): + def test_user_inject(self): + global signal + signal = False + u = "rudi" + class T(InstanceThread): + def run(me): + global signal + super(T, me).run() + signal = True + self.assertEquals(u, me.user()) + t = T(u, name="test_user_inject") + t.daemon = True + t.start() + time.sleep(0.2) + self.assertTrue(signal) + + def test_inheriting_thread(utest): + global signal2 + u = "testing..." + + class TT(InstanceInheritingThread): + def run(self): + global signal2 + utest.assertEquals(self.user(), u) + signal2 = True + + class T(InstanceThread): + def run(self): + super(T, self).run() + child_thread = TT(name="child thread") + child_thread.daemon = True + child_thread.start() + + parent_thread = T(u, name="Parent instance thread") + parent_thread.daemon = True + parent_thread.start() + + time.sleep(0.2) + utest.assertTrue(signal2) + + def test_different_user(utest): + u1, u2 = "ru", "di" + class T(InstanceThread): + def run(self): + super(T, self).run() + + for u in [u1, u2]: + t = T(u) + t.daemon = True + t.start() + utest.assertEquals(t.user(), u) + + +if __name__ == '__main__': unittest.main()