debian-koji/tests/test_hub/test_convert_value.py
Tomas Kopecek 60add4a88a test
2022-05-02 07:09:51 +02:00

42 lines
1.2 KiB
Python

import unittest
import koji
from kojihub import convert_value
class TestConvertValue(unittest.TestCase):
def test_convert_ok(self):
cases = (
(str, 'text'),
(int, 1),
(bool, True)
)
for cast, input in cases:
output = convert_value(input, cast=cast)
self.assertEqual(input, output)
def test_convert_fail(self):
with self.assertRaises(koji.ParameterError):
convert_value('asd', cast=int)
def test_convert_exc(self):
with self.assertRaises(IOError):
convert_value('asd', cast=int, exc_type=IOError)
def test_none(self):
with self.assertRaises(koji.ParameterError):
convert_value(None, cast=int)
value = convert_value(None, cast=int, none_allowed=True)
self.assertIsNone(value)
def test_message(self):
msg = 'test_message'
with self.assertRaises(koji.ParameterError) as ex:
convert_value(None, cast=int, message=msg)
self.assertEqual(str(ex.exception), msg)
def test_only(self):
"fail on otherwise valid conversions"
with self.assertRaises(koji.ParameterError):
convert_value(None, cast=bool, check_only=True)