Skip to content
Snippets Groups Projects
Commit 5a149522 authored by Herwin van Welbergen's avatar Herwin van Welbergen
Browse files
parents 21f5df24 8c07170d
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,8 @@ import hamcrest as hc
import ipaaca
def handle_iu_event(iu, event_type, local):
print('(IU event '+event_type+' '+str(iu.uid)+')')
#print('(IU event '+event_type+' '+str(iu.uid)+')')
pass
class IpaacaIUStoreTestCase(unittest.TestCase):
def setUp(self):
......@@ -63,6 +64,21 @@ class IpaacaCommitTestCases(unittest.TestCase):
time.sleep(0.1)
received_iu = self.ib.iu_store[self.iu.uid]
self.assertTrue(received_iu.committed)
def testCommitAndLocalWrite(self):
self.ob.add(self.iu)
time.sleep(0.1)
self.iu.commit()
with self.assertRaises(ipaaca.IUCommittedError):
self.iu.payload['data'] = 'updatedData'
def testCommitAndRemoteWrite(self):
self.ob.add(self.iu)
time.sleep(0.1)
self.iu.commit()
received_iu = self.ib.iu_store[self.iu.uid]
with self.assertRaises(ipaaca.IUCommittedError):
received_iu.payload['data'] = 'updatedData'
class IpaacaLinksTestCase(unittest.TestCase):
......@@ -102,6 +118,56 @@ class IpaacaLinksTestCase(unittest.TestCase):
grinlinks = received_iu.get_links('grin')
self.assertEqual(len(grinlinks), 0)
class IpaacaCommitTestCase(unittest.TestCase):
def setUp(self):
self.ib = ipaaca.InputBuffer('TestIn', ['sensorcategory'])
self.ib.register_handler(handle_iu_event)
self.ob = ipaaca.OutputBuffer('TestOut')
self.sensor_iu = ipaaca.IU('sensorcategory')
self.sensor_iu.payload = {'data': 'sensordata'}
time.sleep(0.1)
self.ob.add(self.sensor_iu)
time.sleep(0.1)
def tearDown(self):
pass
def testCommitAndLocalWrite(self):
self.sensor_iu.commit()
with self.assertRaises(ipaaca.IUCommittedError):
self.sensor_iu.payload['data'] = 'updatedData'
def testCommitAndRemoteWrite(self):
self.sensor_iu.commit()
received_iu = self.ib.iu_store[self.sensor_iu.uid]
with self.assertRaises(ipaaca.IUCommittedError):
received_iu.payload['data'] = 'updatedData'
class IpaacaRemoteWriteTestCase(unittest.TestCase):
def setUp(self):
self.ib = ipaaca.InputBuffer('TestIn', ['sensorcategory'])
self.ib.register_handler(handle_iu_event)
self.ob = ipaaca.OutputBuffer('TestOut')
self.iu = ipaaca.IU('sensorcategory')
self.iu.payload = {'data': 'sensordata'}
time.sleep(0.1)
self.ob.add(self.iu)
time.sleep(0.1)
def tearDown(self):
pass
def testRemotePayloadChange(self):
self.assertIn(self.iu.uid, self.ib.iu_store)
received_iu = self.ib.iu_store[self.iu.uid]
received_iu.payload['data'] = 'updatedData'
time.sleep(0.1)
self.assertEqual(self.iu.payload['data'], 'updatedData')
def testRemotePayloadReplace(self):
self.assertIn(self.iu.uid, self.ib.iu_store)
received_iu = self.ib.iu_store[self.iu.uid]
received_iu.payload = { 'key1': 'value1', 'key2': 'value2' }
time.sleep(0.1)
self.assertEqual(len(self.iu.payload), 2)
self.assertEqual(self.iu.payload['key1'], 'value1')
self.assertEqual(self.iu.payload['key2'], 'value2')
if __name__ == '__main__':
unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment