summaryrefslogtreecommitdiffstats
path: root/storperf/tests/db_tests
diff options
context:
space:
mode:
authorMark Beierl <mark.beierl@emc.com>2016-07-14 16:20:44 -0400
committerMark Beierl <mark.beierl@emc.com>2016-07-14 16:20:44 -0400
commit2227414bd57f4b7f5f275d915fa8f6a2aa21f8f7 (patch)
treeb7ed9d0e356d27383396d680b059b4ab18069915 /storperf/tests/db_tests
parentce3f927c2bc98eaf124e96f99cbcc33fbebabeed (diff)
Separation of test and source
Moving the test files into their own top-level directory to keep things clean Change-Id: Ic50b881045bc59b003807923424345b335dd5c95 Signed-off-by: Mark Beierl <mark.beierl@emc.com>
Diffstat (limited to 'storperf/tests/db_tests')
-rw-r--r--storperf/tests/db_tests/__init__.py8
-rw-r--r--storperf/tests/db_tests/configuration_db_test.py66
-rw-r--r--storperf/tests/db_tests/graphite_db_test.py55
-rw-r--r--storperf/tests/db_tests/job_db_test.py192
4 files changed, 0 insertions, 321 deletions
diff --git a/storperf/tests/db_tests/__init__.py b/storperf/tests/db_tests/__init__.py
deleted file mode 100644
index 73334c7..0000000
--- a/storperf/tests/db_tests/__init__.py
+++ /dev/null
@@ -1,8 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 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
-##############################################################################
diff --git a/storperf/tests/db_tests/configuration_db_test.py b/storperf/tests/db_tests/configuration_db_test.py
deleted file mode 100644
index e8b7188..0000000
--- a/storperf/tests/db_tests/configuration_db_test.py
+++ /dev/null
@@ -1,66 +0,0 @@
-##############################################################################
-# Copyright (c) 2015 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
-##############################################################################
-
-from storperf.db.configuration_db import ConfigurationDB
-import os
-import unittest
-
-
-class ConfigurationDBTest(unittest.TestCase):
-
- def setUp(self):
- ConfigurationDB.db_name = __name__ + ".db"
- try:
- os.remove(ConfigurationDB.db_name)
- except OSError:
- pass
-
- self.config_db = ConfigurationDB()
-
- def test_create_key(self):
- expected = "ABCDE-12345"
-
- self.config_db.set_configuration_value(
- "test", "key", expected)
-
- actual = self.config_db.get_configuration_value(
- "test", "key")
-
- self.assertEqual(
- expected, actual, "Did not expect: " + str(actual))
-
- def test_update_key(self):
- expected = "ABCDE-12345"
-
- self.config_db.set_configuration_value(
- "test", "key", "initial_value")
-
- self.config_db.set_configuration_value(
- "test", "key", expected)
-
- actual = self.config_db.get_configuration_value(
- "test", "key")
-
- self.assertEqual(
- expected, actual, "Did not expect: " + str(actual))
-
- def test_deleted_key(self):
- expected = None
-
- self.config_db.set_configuration_value(
- "test", "key", "initial_value")
-
- self.config_db.delete_configuration_value(
- "test", "key")
-
- actual = self.config_db.get_configuration_value(
- "test", "key")
-
- self.assertEqual(
- expected, actual, "Did not expect: " + str(actual))
diff --git a/storperf/tests/db_tests/graphite_db_test.py b/storperf/tests/db_tests/graphite_db_test.py
deleted file mode 100644
index e13545b..0000000
--- a/storperf/tests/db_tests/graphite_db_test.py
+++ /dev/null
@@ -1,55 +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
-##############################################################################
-
-from storperf.db.graphite_db import GraphiteDB
-import unittest
-
-
-class GraphiteDBTest(unittest.TestCase):
-
- def setUp(self):
- self.graphdb = GraphiteDB()
- self.graphdb._job_db = self
-
- def test_wildcard_pattern(self):
- workload = "job_id"
- expected = "job_id.*.*.*.*.*.*"
- actual = self.graphdb.make_fullname_pattern(workload)
- self.assertEqual(expected, actual, actual)
-
- def test_no_wildcard_pattern(self):
- workload = "job_id.workload.host.queue-depth.1.block-size.16"
- actual = self.graphdb.make_fullname_pattern(workload)
- self.assertEqual(workload, actual, actual)
-
- def test_fetch_averages(self):
- # self.graphdb.fetch_averages(u'32d31724-fac1-44f3-9033-ca8e00066a36')
- pass
-
- def fetch_workloads(self, workload):
- workloads = [[u'32d31724-fac1-44f3-9033-ca8e00066a36.'
- u'_warm_up.queue-depth.32.block-size.8192.10-9-15-151',
- u'1462379653', u'1462379893'],
- [u'32d31724-fac1-44f3-9033-ca8e00066a36.'
- u'_warm_up.queue-depth.32.block-size.8192.10-9-15-150',
- u'1462379653', u'1462379898'],
- [u'32d31724-fac1-44f3-9033-ca8e00066a36'
- u'.rw.queue-depth.128.block-size.8192.10-9-15-151',
- u'1462379898', u'1462380028'],
- [u'32d31724-fac1-44f3-9033-ca8e00066a36'
- u'.rw.queue-depth.128.block-size.8192.10-9-15-150',
- u'1462379898', u'1462380032'],
- [u'32d31724-fac1-44f3-9033-ca8e00066a36'
- u'.rw.queue-depth.16.block-size.8192.10-9-15-151',
- u'1462380032', u'1462380312'],
- [u'32d31724-fac1-44f3-9033-ca8e00066a36'
- u'.rw.queue-depth.16.block-size.8192.10-9-15-150',
- u'1462380032', u'1462380329'],
- ]
- return workloads
diff --git a/storperf/tests/db_tests/job_db_test.py b/storperf/tests/db_tests/job_db_test.py
deleted file mode 100644
index fe3d9f1..0000000
--- a/storperf/tests/db_tests/job_db_test.py
+++ /dev/null
@@ -1,192 +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
-##############################################################################
-
-from storperf.db.job_db import JobDB
-from storperf.workloads.rr import rr
-import os
-import sqlite3
-import unittest
-
-import mock
-
-
-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 = {"a": "1", "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)