summaryrefslogtreecommitdiffstats
path: root/conductor/conductor/tests/unit/api/controller/v1/test_plans.py
diff options
context:
space:
mode:
Diffstat (limited to 'conductor/conductor/tests/unit/api/controller/v1/test_plans.py')
-rw-r--r--conductor/conductor/tests/unit/api/controller/v1/test_plans.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/conductor/conductor/tests/unit/api/controller/v1/test_plans.py b/conductor/conductor/tests/unit/api/controller/v1/test_plans.py
new file mode 100644
index 0000000..07de14f
--- /dev/null
+++ b/conductor/conductor/tests/unit/api/controller/v1/test_plans.py
@@ -0,0 +1,60 @@
+#
+# -------------------------------------------------------------------------
+# Copyright (c) 2018 Intel Corporation Intellectual Property
+#
+# 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.
+#
+# -------------------------------------------------------------------------
+#
+"""Test case for PlansController"""
+
+import json
+
+import mock
+from conductor.api.controllers.v1 import plans
+from conductor.tests.unit.api import base_api
+from oslo_serialization import jsonutils
+
+
+class TestPlansController(base_api.BaseApiTest):
+
+ def test_index_options(self):
+ actual_response = self.app.options('/v1/plans', expect_errors=True)
+ self.assertEqual(204, actual_response.status_int)
+ self.assertEqual("GET,POST", actual_response.headers['Allow'])
+
+ @mock.patch.object(plans.LOG, 'error')
+ @mock.patch.object(plans.LOG, 'debug')
+ @mock.patch.object(plans.LOG, 'warning')
+ @mock.patch.object(plans.LOG, 'info')
+ def test_index_get(self, info_mock, warning_mock, debug_mock, error_mock):
+ actual_response = self.app.get('/v1/plans')
+ self.assertEqual(200, actual_response.status_int)
+
+ @mock.patch.object(plans.LOG, 'error')
+ @mock.patch.object(plans.LOG, 'debug')
+ @mock.patch.object(plans.LOG, 'warning')
+ @mock.patch.object(plans.LOG, 'info')
+ def test_index_post(self, info_mock, warning_mock, debug_mock, error_mock):
+ req_json_file = './conductor/tests/unit/api/controller/v1/plans.json'
+ params = jsonutils.dumps(json.loads(open(req_json_file).read()))
+ print(params)
+ response = self.app.post('/v1/plans', params=params,
+ expect_errors=True)
+ self.assertEqual(500, response.status_int)
+
+ def test_index_httpmethod_notallowed(self):
+ actual_response = self.app.put('/v1/plans', expect_errors=True)
+ self.assertEqual(405, actual_response.status_int)
+ actual_response = self.app.patch('/v1/plans', expect_errors=True)
+ self.assertEqual(405, actual_response.status_int)