def test_create_and_delete(self): print "\n[TestTasksCrud] - Create and Delete" data = { "scheduled_time": datetime.strptime("2020-01-01 00:00:00", "%Y-%m-%d %H:%M:%S"), "endpoint_url": "http://example.com/", "endpoint_headers": { "Content-Length": 0 }, "endpoint_body": "Test Body", "endpoint_method": "POST", "max_retry_count": 5 } engine = create_engine('sqlite:///db/test.db', echo=False) tasks = TaskLogic(db_engine=engine) # Create test task task_uuid = tasks.createTask( scheduled_time=data["scheduled_time"], endpoint_url=data["endpoint_url"], endpoint_headers=data["endpoint_headers"], endpoint_body=data["endpoint_body"], endpoint_method=data["endpoint_method"], max_retry_count=data["max_retry_count"]) self.assertIsInstance(task_uuid, str) # Check if the task created can be retrieved from the DB task_retrieved = tasks.getTaskByUUID(task_uuid) self.assertIsInstance(task_retrieved, Task) # Compare values self.assertEqual(task_retrieved.scheduled_time, data["scheduled_time"]) self.assertEqual(task_retrieved.endpoint_url, data["endpoint_url"]) self.assertEqual(task_retrieved.endpoint_headers, data["endpoint_headers"]) self.assertEqual(task_retrieved.endpoint_body, data["endpoint_body"]) self.assertEqual(task_retrieved.endpoint_method, data["endpoint_method"]) self.assertEqual(task_retrieved.max_retry_count, data["max_retry_count"]) # Check Default Values self.assertFalse(task_retrieved.is_sent) self.assertFalse(task_retrieved.is_failed) self.assertIsNone(task_retrieved.sent_date) self.assertEqual(task_retrieved.retry_count, 0) self.assertIsInstance(task_retrieved.created_date, datetime) self.assertIsNone(task_retrieved.last_retry_date) # Delete Task delete_return = tasks.deleteTaskByUUID(task_uuid) self.assertTrue(delete_return) # Confirm that deleted task is gone task_retrieved = tasks.getTaskByUUID(task_uuid) self.assertIsNone(task_retrieved) # Delete all tasks tasks.deleteAllTasks()