def setUp(self): self.engine = create_engine('sqlite:///:memory:') self.store = SqlStore(self.engine) msgs = [{ "i": 0, "topic": "org.foo.bar", "msg_id": "11111111-1111-1111-1111-111111111111", "timestamp": 2, "seq_id": 1, "msg": { "foo": "bar" }, }, { "i": 1, "topic": "org.foo.bar", "msg_id": "22222222-2222-2222-2222-222222222222", "timestamp": 10, "seq_id": 2, "msg": { "foo": "baz" }, }] session = self.store.session_class() for m in msgs: session.add( SqlMessage(seq_id=m['seq_id'], uuid=m['msg_id'], timestamp=datetime.fromtimestamp(m['timestamp']), topic=m['topic'], msg=json.dumps(m))) session.commit()
def setUp(self): self.engine = create_engine('sqlite:///:memory:') self.store = SqlStore(self.engine) msgs = [ { "i": 0, "topic": "org.foo.bar", "msg_id": "11111111-1111-1111-1111-111111111111", "timestamp": 2, "seq_id": 1, "msg": {"foo": "bar"}, }, { "i": 1, "topic": "org.foo.bar", "msg_id": "22222222-2222-2222-2222-222222222222", "timestamp": 10, "seq_id": 2, "msg": {"foo": "baz"}, } ] session = self.store.session_class() for m in msgs: session.add(SqlMessage( seq_id=m['seq_id'], uuid=m['msg_id'], timestamp=datetime.fromtimestamp(m['timestamp']), topic=m['topic'], msg=json.dumps(m) )) session.commit()
class TestSqlStore(unittest.TestCase): def setUp(self): self.engine = create_engine('sqlite:///:memory:') self.store = SqlStore(self.engine) msgs = [{ "i": 0, "topic": "org.foo.bar", "msg_id": "11111111-1111-1111-1111-111111111111", "timestamp": 2, "seq_id": 1, "msg": { "foo": "bar" }, }, { "i": 1, "topic": "org.foo.bar", "msg_id": "22222222-2222-2222-2222-222222222222", "timestamp": 10, "seq_id": 2, "msg": { "foo": "baz" }, }] session = self.store.session_class() for m in msgs: session.add( SqlMessage(seq_id=m['seq_id'], uuid=m['msg_id'], timestamp=datetime.fromtimestamp(m['timestamp']), topic=m['topic'], msg=json.dumps(m))) session.commit() def test_add(self): orig_msg = { "i": 2, "topic": "org.foo.bar", "msg_id": "33333333-3333-3333-3333-333333333333", "timestamp": 20, "msg": { "foo": "foo" } } # make a copy to avoid squewing the comparison ret = self.store.add(dict(orig_msg)) orig_msg['seq_id'] = 3 self.assertDictEqual(ret, orig_msg) session = self.store.session_class() sql_msg = session.query(SqlMessage)\ .filter(SqlMessage.seq_id == 3).one() self.assertDictEqual(json.loads(sql_msg.msg), orig_msg) def test_get_seq_id(self): first = self.store.get({"seq_id": 1}) assert len(first) == 1 and first[0]['i'] == 0 def test_get_time(self): first, second = self.store.get({"time": [0, 15]}) assert ((first['i'] == 0 and second['i'] == 1) or (first['i'] == 1 and second['i'] == 0)) @raises(ValueError) def test_get_wrong_seq_id(self): first = self.store.get({"seq_id": 18}) @raises(ValueError) def test_get_illformed_time(self): first, second = self.store.get({"time": [0, 15, 3]})
class TestSqlStore(unittest.TestCase): def setUp(self): self.engine = create_engine('sqlite:///:memory:') self.store = SqlStore(self.engine) msgs = [ { "i": 0, "topic": "org.foo.bar", "msg_id": "11111111-1111-1111-1111-111111111111", "timestamp": 2, "seq_id": 1, "msg": {"foo": "bar"}, }, { "i": 1, "topic": "org.foo.bar", "msg_id": "22222222-2222-2222-2222-222222222222", "timestamp": 10, "seq_id": 2, "msg": {"foo": "baz"}, } ] session = self.store.session_class() for m in msgs: session.add(SqlMessage( seq_id=m['seq_id'], uuid=m['msg_id'], timestamp=datetime.fromtimestamp(m['timestamp']), topic=m['topic'], msg=json.dumps(m) )) session.commit() def test_add(self): orig_msg = { "i": 2, "topic": "org.foo.bar", "msg_id": "33333333-3333-3333-3333-333333333333", "timestamp": 20, "msg": {"foo": "foo"} } # make a copy to avoid squewing the comparison ret = self.store.add(dict(orig_msg)) orig_msg['seq_id'] = 3 self.assertDictEqual(ret, orig_msg) session = self.store.session_class() sql_msg = session.query(SqlMessage)\ .filter(SqlMessage.seq_id == 3).one() self.assertDictEqual(json.loads(sql_msg.msg), orig_msg) def test_get_seq_id(self): first = self.store.get({"seq_id": 1}) assert len(first) == 1 and first[0]['i'] == 0 def test_get_time(self): first, second = self.store.get({"time": [0, 15]}) assert ( (first['i'] == 0 and second['i'] == 1) or (first['i'] == 1 and second['i'] == 0)) @raises(ValueError) def test_get_wrong_seq_id(self): first = self.store.get({"seq_id": 18}) @raises(ValueError) def test_get_illformed_time(self): first, second = self.store.get({"time": [0, 15, 3]})