[hamster-applet] ah, right, the test thing
- From: Toms Baugis <tbaugis src gnome org>
- To: svn-commits-list gnome org
- Subject: [hamster-applet] ah, right, the test thing
- Date: Tue, 2 Jun 2009 06:47:35 -0400 (EDT)
commit 22d16e4111b852382d55db51a9a720a96c6ccd52
Author: Toms Bauģis <toms baugis gmail com>
Date: Tue Jun 2 11:46:56 2009 +0100
ah, right, the test thing
---
tests/hamsterdbus_test.py | 174 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 174 insertions(+), 0 deletions(-)
diff --git a/tests/hamsterdbus_test.py b/tests/hamsterdbus_test.py
new file mode 100644
index 0000000..6bb0b28
--- /dev/null
+++ b/tests/hamsterdbus_test.py
@@ -0,0 +1,174 @@
+import dbus
+import unittest
+import datetime as dt
+
+from string import letters
+from random import choice
+from calendar import timegm
+
+from hamster.hamsterdbus import HAMSTER_PATH, HAMSTER_URI
+
+def rndstr(length=10):
+ result = ''
+ for i in range(1,10):
+ result += choice(letters)
+
+ return result
+
+class TestTracking(unittest.TestCase):
+ def setUp(self):
+ self.bus = dbus.SessionBus()
+ self.hamster = self.bus.get_object(HAMSTER_URI, HAMSTER_PATH)
+
+ self.addfact = self.hamster.get_dbus_method('AddFact')
+ self.getfactbyid = self.hamster.get_dbus_method('GetFactById')
+ self.removefact = self.hamster.get_dbus_method('RemoveFact')
+ self.getcurrentfact = self.hamster.get_dbus_method('GetCurrentFact')
+ self.addactivity = self.hamster.get_dbus_method('AddActivity')
+ self.getactivities = self.hamster.get_dbus_method('GetActivities')
+ self.removeactivity = self.hamster.get_dbus_method('RemoveActivity')
+ self.addcategory = self.hamster.get_dbus_method('AddCategory')
+ self.getcategories = self.hamster.get_dbus_method('GetCategories')
+ self.removecategory = self.hamster.get_dbus_method('RemoveCategory')
+ self.stoptracking = self.hamster.get_dbus_method('StopTracking')
+
+ def test_addfact(self):
+ fact = self.__rndfactgenerator()
+
+ activity = fact['name'] + '@' + fact['category'] + ',' + \
+ fact['description']
+ fact_id = self.addfact(activity, fact['start_time'], fact['end_time'])
+ self.failUnless(type(fact_id) == dbus.Int32 and fact_id != 0,
+ 'expected non-zero dbus.Int32 as return value')
+
+ dbfact = self.getfactbyid(fact_id)
+ self.assertEqual(fact['name'], dbfact['name'],
+ 'expected same activity name')
+ self.assertEqual(fact['category'], dbfact['category'],
+ 'expected same category name')
+ self.assertEqual(fact['description'], dbfact['description'],
+ 'expected same description name')
+ self.assertEqual(fact['start_time'], dbfact['start_time'],
+ 'expected same start_time')
+ self.assertEqual(fact['end_time'], dbfact['end_time'],
+ 'expected same end_time')
+
+ self.removeactivity(dbfact['name'], dbfact['category'])
+ result = self.__findactivity(dbfact['name'], dbfact['category'])
+ self.assertFalse(result, 'not expecting %s %s in database' % \
+ (dbfact['name'], dbfact['category']))
+
+ self.removecategory(dbfact['category'])
+ result = self.__findcategory(dbfact['category'])
+ self.assertFalse(result, 'not expecting %s in database' % \
+ dbfact['category'])
+
+ self.removefact(fact_id)
+ deletedfact = self.getfactbyid(fact_id)
+ self.assertEqual(deletedfact['name'], '',
+ 'expected no name on deleted fact')
+ self.assertEqual(deletedfact['category'], '',
+ 'expected no category on deleted fact')
+ self.assertEqual(deletedfact['description'], '',
+ 'expected no description on deleted fact')
+ self.assertEqual(deletedfact['start_time'], 0,
+ 'expected no start_time on deleted fact')
+ self.assertEqual(deletedfact['end_time'], 0,
+ 'expected no end_time on deleted fact')
+
+ def test_getcurrent_stop(self):
+ fact = self.__rndfactgenerator()
+
+ activity = fact['name'] + '@' + fact['category'] + ',' + \
+ fact['description']
+ fact_id = self.addfact(activity, fact['start_time'], 0)
+ self.failUnless(type(fact_id) == dbus.Int32 and fact_id != 0,
+ 'expected non-zero dbus.Int32 as return value')
+
+ current = self.getcurrentfact()
+ self.assertEqual(fact['name'], current['name'],
+ 'expected same activity name')
+ self.assertEqual(fact['category'], current['category'],
+ 'expected same category name')
+ self.assertEqual(fact['description'], current['description'],
+ 'expected same description name')
+ self.assertEqual(fact['start_time'], current['start_time'],
+ 'expected same start_time')
+ self.assertEqual(0, current['end_time'],
+ 'expected same end_time')
+
+ self.stoptracking()
+ current = self.getcurrentfact()
+ self.assertEqual(current['name'], '',
+ 'expected no name on deleted fact')
+ self.assertEqual(current['category'], '',
+ 'expected no category on deleted fact')
+ self.assertEqual(current['description'], '',
+ 'expected no description on deleted fact')
+ self.assertEqual(current['start_time'], 0,
+ 'expected no start_time on deleted fact')
+ self.assertEqual(current['end_time'], 0,
+ 'expected no end_time on deleted fact')
+
+ self.removeactivity(fact['name'], fact['category'])
+ result = self.__findactivity(fact['name'], fact['category'])
+ self.assertFalse(result, 'not expecting %s %s in database' % \
+ (fact['name'], fact['category']))
+
+ self.removecategory(fact['category'])
+ result = self.__findcategory(fact['category'])
+ self.assertFalse(result, 'not expecting %s in database' % \
+ fact['category'])
+
+ def test_activity(self):
+ act = rndstr()
+ cat = rndstr()
+
+ self.addactivity(act, cat)
+ result = self.__findactivity(act, cat)
+ self.assertTrue(result, 'expecting %s %s has been created' % (act, cat))
+
+ self.removeactivity(act, cat)
+ result = self.__findactivity(act, cat)
+ self.assertFalse(result, 'not expecting %s %s in database' % (act, cat))
+
+ self.removecategory(cat)
+ result = self.__findcategory(cat)
+ self.assertFalse(result, 'not expecting %s in database' % cat)
+
+ def test_category(self):
+ cat = rndstr()
+
+ self.addcategory(cat)
+ result = self.__findcategory(cat)
+ self.assertTrue(result, 'expecting %s has been created' % cat)
+
+ self.removecategory(cat)
+ result = self.__findcategory(cat)
+ self.assertFalse(result, 'not expecting %s in database' % cat)
+
+ def __rndfactgenerator(self):
+ fact = {'name':rndstr(), 'category':rndstr(),
+ 'description':rndstr(),
+ 'start_time':timegm(dt.datetime.now().timetuple()),
+ 'end_time':timegm((dt.datetime.now() + \
+ dt.timedelta(hours=1)).timetuple())}
+ return fact
+
+ def __findactivity(self, act, cat):
+ found = False
+ for activity, category in self.getactivities():
+ if activity.lower() == act.lower() and \
+ category.lower() == cat.lower():
+ found = True
+ return found
+
+ def __findcategory(self, cat):
+ found = False
+ for category in self.getcategories():
+ if category.lower() == cat.lower():
+ found = True
+ return found
+
+if __name__ == '__main__':
+ unittest.main()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]