Files
python-troveclient/troveclient/tests/osc/v1/test_database_flavors.py
Trevor McCasland 4eebd56786 Add OpenStackClient plugin and flavor list
This change adds database support to the python-openstackclient
through a plugin and tests.

The support can be demonstrated through the implementation of
the trove command flavor-list which is now:
    openstack database flavor list

Use the -v or --debug flag to see the calls being made to the correct
flavor list function.

ubuntu@ubuntu:~$ openstack database flavor list -v
START with options: [u'database', u'flavor', u'list', u'-v']
command: database flavor list -> troveclient.osc.v1.flavors.ListFlavors
Using auth plugin: password
+-----+-----------+-------+-------+------+-----------+
|  id | name      |   RAM | vCPUs | Disk | ephemeral |
+-----+-----------+-------+-------+------+-----------+
|   1 | m1.tiny   |   512 |     1 |    1 |         0 |
|   2 | m1.small  |  2048 |     1 |   20 |         0 |
|   3 | m1.medium |  4096 |     2 |   40 |         0 |
|   4 | m1.large  |  8192 |     4 |   80 |         0 |
|  42 | m1.nano   |    64 |     1 |    0 |         0 |
| 451 | m1.heat   |   512 |     1 |    0 |         0 |
|   5 | m1.xlarge | 16384 |     8 |  160 |         0 |
|  84 | m1.micro  |   128 |     1 |    0 |         0 |
|  c1 | cirros256 |   256 |     1 |    0 |         0 |
|  d1 | ds512M    |   512 |     1 |    5 |         0 |
|  d2 | ds1G      |  1024 |     1 |   10 |         0 |
|  d3 | ds2G      |  2048 |     2 |   10 |         0 |
|  d4 | ds4G      |  4096 |     4 |   20 |         0 |
+-----+-----------+-------+-------+------+-----------+
END return value: 0

Change-Id: I308a6c6f3f5ce7dbb814ec0fd8ecb1734a2f137f
Partially-Implements: trove-support-in-python-openstackclient
2017-01-11 16:07:45 -06:00

42 lines
1.6 KiB
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from troveclient.osc.v1 import database_flavors
from troveclient.tests.osc.v1 import fakes
class TestFlavors(fakes.TestDatabasev1):
fake_flavors = fakes.FakeFlavors()
def setUp(self):
super(TestFlavors, self).setUp()
self.mock_client = self.app.client_manager.database
self.flavor_client = self.app.client_manager.database.flavors
class TestFlavorList(TestFlavors):
columns = database_flavors.ListDatabaseFlavors.columns
values = (1, 'm1.tiny', 512, '', '', '')
def setUp(self):
super(TestFlavorList, self).setUp()
self.cmd = database_flavors.ListDatabaseFlavors(self.app, None)
self.data = [self.fake_flavors.get_flavors_1()]
self.flavor_client.list.return_value = self.data
def test_flavor_list_defaults(self):
parsed_args = self.check_parser(self.cmd, [], [])
columns, values = self.cmd.take_action(parsed_args)
self.flavor_client.list.assert_called_once_with()
self.assertEqual(self.columns, columns)
self.assertEqual([self.values], values)