Merge "Avoid import internal classes from SDK"
This commit is contained in:
commit
d99298661c
senlinclient/tests/unit/v1
@ -13,7 +13,6 @@
|
||||
import copy
|
||||
|
||||
import mock
|
||||
from openstack.cluster.v1 import node as sdk_node
|
||||
from openstack import exceptions as sdk_exc
|
||||
from osc_lib import exceptions as exc
|
||||
import six
|
||||
@ -33,30 +32,6 @@ class TestNodeList(TestNode):
|
||||
columns = ['id', 'name', 'index', 'status', 'cluster_id',
|
||||
'physical_id', 'profile_name', 'created_at', 'updated_at']
|
||||
|
||||
response = {"nodes": [
|
||||
{
|
||||
"cluster_id": None,
|
||||
"created_at": "2015-02-27T04:39:21",
|
||||
"data": {},
|
||||
"details": {},
|
||||
"domain": None,
|
||||
"id": "573aa1ba-bf45-49fd-907d-6b5d6e6adfd3",
|
||||
"index": -1,
|
||||
"init_at": "2015-02-27T04:39:18",
|
||||
"metadata": {},
|
||||
"name": "node00a",
|
||||
"physical_id": "cc028275-d078-4729-bf3e-154b7359814b",
|
||||
"profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
"profile_name": "mystack",
|
||||
"project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
"role": None,
|
||||
"status": "ACTIVE",
|
||||
"status_reason": "Creation succeeded",
|
||||
"updated_at": None,
|
||||
"user": "5e5bf8027826429c96af157f68dc9072"
|
||||
}
|
||||
]}
|
||||
|
||||
defaults = {
|
||||
'cluster_id': None,
|
||||
'global_project': False,
|
||||
@ -68,7 +43,29 @@ class TestNodeList(TestNode):
|
||||
def setUp(self):
|
||||
super(TestNodeList, self).setUp()
|
||||
self.cmd = osc_node.ListNode(self.app, None)
|
||||
self.mock_client.nodes = mock.Mock(return_value=self.response)
|
||||
fake_node = mock.Mock(
|
||||
cluster_id=None,
|
||||
created_at="2015-02-27T04:39:21",
|
||||
data={},
|
||||
details={},
|
||||
domain=None,
|
||||
id="573aa1ba-bf45-49fd-907d-6b5d6e6adfd3",
|
||||
index=-1,
|
||||
init_at="2015-02-27T04:39:18",
|
||||
metadata={},
|
||||
physical_id="cc028275-d078-4729-bf3e-154b7359814b",
|
||||
profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
profile_name="mystack",
|
||||
project_id="6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
role=None,
|
||||
status="ACTIVE",
|
||||
status_reason="Creation succeeded",
|
||||
updated_at=None,
|
||||
user_id="5e5bf8027826429c96af157f68dc9072"
|
||||
)
|
||||
fake_node.name = "node00a"
|
||||
fake_node.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.nodes = mock.Mock(return_value=[fake_node])
|
||||
|
||||
def test_node_list_defaults(self):
|
||||
arglist = []
|
||||
@ -103,8 +100,6 @@ class TestNodeList(TestNode):
|
||||
self.assertEqual(self.columns, columns)
|
||||
|
||||
def test_node_list_sort_invalid_key(self):
|
||||
self.mock_client.nodes = mock.Mock(
|
||||
return_value=self.response)
|
||||
kwargs = copy.deepcopy(self.defaults)
|
||||
kwargs['sort'] = 'bad_key'
|
||||
arglist = ['--sort', 'bad_key']
|
||||
@ -114,8 +109,6 @@ class TestNodeList(TestNode):
|
||||
self.cmd.take_action, parsed_args)
|
||||
|
||||
def test_node_list_sort_invalid_direction(self):
|
||||
self.mock_client.nodes = mock.Mock(
|
||||
return_value=self.response)
|
||||
kwargs = copy.deepcopy(self.defaults)
|
||||
kwargs['sort'] = 'name:bad_direction'
|
||||
arglist = ['--sort', 'name:bad_direction']
|
||||
@ -145,33 +138,36 @@ class TestNodeList(TestNode):
|
||||
|
||||
class TestNodeShow(TestNode):
|
||||
response = {"node": {
|
||||
"cluster_id": None,
|
||||
"created_at": "2015-02-10T12:03:16",
|
||||
"data": {},
|
||||
"details": {
|
||||
"OS-DCF:diskConfig": "MANUAL"},
|
||||
"domain": None,
|
||||
"id": "d5779bb0-f0a0-49c9-88cc-6f078adb5a0b",
|
||||
"index": -1,
|
||||
"init_at": "2015-02-10T12:03:13",
|
||||
"metadata": {},
|
||||
"name": "my_node",
|
||||
"physical_id": "f41537fa-22ab-4bea-94c0-c874e19d0c80",
|
||||
"profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
"profile_name": "mystack",
|
||||
"project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
"role": None,
|
||||
"status": "ACTIVE",
|
||||
"status_reason": "Creation succeeded",
|
||||
"updated_at": "2015-03-04T04:58:27",
|
||||
"user": "5e5bf8027826429c96af157f68dc9072"
|
||||
}}
|
||||
|
||||
def setUp(self):
|
||||
super(TestNodeShow, self).setUp()
|
||||
self.cmd = osc_node.ShowNode(self.app, None)
|
||||
self.mock_client.get_node = mock.Mock(
|
||||
return_value=sdk_node.Node(**self.response['node']))
|
||||
fake_node = mock.Mock(
|
||||
cluster_id=None,
|
||||
created_at="2015-02-10T12:03:16",
|
||||
data={},
|
||||
details={"OS-DCF:diskConfig": "MANUAL"},
|
||||
domain_id=None,
|
||||
id="d5779bb0-f0a0-49c9-88cc-6f078adb5a0b",
|
||||
index=-1,
|
||||
init_at="2015-02-10T12:03:13",
|
||||
metadata={},
|
||||
physical_id="f41537fa-22ab-4bea-94c0-c874e19d0c80",
|
||||
profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
profile_name="mystack",
|
||||
project_id="6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
role=None,
|
||||
status="ACTIVE",
|
||||
status_reason="Creation succeeded",
|
||||
updated_at="2015-03-04T04:58:27",
|
||||
user_id="5e5bf8027826429c96af157f68dc9072"
|
||||
)
|
||||
fake_node.name = "my_node"
|
||||
fake_node.to_dict = mock.Mock(
|
||||
return_value={'details': {'key': 'value'}}
|
||||
)
|
||||
self.mock_client.get_node = mock.Mock(return_value=fake_node)
|
||||
|
||||
def test_node_show(self):
|
||||
arglist = ['my_node']
|
||||
@ -182,7 +178,9 @@ class TestNodeShow(TestNode):
|
||||
def test_node_show_with_details(self):
|
||||
arglist = ['my_node', '--details']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
self.mock_client.get_node.assert_called_with(
|
||||
'my_node', details=True)
|
||||
|
||||
@ -196,27 +194,6 @@ class TestNodeShow(TestNode):
|
||||
|
||||
|
||||
class TestNodeCreate(TestNode):
|
||||
response = {"node": {
|
||||
"action": "2366d440-c73e-4961-9254-6d1c3af7c167",
|
||||
"cluster_id": None,
|
||||
"created_at": None,
|
||||
"data": {},
|
||||
"domain": None,
|
||||
"id": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
|
||||
"index": -1,
|
||||
"init_time": "2015-03-05T08:53:15",
|
||||
"metadata": {},
|
||||
"name": "my_node",
|
||||
"physical_id": "",
|
||||
"profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
"profile_name": "mystack",
|
||||
"project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
"role": "master",
|
||||
"status": "INIT",
|
||||
"status_reason": "Initializing",
|
||||
"updated_at": None,
|
||||
"user": "5e5bf8027826429c96af157f68dc9072"
|
||||
}}
|
||||
|
||||
defaults = {
|
||||
"cluster_id": None,
|
||||
@ -229,10 +206,31 @@ class TestNodeCreate(TestNode):
|
||||
def setUp(self):
|
||||
super(TestNodeCreate, self).setUp()
|
||||
self.cmd = osc_node.CreateNode(self.app, None)
|
||||
self.mock_client.create_node = mock.Mock(
|
||||
return_value=sdk_node.Node(**self.response['node']))
|
||||
self.mock_client.get_node = mock.Mock(
|
||||
return_value=sdk_node.Node(**self.response['node']))
|
||||
fake_node = mock.Mock(
|
||||
action="2366d440-c73e-4961-9254-6d1c3af7c167",
|
||||
cluster_id="",
|
||||
created_at=None,
|
||||
data={},
|
||||
domain=None,
|
||||
id="0df0931b-e251-4f2e-8719-4ebfda3627ba",
|
||||
index=-1,
|
||||
init_time="2015-03-05T08:53:15",
|
||||
metadata={},
|
||||
physical_id=None,
|
||||
profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
profile_name="mystack",
|
||||
project_id="6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
role="master",
|
||||
status="INIT",
|
||||
status_reason="Initializing",
|
||||
updated_at=None,
|
||||
user_id="5e5bf8027826429c96af157f68dc9072"
|
||||
)
|
||||
fake_node.name = "my_node"
|
||||
fake_node.to_dict = mock.Mock(return_value={})
|
||||
|
||||
self.mock_client.create_node = mock.Mock(return_value=fake_node)
|
||||
self.mock_client.get_node = mock.Mock(return_value=fake_node)
|
||||
|
||||
def test_node_create_defaults(self):
|
||||
arglist = ['my_node', '--profile', 'mystack']
|
||||
@ -269,27 +267,6 @@ class TestNodeCreate(TestNode):
|
||||
|
||||
|
||||
class TestNodeUpdate(TestNode):
|
||||
response = {"node": {
|
||||
"action": "2366d440-c73e-4961-9254-6d1c3af7c167",
|
||||
"cluster_id": None,
|
||||
"created_at": None,
|
||||
"data": {},
|
||||
"domain": None,
|
||||
"id": "0df0931b-e251-4f2e-8719-4ebfda3627ba",
|
||||
"index": -1,
|
||||
"init_time": "2015-03-05T08:53:15",
|
||||
"metadata": {},
|
||||
"name": "my_node",
|
||||
"physical_id": "",
|
||||
"profile_id": "edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
"profile_name": "mystack",
|
||||
"project": "6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
"role": "master",
|
||||
"status": "INIT",
|
||||
"status_reason": "Initializing",
|
||||
"updated_at": None,
|
||||
"user": "5e5bf8027826429c96af157f68dc9072"
|
||||
}}
|
||||
|
||||
defaults = {
|
||||
"name": "new_node",
|
||||
@ -304,12 +281,31 @@ class TestNodeUpdate(TestNode):
|
||||
def setUp(self):
|
||||
super(TestNodeUpdate, self).setUp()
|
||||
self.cmd = osc_node.UpdateNode(self.app, None)
|
||||
self.mock_client.update_node = mock.Mock(
|
||||
return_value=sdk_node.Node(**self.response['node']))
|
||||
self.mock_client.get_node = mock.Mock(
|
||||
return_value=sdk_node.Node(**self.response['node']))
|
||||
self.mock_client.find_node = mock.Mock(
|
||||
return_value=sdk_node.Node(**self.response['node']))
|
||||
fake_node = mock.Mock(
|
||||
action="2366d440-c73e-4961-9254-6d1c3af7c167",
|
||||
cluster_id="",
|
||||
created_at=None,
|
||||
data={},
|
||||
domain=None,
|
||||
id="0df0931b-e251-4f2e-8719-4ebfda3627ba",
|
||||
index=-1,
|
||||
init_time="2015-03-05T08:53:15",
|
||||
metadata={},
|
||||
physical_id=None,
|
||||
profile_id="edc63d0a-2ca4-48fa-9854-27926da76a4a",
|
||||
profile_name="mystack",
|
||||
project_id="6e18cc2bdbeb48a5b3cad2dc499f6804",
|
||||
role="master",
|
||||
status="INIT",
|
||||
status_reason="Initializing",
|
||||
updated_at=None,
|
||||
user_id="5e5bf8027826429c96af157f68dc9072"
|
||||
)
|
||||
fake_node.name = "my_node"
|
||||
fake_node.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.update_node = mock.Mock(return_value=fake_node)
|
||||
self.mock_client.get_node = mock.Mock(return_value=fake_node)
|
||||
self.mock_client.find_node = mock.Mock(return_value=fake_node)
|
||||
|
||||
def test_node_update_defaults(self):
|
||||
arglist = ['--name', 'new_node', '--metadata', 'nk1=nv1;nk2=nv2',
|
||||
@ -434,13 +430,14 @@ class TestNodeCheck(TestNode):
|
||||
|
||||
|
||||
class TestNodeRecover(TestNode):
|
||||
response = {"action": "8bb476c3-0f4c-44ee-9f64-c7b0260814de"}
|
||||
|
||||
action_id = "8bb476c3-0f4c-44ee-9f64-c7b0260814de"
|
||||
|
||||
def setUp(self):
|
||||
super(TestNodeRecover, self).setUp()
|
||||
self.cmd = osc_node.RecoverNode(self.app, None)
|
||||
self.mock_client.recover_node = mock.Mock(
|
||||
return_value=self.response)
|
||||
fake_res = {'action': self.action_id}
|
||||
self.mock_client.recover_node = mock.Mock(return_value=fake_res)
|
||||
|
||||
def test_node_recover(self):
|
||||
arglist = ['node1', 'node2', 'node3']
|
||||
|
@ -13,7 +13,6 @@
|
||||
import copy
|
||||
|
||||
import mock
|
||||
from openstack.cluster.v1 import policy as sdk_policy
|
||||
from openstack import exceptions as sdk_exc
|
||||
from osc_lib import exceptions as exc
|
||||
import six
|
||||
@ -32,26 +31,6 @@ class TestPolicyList(TestPolicy):
|
||||
columns = ['id', 'name', 'type', 'created_at']
|
||||
response = {"policies": [
|
||||
{
|
||||
"created_at": "2015-02-15T08:33:13.000000",
|
||||
"data": {},
|
||||
"domain": 'null',
|
||||
"id": "7192d8df-73be-4e98-ab99-1cf6d5066729",
|
||||
"name": "test_policy_1",
|
||||
"project": "42d9e9663331431f97b75e25136307ff",
|
||||
"spec": {
|
||||
"description": "A test policy",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": "1.0"
|
||||
},
|
||||
"type": "senlin.policy.deletion-1.0",
|
||||
"updated_at": 'null',
|
||||
"user": "5e5bf8027826429c96af157f68dc9072"
|
||||
}
|
||||
]}
|
||||
defaults = {
|
||||
@ -64,6 +43,29 @@ class TestPolicyList(TestPolicy):
|
||||
def setUp(self):
|
||||
super(TestPolicyList, self).setUp()
|
||||
self.cmd = osc_policy.ListPolicy(self.app, None)
|
||||
fake_policy = mock.Mock(
|
||||
created_at="2015-02-15T08:33:13.000000",
|
||||
data={},
|
||||
domain=None,
|
||||
id="7192d8df-73be-4e98-ab99-1cf6d5066729",
|
||||
project_id="42d9e9663331431f97b75e25136307ff",
|
||||
spec={
|
||||
"description": "A test policy",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": "1.0"
|
||||
},
|
||||
type="senlin.policy.deletion-1.0",
|
||||
updated_at=None,
|
||||
user_id="5e5bf8027826429c96af157f68dc9072"
|
||||
)
|
||||
fake_policy.name = "test_policy_1"
|
||||
fake_policy.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.policies = mock.Mock(
|
||||
return_value=self.response)
|
||||
|
||||
@ -142,53 +144,53 @@ class TestPolicyList(TestPolicy):
|
||||
|
||||
class TestPolicyShow(TestPolicy):
|
||||
response = {"policy": {
|
||||
"created_at": "2015-03-02T07:40:31",
|
||||
"data": {},
|
||||
"domain": 'null',
|
||||
"id": "02f62195-2198-4797-b0a9-877632208527",
|
||||
"name": "sp001",
|
||||
"project": "42d9e9663331431f97b75e25136307ff",
|
||||
"spec": {
|
||||
"properties": {
|
||||
"adjustment": {
|
||||
"best_effort": True,
|
||||
"min_step": 1,
|
||||
"number": 1,
|
||||
"type": "CHANGE_IN_CAPACITY"
|
||||
},
|
||||
"event": "CLUSTER_SCALE_IN"
|
||||
},
|
||||
"type": "senlin.policy.scaling",
|
||||
"version": "1.0"
|
||||
},
|
||||
"type": "senlin.policy.scaling-1.0",
|
||||
"updated_at": 'null',
|
||||
"user": "5e5bf8027826429c96af157f68dc9072"
|
||||
}}
|
||||
|
||||
def setUp(self):
|
||||
super(TestPolicyShow, self).setUp()
|
||||
self.cmd = osc_policy.ShowPolicy(self.app, None)
|
||||
self.mock_client.get_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
fake_policy = mock.Mock(
|
||||
created_at="2015-03-02T07:40:31",
|
||||
data={},
|
||||
domain_id=None,
|
||||
id="02f62195-2198-4797-b0a9-877632208527",
|
||||
project_id="42d9e9663331431f97b75e25136307ff",
|
||||
spec={
|
||||
"properties": {
|
||||
"adjustment": {
|
||||
"best_effort": True,
|
||||
"min_step": 1,
|
||||
"number": 1,
|
||||
"type": "CHANGE_IN_CAPACITY"
|
||||
},
|
||||
"event": "CLUSTER_SCALE_IN"
|
||||
},
|
||||
"type": "senlin.policy.scaling",
|
||||
"version": "1.0"
|
||||
},
|
||||
type="senlin.policy.scaling-1.0",
|
||||
updated_at=None,
|
||||
user_id="5e5bf8027826429c96af157f68dc9072"
|
||||
)
|
||||
fake_policy.name = "sp001"
|
||||
fake_policy.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.get_policy = mock.Mock(return_value=fake_policy)
|
||||
|
||||
def test_policy_show(self):
|
||||
arglist = ['sp001']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
self.mock_client.get_policy.assert_called_with('sp001')
|
||||
policy = self.mock_client.get_policy('sp001')
|
||||
self.assertEqual(self.response['policy']['created_at'],
|
||||
policy.created_at)
|
||||
self.assertEqual(self.response['policy']['data'], policy.data)
|
||||
self.assertEqual(self.response['policy']['id'], policy.id)
|
||||
self.assertEqual(self.response['policy']['name'], policy.name)
|
||||
self.assertEqual(self.response['policy']['project'],
|
||||
policy.project_id)
|
||||
self.assertEqual(self.response['policy']['spec'], policy.spec)
|
||||
self.assertEqual(self.response['policy']['type'], policy.type)
|
||||
self.assertEqual(self.response['policy']['updated_at'],
|
||||
policy.updated_at)
|
||||
self.assertEqual("2015-03-02T07:40:31", policy.created_at)
|
||||
self.assertEqual({}, policy.data)
|
||||
self.assertEqual("02f62195-2198-4797-b0a9-877632208527", policy.id)
|
||||
self.assertEqual("sp001", policy.name)
|
||||
self.assertEqual("42d9e9663331431f97b75e25136307ff", policy.project_id)
|
||||
self.assertEqual("senlin.policy.scaling-1.0", policy.type)
|
||||
self.assertIsNone(policy.updated_at)
|
||||
|
||||
def test_policy_show_not_found(self):
|
||||
arglist = ['sp001']
|
||||
@ -199,29 +201,6 @@ class TestPolicyShow(TestPolicy):
|
||||
|
||||
class TestPolicyCreate(TestPolicy):
|
||||
spec_path = 'senlinclient/tests/test_specs/deletion_policy.yaml'
|
||||
response = {"policy": {
|
||||
"created_at": "2016-02-21T02:38:36",
|
||||
"data": {},
|
||||
"domain": 'null',
|
||||
"id": "9f779ddf-744e-48bd-954c-acef7e11116c",
|
||||
"name": "my_policy",
|
||||
"project": "5f1cc92b578e4e25a3b284179cf20a9b",
|
||||
"spec": {
|
||||
"description": "A policy for choosing victim node(s) from a "
|
||||
"cluster for deletion.",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": 1.0
|
||||
},
|
||||
"type": "senlin.policy.deletion-1.0",
|
||||
"updated_at": 'null',
|
||||
"user": "2d7aca950f3e465d8ef0c81720faf6ff"
|
||||
}}
|
||||
defaults = {
|
||||
"name": "my_policy",
|
||||
"spec": {
|
||||
@ -241,10 +220,32 @@ class TestPolicyCreate(TestPolicy):
|
||||
def setUp(self):
|
||||
super(TestPolicyCreate, self).setUp()
|
||||
self.cmd = osc_policy.CreatePolicy(self.app, None)
|
||||
self.mock_client.create_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
self.mock_client.get_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
fake_policy = mock.Mock(
|
||||
created_at="2016-02-21T02:38:36",
|
||||
data={},
|
||||
domain_id=None,
|
||||
id="9f779ddf-744e-48bd-954c-acef7e11116c",
|
||||
project_id="5f1cc92b578e4e25a3b284179cf20a9b",
|
||||
spec={
|
||||
"description": "A policy for choosing victim node(s) from a "
|
||||
"cluster for deletion.",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": 1.0
|
||||
},
|
||||
type="senlin.policy.deletion-1.0",
|
||||
updated_at=None,
|
||||
user_id="2d7aca950f3e465d8ef0c81720faf6ff"
|
||||
)
|
||||
fake_policy.name = "my_policy"
|
||||
fake_policy.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.create_policy = mock.Mock(return_value=fake_policy)
|
||||
self.mock_client.get_policy = mock.Mock(return_value=fake_policy)
|
||||
|
||||
def test_policy_create_defaults(self):
|
||||
arglist = ['my_policy', '--spec-file', self.spec_path]
|
||||
@ -254,50 +255,46 @@ class TestPolicyCreate(TestPolicy):
|
||||
|
||||
|
||||
class TestPolicyUpdate(TestPolicy):
|
||||
response = {"policy": {
|
||||
"created_at": "2016-02-21T02:38:36",
|
||||
"data": {},
|
||||
"domain": 'null',
|
||||
"id": "9f779ddf-744e-48bd-954c-acef7e11116c",
|
||||
"name": "new_policy",
|
||||
"project": "5f1cc92b578e4e25a3b284179cf20a9b",
|
||||
"spec": {
|
||||
"description": "A policy for choosing victim node(s) from a "
|
||||
"cluster for deletion.",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": 1.0
|
||||
},
|
||||
"type": "senlin.policy.deletion-1.0",
|
||||
"updated_at": 'null',
|
||||
"user": "2d7aca950f3e465d8ef0c81720faf6ff"
|
||||
}}
|
||||
|
||||
defaults = {
|
||||
"name": "new_policy"
|
||||
}
|
||||
|
||||
def setUp(self):
|
||||
super(TestPolicyUpdate, self).setUp()
|
||||
self.cmd = osc_policy.UpdatePolicy(self.app, None)
|
||||
self.mock_client.update_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
self.mock_client.get_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
self.mock_client.find_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
fake_policy = mock.Mock(
|
||||
created_at="2016-02-21T02:38:36",
|
||||
data={},
|
||||
domain_id=None,
|
||||
id="9f779ddf-744e-48bd-954c-acef7e11116c",
|
||||
project_id="5f1cc92b578e4e25a3b284179cf20a9b",
|
||||
spec={
|
||||
"description": "A policy for choosing victim node(s) from a "
|
||||
"cluster for deletion.",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": 1.0
|
||||
},
|
||||
type="senlin.policy.deletion-1.0",
|
||||
updated_at=None,
|
||||
user_id="2d7aca950f3e465d8ef0c81720faf6ff"
|
||||
)
|
||||
fake_policy.name = "new_policy"
|
||||
fake_policy.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.update_policy = mock.Mock(return_value=fake_policy)
|
||||
self.mock_client.get_policy = mock.Mock(return_value=fake_policy)
|
||||
self.mock_client.find_policy = mock.Mock(return_value=fake_policy)
|
||||
|
||||
def test_policy_update_defaults(self):
|
||||
arglist = ['--name', 'new_policy', '9f779ddf']
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
self.mock_client.update_policy.assert_called_with(
|
||||
'9f779ddf-744e-48bd-954c-acef7e11116c', **self.defaults)
|
||||
'9f779ddf-744e-48bd-954c-acef7e11116c', name="new_policy")
|
||||
|
||||
def test_policy_update_not_found(self):
|
||||
arglist = ['--name', 'new_policy', 'c6b8b252']
|
||||
@ -384,29 +381,6 @@ class TestPolicyDelete(TestPolicy):
|
||||
|
||||
class TestPolicyValidate(TestPolicy):
|
||||
spec_path = 'senlinclient/tests/test_specs/deletion_policy.yaml'
|
||||
response = {"policy": {
|
||||
"created_at": None,
|
||||
"data": {},
|
||||
"domain": 'null',
|
||||
"id": None,
|
||||
"name": "validated_policy",
|
||||
"project": "5f1cc92b578e4e25a3b284179cf20a9b",
|
||||
"spec": {
|
||||
"description": "A policy for choosing victim node(s) from a "
|
||||
"cluster for deletion.",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": 1.0
|
||||
},
|
||||
"type": "senlin.policy.deletion-1.0",
|
||||
"updated_at": 'null',
|
||||
"user": "2d7aca950f3e465d8ef0c81720faf6ff"
|
||||
}}
|
||||
defaults = {
|
||||
"spec": {
|
||||
"version": 1,
|
||||
@ -425,23 +399,43 @@ class TestPolicyValidate(TestPolicy):
|
||||
def setUp(self):
|
||||
super(TestPolicyValidate, self).setUp()
|
||||
self.cmd = osc_policy.ValidatePolicy(self.app, None)
|
||||
self.mock_client.validate_policy = mock.Mock(
|
||||
return_value=sdk_policy.Policy(**self.response['policy']))
|
||||
fake_policy = mock.Mock(
|
||||
created_at=None,
|
||||
data={},
|
||||
domain_id=None,
|
||||
id=None,
|
||||
project_id="5f1cc92b578e4e25a3b284179cf20a9b",
|
||||
spec={
|
||||
"description": "A policy for choosing victim node(s) from a "
|
||||
"cluster for deletion.",
|
||||
"properties": {
|
||||
"criteria": "OLDEST_FIRST",
|
||||
"destroy_after_deletion": True,
|
||||
"grace_period": 60,
|
||||
"reduce_desired_capacity": False
|
||||
},
|
||||
"type": "senlin.policy.deletion",
|
||||
"version": 1.0
|
||||
},
|
||||
type="senlin.policy.deletion-1.0",
|
||||
updated_at=None,
|
||||
user_id="2d7aca950f3e465d8ef0c81720faf6ff"
|
||||
)
|
||||
fake_policy.name = "validated_policy"
|
||||
fake_policy.to_dict = mock.Mock(return_value={})
|
||||
self.mock_client.validate_policy = mock.Mock(return_value=fake_policy)
|
||||
|
||||
def test_policy_validate(self):
|
||||
arglist = ['--spec-file', self.spec_path]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
self.mock_client.validate_policy.assert_called_with(**self.defaults)
|
||||
|
||||
policy = self.mock_client.validate_policy(**self.defaults)
|
||||
self.assertEqual(self.response['policy']['project'],
|
||||
policy.project_id)
|
||||
self.assertEqual(self.response['policy']['data'], policy.data)
|
||||
self.assertEqual(self.response['policy']['id'], policy.id)
|
||||
self.assertEqual(self.response['policy']['name'], policy.name)
|
||||
self.assertEqual(self.response['policy']['project'],
|
||||
policy.project_id)
|
||||
self.assertEqual(self.response['policy']['spec'], policy.spec)
|
||||
self.assertEqual(self.response['policy']['type'], policy.type)
|
||||
self.assertEqual(self.response['policy']['updated_at'],
|
||||
policy.updated_at)
|
||||
|
||||
self.assertEqual("5f1cc92b578e4e25a3b284179cf20a9b", policy.project_id)
|
||||
self.assertEqual({}, policy.data)
|
||||
self.assertIsNone(policy.id)
|
||||
self.assertEqual("validated_policy", policy.name)
|
||||
self.assertEqual("senlin.policy.deletion-1.0", policy.type)
|
||||
self.assertIsNone(policy.updated_at)
|
||||
|
@ -11,7 +11,6 @@
|
||||
# under the License.
|
||||
|
||||
import mock
|
||||
from openstack.cluster.v1 import policy_type as sdk_policy_type
|
||||
from openstack import exceptions as sdk_exc
|
||||
from osc_lib import exceptions as exc
|
||||
|
||||
@ -27,20 +26,21 @@ class TestPolicyType(fakes.TestClusteringv1):
|
||||
|
||||
class TestPolicyTypeList(TestPolicyType):
|
||||
expected_columns = ['name', 'version', 'support_status']
|
||||
list_response = [
|
||||
sdk_policy_type.PolicyType(
|
||||
name='BBB', schema={'foo': 'bar'},
|
||||
support_status={
|
||||
"1.0": [{"status": "SUPPORTED", "since": "2016.10"}]
|
||||
}
|
||||
),
|
||||
sdk_policy_type.PolicyType(
|
||||
name='AAA', schema={'foo': 'bar'},
|
||||
support_status={
|
||||
"1.0": [{"status": "DEPRECATED", "since": "2016.01"}]
|
||||
}
|
||||
),
|
||||
]
|
||||
pt1 = mock.Mock(
|
||||
schema={'foo': 'bar'},
|
||||
support_status={
|
||||
"1.0": [{"status": "SUPPORTED", "since": "2016.10"}]
|
||||
}
|
||||
)
|
||||
pt1.name = 'BBB'
|
||||
pt2 = mock.Mock(
|
||||
schema={'foo': 'bar'},
|
||||
support_status={
|
||||
"1.0": [{"status": "DEPRECATED", "since": "2016.01"}]
|
||||
}
|
||||
)
|
||||
pt2.name = 'AAA'
|
||||
list_response = [pt1, pt2]
|
||||
expected_rows = [
|
||||
('AAA', '1.0', 'DEPRECATED since 2016.01'),
|
||||
('BBB', '1.0', 'SUPPORTED since 2016.10')
|
||||
@ -64,16 +64,12 @@ class TestPolicyTypeList(TestPolicyType):
|
||||
|
||||
class TestPolicyTypeShow(TestPolicyType):
|
||||
|
||||
response = ({'name': 'senlin.policy.deletion-1.0',
|
||||
'schema': {
|
||||
'foo': 'bar'}})
|
||||
|
||||
def setUp(self):
|
||||
super(TestPolicyTypeShow, self).setUp()
|
||||
self.cmd = osc_policy_type.PolicyTypeShow(self.app, None)
|
||||
self.mock_client.get_policy_type = mock.Mock(
|
||||
return_value=sdk_policy_type.PolicyType(**self.response)
|
||||
)
|
||||
fake_pt = mock.Mock(schema={'foo': 'bar'})
|
||||
fake_pt.name = 'senlin.policy.deletion-1.0'
|
||||
self.mock_client.get_policy_type = mock.Mock(return_value=fake_pt)
|
||||
|
||||
def test_policy_type_show(self):
|
||||
arglist = ['os.heat.stack-1.0']
|
||||
|
Loading…
x
Reference in New Issue
Block a user