debian-koji/tests/test_lib/test_grab_session_options.py

80 lines
2.5 KiB
Python

from __future__ import absolute_import
import optparse
import unittest
import koji
NORMAL_VAL = {'user': 'jdoe',
'password': 'fakepwd',
'debug_xmlrpc': True,
'debug': False,
'max_retries': 3,
'retry_interval': 10,
'offline_retry': True,
'offline_retry_interval': 300,
'anon_retry': True,
'timeout': 30000,
'use_fast_upload': True,
'upload_blocksize': 1024,
'no_ssl_verify': True,
'serverca': '/fake/serverca.cert',
}
EMPTY_VAL = {}
NONE_VAL = {'user': None,
'password': None,
'debug_xmlrpc': None,
'debug': None,
'max_retries': None,
'retry_interval': None,
'offline_retry': None,
'offline_retry_interval': None,
'anon_retry': None,
'timeout': None,
'use_fast_upload': None,
'upload_blocksize': None,
'no_ssl_verify': None,
'serverca': None,
}
MEANINGLESS_VAL = {'somekey': 'somevalue'}
MIXED_VAL = {'user': None,
'password': None,
'anon_retry': 3,
'timeout': 100,
'meaningless': 'wow',
'nonval': None}
MIXED_REL = {'anon_retry': 3,
'timeout': 100,
}
class TestGrabSessionOptions(unittest.TestCase):
"""TestCase for grab_session_options"""
def test_optparse_value(self):
rel = koji.grab_session_options(optparse.Values(NORMAL_VAL))
self.assertEqual(rel, NORMAL_VAL)
rel = koji.grab_session_options(optparse.Values(EMPTY_VAL))
self.assertEqual(rel, EMPTY_VAL)
rel = koji.grab_session_options(optparse.Values(NONE_VAL))
self.assertEqual(rel, {})
rel = koji.grab_session_options(optparse.Values(MEANINGLESS_VAL))
self.assertEqual(rel, {})
rel = koji.grab_session_options(optparse.Values(MIXED_VAL))
self.assertEqual(rel, MIXED_REL)
def test_dict(self):
rel = koji.grab_session_options(NORMAL_VAL)
self.assertEqual(rel, NORMAL_VAL)
rel = koji.grab_session_options(EMPTY_VAL)
self.assertEqual(rel, EMPTY_VAL)
rel = koji.grab_session_options(NONE_VAL)
self.assertEqual(rel, {})
rel = koji.grab_session_options(MEANINGLESS_VAL)
self.assertEqual(rel, {})
rel = koji.grab_session_options(MIXED_VAL)
self.assertEqual(rel, MIXED_REL)