Skip to content

Commit

Permalink
storage api tests added
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianespejo committed Oct 15, 2019
1 parent 4e1cbb6 commit 006968b
Showing 1 changed file with 120 additions and 3 deletions.
123 changes: 120 additions & 3 deletions hecuba_py/tests/storage_api_tests.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import unittest
import uuid
import logging

from storage.api import getByID
from storage.api import getByID, TaskContext, start_task, end_task
from hecuba import config, StorageDict


Expand All @@ -10,12 +12,127 @@ class ApiTestSDict(StorageDict):
'''


class StorageApi_Tests(unittest.TestCase):
select_time = "SELECT * FROM hecuba.partitioning"
create_partitioning = """CREATE TABLE IF NOT EXISTS hecuba.partitioning(
partitioning_uuid uuid,
storage_id uuid,
number_of_partitions int,
start_time double,
end_time double,
PRIMARY KEY (storage_id))
WITH default_time_to_live = 86400"""

def class_type_test(self):

class SimpleObject:
pass


class StorageApiTest(unittest.TestCase):

def test_class_type(self):
base_dict = ApiTestSDict('test.api_sdict')
storage_id = base_dict.getID()
del base_dict

rebuild_dict = getByID(storage_id)
self.assertTrue(isinstance(rebuild_dict, ApiTestSDict))

def test_start_task_uuid(self):
config.session.execute("DROP TABLE IF EXISTS hecuba.partitioning")
config.session.execute(create_partitioning)

storage_id = uuid.uuid4()
simple_obj = SimpleObject()
simple_obj._storage_id = storage_id

start_task([simple_obj])

inserted = list(config.session.execute(select_time))
self.assertEqual(len(inserted), 1)
self.assertEqual(inserted[0].storage_id, storage_id)
self.assertNotEqual(inserted[0].start_time, None)

def test_end_task_uuid(self):
config.session.execute("DROP TABLE IF EXISTS hecuba.partitioning")
config.session.execute(create_partitioning)

storage_id = uuid.uuid4()
simple_obj = SimpleObject()
simple_obj._storage_id = storage_id

end_task([simple_obj])

inserted = list(config.session.execute(select_time))
self.assertEqual(len(inserted), 1)
self.assertEqual(inserted[0].storage_id, storage_id)
self.assertNotEqual(inserted[0].end_time, None)

def test_task_context_uuid(self):
config.session.execute("DROP TABLE IF EXISTS hecuba.partitioning")
config.session.execute(create_partitioning)

storage_id = uuid.uuid4()
simple_obj = SimpleObject()
simple_obj._storage_id = storage_id

task_context = TaskContext(logger=logging, values=[simple_obj])
task_context.__enter__()
task_context.__exit__(type=None, value=None, traceback=None)

inserted = list(config.session.execute(select_time))
self.assertEqual(len(inserted), 1)
self.assertEqual(inserted[0].storage_id, storage_id)
self.assertNotEqual(inserted[0].start_time, None)
self.assertNotEqual(inserted[0].end_time, None)

def test_start_task_key(self):
config.session.execute("DROP TABLE IF EXISTS hecuba.partitioning")
config.session.execute(create_partitioning)

storage_id = uuid.uuid4()
simple_obj = SimpleObject()
simple_obj.__dict__["key"] = str(storage_id)

start_task([simple_obj])

inserted = list(config.session.execute(select_time))
self.assertEqual(len(inserted), 1)
self.assertEqual(inserted[0].storage_id, storage_id)
self.assertNotEqual(inserted[0].start_time, None)

def test_end_task_key(self):
config.session.execute("DROP TABLE IF EXISTS hecuba.partitioning")
config.session.execute(create_partitioning)

storage_id = uuid.uuid4()
simple_obj = SimpleObject()
simple_obj.__dict__["key"] = str(storage_id)

end_task([simple_obj])

inserted = list(config.session.execute(select_time))
self.assertEqual(len(inserted), 1)
self.assertEqual(inserted[0].storage_id, storage_id)
self.assertNotEqual(inserted[0].end_time, None)

def test_task_context_key(self):
config.session.execute("DROP TABLE IF EXISTS hecuba.partitioning")
config.session.execute(create_partitioning)

storage_id = uuid.uuid4()
simple_obj = SimpleObject()
simple_obj.__dict__["key"] = str(storage_id)

task_context = TaskContext(logger=logging, values=[simple_obj])
task_context.__enter__()
task_context.__exit__(type=None, value=None, traceback=None)

inserted = list(config.session.execute(select_time))
self.assertEqual(len(inserted), 1)
self.assertEqual(inserted[0].storage_id, storage_id)
self.assertNotEqual(inserted[0].start_time, None)
self.assertNotEqual(inserted[0].end_time, None)


if __name__ == "__main__":
unittest.main()

0 comments on commit 006968b

Please sign in to comment.