summaryrefslogtreecommitdiff
path: root/trove/tests/unittests/guestagent/test_mysql_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/tests/unittests/guestagent/test_mysql_manager.py')
-rw-r--r--trove/tests/unittests/guestagent/test_mysql_manager.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/trove/tests/unittests/guestagent/test_mysql_manager.py b/trove/tests/unittests/guestagent/test_mysql_manager.py
index 76820d8b..6752a14e 100644
--- a/trove/tests/unittests/guestagent/test_mysql_manager.py
+++ b/trove/tests/unittests/guestagent/test_mysql_manager.py
@@ -26,6 +26,7 @@ import trove.guestagent.datastore.mysql.service as dbaas
from trove.guestagent import backup
from trove.guestagent.volume import VolumeDevice
from trove.guestagent import pkg as pkg
+from proboscis.asserts import assert_equal
class GuestAgentManagerTest(testtools.TestCase):
@@ -361,3 +362,40 @@ class GuestAgentManagerTest(testtools.TestCase):
self.manager.demote_replication_master(self.context)
# assertions
self.assertEqual(mock_replication.demote_master.call_count, 1)
+
+ def test_get_master_UUID(self):
+ app = dbaas.MySqlApp(None)
+
+ def test_case(slave_status, expected_value):
+ with patch.object(dbaas.MySqlApp, '_get_slave_status',
+ return_value=slave_status):
+ assert_equal(app._get_master_UUID(), expected_value)
+
+ test_case({'Master_UUID': '2a5b-2064-32fb'}, '2a5b-2064-32fb')
+ test_case({'Master_UUID': ''}, None)
+ test_case({}, None)
+
+ def test_get_last_txn(self):
+
+ def test_case(gtid_list, expected_value):
+ with patch.object(dbaas.MySqlApp, '_get_gtid_executed',
+ return_value=gtid_list):
+ txn = self.manager.get_last_txn(self.context)
+ assert_equal(txn, expected_value)
+
+ with patch.object(dbaas.MySqlApp, '_get_slave_status',
+ return_value={'Master_UUID': '2a5b-2064-32fb'}):
+ test_case('2a5b-2064-32fb:1', ('2a5b-2064-32fb', 1))
+ test_case('2a5b-2064-32fb:1-5', ('2a5b-2064-32fb', 5))
+ test_case('2a5b-2064-32fb:1,4b4-23:5', ('2a5b-2064-32fb', 1))
+ test_case('4b4-23:5,2a5b-2064-32fb:1', ('2a5b-2064-32fb', 1))
+ test_case('4b-23:5,2a5b-2064-32fb:1,25:3-4', ('2a5b-2064-32fb', 1))
+ test_case('4b4-23:1-5,2a5b-2064-32fb:1-10', ('2a5b-2064-32fb', 10))
+
+ with patch.object(dbaas.MySqlApp, '_get_slave_status',
+ return_value={'Master_UUID': ''}):
+ test_case('2a5b-2064-32fb:1', (None, 0))
+
+ with patch.object(dbaas.MySqlApp, '_get_slave_status',
+ return_value={}):
+ test_case('2a5b-2064-32fb:1', (None, 0))