147 lines
5.3 KiB
Python
147 lines
5.3 KiB
Python
# 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 unittest import mock
|
|
|
|
import oslotest.base
|
|
from webob import exc
|
|
|
|
from designate.api.v2.controllers import rest
|
|
|
|
|
|
class TestRestController(oslotest.base.BaseTestCase):
|
|
def setUp(self):
|
|
super().setUp()
|
|
|
|
self.controller = rest.RestController()
|
|
|
|
def test_handle_post(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = mock.Mock()
|
|
|
|
self.assertEqual(
|
|
(mock.ANY, []), self.controller._handle_post(mock.Mock(), None)
|
|
)
|
|
|
|
def test_handle_patch(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = mock.Mock()
|
|
|
|
self.assertEqual(
|
|
(mock.ANY, []), self.controller._handle_patch(mock.Mock(), None)
|
|
)
|
|
|
|
def test_handle_put(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = mock.Mock()
|
|
|
|
self.assertEqual(
|
|
(mock.ANY, []), self.controller._handle_put(mock.Mock(), None)
|
|
)
|
|
|
|
def test_handle_delete(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = mock.Mock()
|
|
|
|
self.assertEqual(
|
|
(mock.ANY, []), self.controller._handle_delete(mock.Mock(), None)
|
|
)
|
|
|
|
def test_handle_post_method_not_allowed(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_post, mock.Mock(), None
|
|
)
|
|
|
|
def test_handle_patch_method_not_allowed(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_patch, mock.Mock(), None
|
|
)
|
|
|
|
def test_handle_put_method_not_allowed(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_put, mock.Mock(), None
|
|
)
|
|
|
|
def test_handle_delete_method_not_allowed(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_delete, mock.Mock(), None
|
|
)
|
|
|
|
def test_handle_post_controller_not_found(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_post, mock.Mock(), ['fake']
|
|
)
|
|
|
|
def test_handle_patch_controller_not_found(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_patch, mock.Mock(), ['fake']
|
|
)
|
|
|
|
def test_handle_put_controller_not_found(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_put, mock.Mock(), ['fake']
|
|
)
|
|
|
|
def test_handle_delete_controller_not_found(self):
|
|
self.controller._find_controller = mock.Mock()
|
|
self.controller._find_controller.return_value = None
|
|
|
|
self.assertRaisesRegex(
|
|
exc.HTTPMethodNotAllowed,
|
|
'The server could not comply with the request since it is either '
|
|
'malformed or otherwise incorrect.',
|
|
self.controller._handle_delete, mock.Mock(), ['fake']
|
|
)
|