import unittest import xmlrpclib from gacksreceipt import * class TestGacksReceipt(unittest.TestCase): def setUp(self): pass def testCreate(self): h = GacksHandle("cpu", 10, 15, 20, 25) r = GacksReceipt(subject="foo1", handle = h, action="foo") self.assertEqual(r.handle, h) self.assertEqual(r.action, "foo") def testSetHandle(self): h = GacksHandle("cpu", 10, 15, 20, 25) r = GacksReceipt(subject="foo1", handle = h) self.assertEqual(r.handle, h) h2 = GacksHandle("cpu", 10, 15, 20, 25) r.SetHandle(h2); self.assertEqual(r.handle, h2) def testSetAction(self): h = GacksHandle("cpu", 10, 15, 20, 25) r = GacksReceipt(subject="foo1", handle = h, action="foo") self.assertEqual(r.action, "foo") r.SetAction("bar"); self.assertEqual(r.action, "bar") def testEncodeDecode(self): h = GacksHandle("cpu", 10, 15, 20, 25) rec1 = GacksRecord("cpu", 10, 13, 20, 25, ["aaa","bbb"], "slice1") rec2 = GacksRecord("cpu", 13, 15, 20, 25, ["aaa","bbb"], "slice1") r = GacksReceipt(subject="foo1", handle = h, action="foo", reclist=[rec1,rec2]) r.encode() str = r.save_to_string() r2 = GacksReceipt(string = str) #r2.decode() #r2.dump() h2 = r2.GetHandle() self.assertEqual(h2.id, "cpu") self.assertEqual(h2.unitStart, 10) self.assertEqual(h2.unitStop, 15) self.assertEqual(h2.timeStart, 20) self.assertEqual(h2.timeStop, 25) self.assertEqual(r2.GetAction(), "foo") reclist = r2.GetRecords() r1=reclist[0] r2=reclist[1] self.assertEqual(r1.id, "cpu") self.assertEqual(r1.unitStart, 10) self.assertEqual(r1.unitStop, 13) self.assertEqual(r1.timeStart, 20) self.assertEqual(r1.timeStop, 25) self.assertEqual(r2.id, "cpu") self.assertEqual(r2.unitStart, 13) self.assertEqual(r2.unitStop, 15) self.assertEqual(r2.timeStart, 20) self.assertEqual(r2.timeStop, 25) if __name__ == "__main__": unittest.main()