summaryrefslogtreecommitdiff
path: root/troveclient
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2020-08-12 22:06:41 +1200
committerLingxian Kong <anlin.kong@gmail.com>2020-08-12 22:29:04 +1200
commitac96356fd5adf017d8d188492d8ee5bda4b49017 (patch)
tree4bc86e31594d5918a51b0ab60782e026c54adc48 /troveclient
parent61b76377fd41c312cafc0470cffdaee8143507e7 (diff)
downloadpython-troveclient-ac96356fd5adf017d8d188492d8ee5bda4b49017.tar.gz
Fix create instance
Change-Id: I750434c7ebc9038b0acf0e657768f57981817e1f
Diffstat (limited to 'troveclient')
-rw-r--r--troveclient/osc/v1/database_instances.py2
-rw-r--r--troveclient/tests/osc/v1/test_database_instances.py83
2 files changed, 84 insertions, 1 deletions
diff --git a/troveclient/osc/v1/database_instances.py b/troveclient/osc/v1/database_instances.py
index 9935420..ee4b155 100644
--- a/troveclient/osc/v1/database_instances.py
+++ b/troveclient/osc/v1/database_instances.py
@@ -86,7 +86,7 @@ def set_attributes_for_print_detail(instance):
info['fault_details'] = instance.fault['details']
if hasattr(instance, 'access'):
info['public'] = instance.access["is_public"]
- info['allowed_cidrs'] = instance.access["allowed_cidrs"]
+ info['allowed_cidrs'] = instance.access.get('allowed_cidrs', [])
info.pop("access", None)
info.pop('links', None)
diff --git a/troveclient/tests/osc/v1/test_database_instances.py b/troveclient/tests/osc/v1/test_database_instances.py
index 2ffd84d..19ef30e 100644
--- a/troveclient/tests/osc/v1/test_database_instances.py
+++ b/troveclient/tests/osc/v1/test_database_instances.py
@@ -19,6 +19,7 @@ from oslo_utils import uuidutils
from troveclient import common
from troveclient.osc.v1 import database_instances
from troveclient.tests.osc.v1 import fakes
+from troveclient.v1 import instances
class TestInstances(fakes.TestDatabasev1):
@@ -239,6 +240,88 @@ class TestDatabaseInstanceCreate(TestInstances):
self.assertEqual(self.columns, columns)
self.assertEqual(self.values, data)
+ def test_instance_create_without_allowed_cidrs(self):
+ resp = {
+ "id": "a1fea1cf-18ad-48ab-bdfd-fce99a4b834e",
+ "name": "test-mysql",
+ "status": "BUILD",
+ "flavor": {
+ "id": "a48ea749-7ee3-4003-8aae-eb4e79773e2d"
+ },
+ "datastore": {
+ "type": "mysql",
+ "version": "5.7.29"
+ },
+ "region": "RegionOne",
+ "access": {
+ "is_public": True
+ },
+ "volume": {
+ "size": 1
+ },
+ "created": "2020-08-12T09:41:47",
+ "updated": "2020-08-12T09:41:47",
+ "service_status_updated": "2020-08-12T09:41:47"
+ }
+ self.instance_client.create.return_value = instances.Instance(
+ mock.MagicMock(), resp)
+
+ args = [
+ 'test-mysql',
+ '--flavor', 'a48ea749-7ee3-4003-8aae-eb4e79773e2d',
+ '--size', '1',
+ '--datastore', "mysql",
+ '--datastore-version', "5.7.29",
+ '--nic', 'net-id=net1',
+ '--is-public'
+ ]
+ verifylist = [
+ ('name', 'test-mysql'),
+ ('flavor', 'a48ea749-7ee3-4003-8aae-eb4e79773e2d'),
+ ('size', 1),
+ ('datastore', "mysql"),
+ ('datastore_version', "5.7.29"),
+ ('nics', 'net-id=net1'),
+ ('is_public', True),
+ ('allowed_cidrs', None)
+ ]
+
+ parsed_args = self.check_parser(self.cmd, args, verifylist)
+ columns, data = self.cmd.take_action(parsed_args)
+
+ expected_columns = (
+ 'allowed_cidrs',
+ 'created',
+ 'datastore',
+ 'datastore_version',
+ 'flavor',
+ 'id',
+ 'name',
+ 'public',
+ 'region',
+ 'service_status_updated',
+ 'status',
+ 'updated',
+ 'volume',
+ )
+ expected_values = (
+ [],
+ "2020-08-12T09:41:47",
+ "mysql",
+ "5.7.29",
+ "a48ea749-7ee3-4003-8aae-eb4e79773e2d",
+ "a1fea1cf-18ad-48ab-bdfd-fce99a4b834e",
+ "test-mysql",
+ True,
+ "RegionOne",
+ "2020-08-12T09:41:47",
+ "BUILD",
+ "2020-08-12T09:41:47",
+ 1,
+ )
+ self.assertEqual(expected_columns, columns)
+ self.assertEqual(expected_values, data)
+
class TestDatabaseInstanceResetStatus(TestInstances):