diff options
Diffstat (limited to 'tests/db_tests/job_db_test.py')
-rw-r--r-- | tests/db_tests/job_db_test.py | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/tests/db_tests/job_db_test.py b/tests/db_tests/job_db_test.py deleted file mode 100644 index 9b09a80..0000000 --- a/tests/db_tests/job_db_test.py +++ /dev/null @@ -1,193 +0,0 @@ -############################################################################## -# Copyright (c) 2016 EMC and others. -# -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -import os -import sqlite3 -import unittest - -import mock - -from storperf.db.job_db import JobDB -from storperf.workloads.rr import rr - - -class JobDBTest(unittest.TestCase): - - def setUp(self): - - JobDB.db_name = __name__ + '.db' - try: - os.remove(JobDB.db_name) - except OSError: - pass - self.job = JobDB() - - @mock.patch("uuid.uuid4") - def test_create_job(self, mock_uuid): - expected = "ABCDE-12345" - mock_uuid.side_effect = (expected,) - - self.job.create_job_id() - - actual = self.job.job_id - - self.assertEqual( - expected, actual, "Did not expect: " + str(actual)) - - @mock.patch("uuid.uuid4") - def test_duplicate_job_generated(self, mock_uuid): - duplicate = "EDCBA-12345" - expected = "EDCBA-54321" - - mock_uuid.side_effect = (duplicate, duplicate, expected,) - - self.job.create_job_id() - self.job.create_job_id() - - actual = self.job.job_id - - self.assertEqual( - expected, actual, "Did not expect: " + str(actual)) - - @mock.patch("uuid.uuid4") - @mock.patch("calendar.timegm") - def test_start_job(self, mock_calendar, mock_uuid): - job_id = "ABCDE-12345" - start_time = "12345" - mock_calendar.side_effect = (start_time,) - mock_uuid.side_effect = (job_id,) - workload = rr() - - db = sqlite3.connect(JobDB.db_name) - cursor = db.cursor() - - row = cursor.execute( - """select * from jobs - where job_id = ? - and workload = ?""", - (job_id, workload.fullname,)) - - self.assertEqual(None, - row.fetchone(), - "Should not have been a row in the db") - - self.job.start_workload(workload) - - cursor.execute( - """select job_id, workload, start from jobs - where job_id = ? - and workload = ?""", - (job_id, workload.fullname,)) - - row = cursor.fetchone() - - self.assertNotEqual(None, row, "Should be a row in the db") - self.assertEqual(job_id, row[0], "Did not expect " + str(row[0])) - self.assertEqual( - workload.fullname, row[1], "Did not expect " + str(row[1])) - self.assertEqual(start_time, row[2], "Did not expect " + str(row[2])) - - @mock.patch("uuid.uuid4") - @mock.patch("calendar.timegm") - def test_end_job(self, mock_calendar, mock_uuid): - job_id = "ABCDE-12345" - start_time = "12345" - end_time = "54321" - mock_calendar.side_effect = (start_time, end_time,) - mock_uuid.side_effect = (job_id,) - workload = rr() - - self.job.start_workload(workload) - self.job.end_workload(workload) - - db = sqlite3.connect(JobDB.db_name) - cursor = db.cursor() - cursor.execute( - """select job_id, workload, start, end from jobs - where job_id = ? - and workload = ?""", - (job_id, workload.fullname,)) - - row = cursor.fetchone() - - self.assertNotEqual(None, row, "Should be a row in the db") - self.assertEqual(job_id, row[0], "Did not expect " + str(row[0])) - self.assertEqual( - workload.fullname, row[1], "Did not expect " + str(row[1])) - self.assertEqual(start_time, row[2], "Did not expect " + str(row[2])) - self.assertEqual(end_time, row[3], "Did not expect " + str(row[3])) - - @mock.patch("uuid.uuid4") - @mock.patch("calendar.timegm") - def test_duplicate_start_job(self, mock_calendar, mock_uuid): - job_id = "ABCDE-12345" - start_time_1 = "12345" - start_time_2 = "12346" - - mock_calendar.side_effect = (start_time_1, start_time_2) - mock_uuid.side_effect = (job_id,) - workload = rr() - - db = sqlite3.connect(JobDB.db_name) - cursor = db.cursor() - - self.job.start_workload(workload) - self.job.start_workload(workload) - - cursor.execute( - """select job_id, workload, start from jobs - where job_id = ? - and workload = ?""", - (job_id, workload.fullname,)) - - row = cursor.fetchone() - - self.assertNotEqual(None, row, "Should be a row in the db") - self.assertEqual(job_id, row[0], "Did not expect " + str(row[0])) - self.assertEqual( - workload.fullname, row[1], "Did not expect " + str(row[1])) - self.assertEqual(start_time_2, row[2], "Did not expect " + str(row[2])) - - @mock.patch("uuid.uuid4") - @mock.patch("calendar.timegm") - def test_end_job_without_start(self, mock_calendar, mock_uuid): - job_id = "ABCDE-12345" - start_time = "12345" - end_time = "54321" - mock_calendar.side_effect = (start_time, end_time,) - mock_uuid.side_effect = (job_id,) - workload = rr() - - self.job.end_workload(workload) - - db = sqlite3.connect(JobDB.db_name) - cursor = db.cursor() - cursor.execute( - """select job_id, workload, start, end from jobs - where job_id = ? - and workload = ?""", - (job_id, workload.fullname,)) - - row = cursor.fetchone() - - self.assertNotEqual(None, row, "Should be a row in the db") - self.assertEqual(job_id, row[0], "Did not expect " + str(row[0])) - self.assertEqual( - workload.fullname, row[1], "Did not expect " + str(row[1])) - # The start time is set to the same time as end if it was never set - # before - self.assertEqual(start_time, row[2], "Did not expect " + str(row[2])) - self.assertEqual(start_time, row[3], "Did not expect " + str(row[3])) - - def test_job_params(self): - expected = {u"a": 1, u"b": 2} - self.job.job_id = "ABCD" - self.job.record_workload_params(expected) - actual = self.job.fetch_workload_params(self.job.job_id) - self.assertEqual(expected, actual) |