config/sysinv/cgts-client/cgts-client/cgtsclient/tests/v1/test_kube_version_shell.py

74 lines
3.2 KiB
Python

#
# Copyright (c) 2019 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
import mock
from cgtsclient.tests import test_shell
from cgtsclient.v1.kube_version import KubeVersion
class KubeVersionTest(test_shell.ShellTest):
def setUp(self):
super(KubeVersionTest, self).setUp()
def tearDown(self):
super(KubeVersionTest, self).tearDown()
@mock.patch('cgtsclient.v1.kube_version.KubeVersionManager.list')
@mock.patch('cgtsclient.client._get_ksclient')
@mock.patch('cgtsclient.client._get_endpoint')
def test_kube_version_list(self, mock_get_endpoint, mock_get_client,
mock_list):
mock_get_endpoint.return_value = 'http://fakelocalhost:6385/v1'
fake_version = {'version': 'v1.42.2',
'upgrade_from': ['v1.42.1'],
'downgrade_to': [],
'applied_patches': ['KUBE.1', 'KUBE.2'],
'available_patches': ['KUBE.3'],
'target': True,
'state': 'TODO',
}
mock_list.return_value = [KubeVersion(None, fake_version, True)]
self.make_env()
version_results = self.shell("kube-version-list")
self.assertIn(fake_version['version'], version_results)
self.assertIn(str(fake_version['target']), version_results)
self.assertIn(fake_version['state'], version_results)
self.assertNotIn(str(fake_version['upgrade_from']), version_results)
self.assertNotIn(str(fake_version['downgrade_to']), version_results)
self.assertNotIn(str(fake_version['applied_patches']), version_results)
self.assertNotIn(str(fake_version['available_patches']),
version_results)
@mock.patch('cgtsclient.v1.kube_version.KubeVersionManager.get')
@mock.patch('cgtsclient.client._get_ksclient')
@mock.patch('cgtsclient.client._get_endpoint')
def test_kube_version_show(self, mock_get_endpoint, mock_get_client,
mock_get):
mock_get_endpoint.return_value = 'http://fakelocalhost:6385/v1'
fake_version = {'version': 'v1.42.2',
'upgrade_from': ['v1.42.1'],
'downgrade_to': [],
'applied_patches': ['KUBE.1', 'KUBE.2'],
'available_patches': ['KUBE.3'],
'target': True,
'state': 'TODO',
}
mock_get.return_value = KubeVersion(None, fake_version, True)
self.make_env()
version_results = self.shell("kube-version-show %s" %
fake_version['version'])
self.assertIn(fake_version['version'], version_results)
self.assertIn(str(fake_version['upgrade_from']), version_results)
self.assertIn(str(fake_version['downgrade_to']), version_results)
self.assertIn(str(fake_version['target']), version_results)
self.assertIn(fake_version['state'], version_results)
self.assertIn(str(fake_version['applied_patches']), version_results)
self.assertIn(str(fake_version['available_patches']), version_results)