proliantutils/proliantutils/tests/test_exception.py

68 lines
2.4 KiB
Python

# Copyright 2016 Hewlett Packard Enterprise Development LP
# All Rights Reserved.
#
# 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 Class for Exception."""
import unittest
import ddt
from proliantutils import exception
@ddt.ddt
class ExceptionTestCase(unittest.TestCase):
def setUp(self):
super(ExceptionTestCase, self).setUp()
@ddt.data(('check your input', # input - exception message
None, # input - exception kwargs
'check your input'), # expected raised exception message
('check your input. %(reason)s',
{'reason': 'invalid input provided'},
'check your input. invalid input provided'),
('check your input. %(why)s',
{'why': 'invalid input provided'},
'check your input. invalid input provided'),
("just check your input.. that's all. no any reason given",
{'reason': 'some reason'},
"just check your input.. that's all. no any reason given"),
(None,
{'reason': 'Input not supported'},
'Invalid Input: Input not supported'),
(None,
None,
'Invalid Input: Unknown'),)
@ddt.unpack
def test_InvalidInputError(self, input_exc_message, input_exc_kwargs,
expected_exc_message):
# | GIVEN |
def raising_invalid_input_error_exc_with(msg, **kwargs):
raise exception.InvalidInputError(msg, **kwargs)
input_exc_kwargs = input_exc_kwargs or {}
# | WHEN | & | THEN |
with self.assertRaises(exception.InvalidInputError) as cm:
raising_invalid_input_error_exc_with(input_exc_message,
**input_exc_kwargs)
the_exception = cm.exception
self.assertEqual(expected_exc_message, str(the_exception))