# Copyright 2016 EasyStack Corporation # # 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 openstackclient.compute.v2 import hypervisor_stats from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes class TestHypervisorStats(compute_fakes.TestComputev2): def setUp(self): super(TestHypervisorStats, self).setUp() # Get a shortcut to the compute client hypervisors mock self.hypervisors_mock = self.app.client_manager.compute.hypervisors self.hypervisors_mock.reset_mock() class TestHypervisorStatsShow(TestHypervisorStats): def setUp(self): super(TestHypervisorStatsShow, self).setUp() self.hypervisor_stats = \ compute_fakes.FakeHypervisorStats.create_one_hypervisor_stats() self.hypervisors_mock.statistics.return_value =\ self.hypervisor_stats self.cmd = hypervisor_stats.ShowHypervisorStats(self.app, None) self.columns = ( 'count', 'current_workload', 'disk_available_least', 'free_disk_gb', 'free_ram_mb', 'local_gb', 'local_gb_used', 'memory_mb', 'memory_mb_used', 'running_vms', 'vcpus', 'vcpus_used', ) self.data = ( 2, 0, 50, 100, 23000, 100, 0, 23800, 1400, 3, 8, 3, ) def test_hypervisor_show_stats(self): arglist = [] verifylist = [] parsed_args = self.check_parser(self.cmd, arglist, verifylist) columns, data = self.cmd.take_action(parsed_args) self.assertEqual(self.columns, columns) self.assertEqual(self.data, data)