Files
python-mistralclient/mistralclient/tests/unit/v2/test_workbooks.py
Anastasia Kuznetsova 30e5150f15 Fix client tests due to changes in code from 'mistral' repository
-Removing 'start-task' parameter from test workbooks
-Lowercase key section names in workbooks from unit tests
-Rename 'test_cli_acitons' to 'test_cli_actions'
-Fix CLI test 'test_task_list' due to changes in
https://review.openstack.org/#/c/121818/

Change-Id: I8ace89b460c3c72cdac3c3f42684fe1e8b6ad5de
2014-09-18 14:44:37 +04:00

112 lines
3.3 KiB
Python

# Copyright 2014 - Mirantis, Inc.
#
# 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.
import json
from mistralclient.tests.unit.v2 import base
from mistralclient.api.v2 import workbooks
# TODO: later we need additional tests verifying all the errors etc.
WB_DEF = """
---
version: 2.0
workflows:
wf1:
type: direct
parameters:
- param1
- param2
tasks:
task1:
action: std.http url="localhost:8989"
on-success: test_subsequent
test_subsequent:
action: std.http url="http://some_url"
parameters:
server_id: 1
"""
WORKBOOK = {
'name': "my_workbook",
'tags': ['deployment', 'demo'],
'definition': WB_DEF
}
URL_TEMPLATE = '/workbooks'
URL_TEMPLATE_NAME = '/workbooks/%s'
URL_TEMPLATE_DEFINITION = '/workbooks/%s/definition'
class TestWorkbooksV2(base.BaseClientV2Test):
def test_create(self):
mock = self.mock_http_post(content=WORKBOOK)
wb = self.workbooks.create(WORKBOOK['name'],
WORKBOOK['tags'],
WORKBOOK['definition'])
self.assertIsNotNone(wb)
self.assertEqual(workbooks.Workbook(self.workbooks,
WORKBOOK).__dict__, wb.__dict__)
mock.assert_called_once_with(URL_TEMPLATE, json.dumps(WORKBOOK))
def test_update(self):
mock = self.mock_http_put(content=WORKBOOK)
wb = self.workbooks.update(WORKBOOK['name'],
WORKBOOK['tags'],
WORKBOOK['definition'])
self.assertIsNotNone(wb)
self.assertEqual(workbooks.Workbook(self.workbooks,
WORKBOOK).__dict__, wb.__dict__)
mock.assert_called_once_with(
URL_TEMPLATE_NAME % WORKBOOK['name'],
json.dumps(WORKBOOK))
def test_list(self):
mock = self.mock_http_get(content={'workbooks': [WORKBOOK]})
workbook_list = self.workbooks.list()
self.assertEqual(1, len(workbook_list))
wb = workbook_list[0]
self.assertEqual(workbooks.Workbook(self.workbooks,
WORKBOOK).__dict__, wb.__dict__)
mock.assert_called_once_with(URL_TEMPLATE)
def test_get(self):
mock = self.mock_http_get(content=WORKBOOK)
wb = self.workbooks.get(WORKBOOK['name'])
self.assertIsNotNone(wb)
self.assertEqual(workbooks.Workbook(self.workbooks,
WORKBOOK).__dict__, wb.__dict__)
mock.assert_called_once_with(URL_TEMPLATE_NAME % WORKBOOK['name'])
def test_delete(self):
mock = self.mock_http_delete(status_code=204)
self.workbooks.delete(WORKBOOK['name'])
mock.assert_called_once_with(URL_TEMPLATE_NAME % WORKBOOK['name'])