debian-koji/tests/test_hub/test_update_processor.py
2018-07-11 17:37:39 -04:00

37 lines
1.2 KiB
Python

from __future__ import absolute_import
import mock
try:
import unittest2 as unittest
except ImportError:
import unittest
import kojihub
class TestUpdateProcessor(unittest.TestCase):
def test_basic_instantiation(self):
kojihub.UpdateProcessor('sometable') # No exception!
def test_to_string_with_data(self):
proc = kojihub.UpdateProcessor('sometable', data={'foo': 'bar'})
actual = str(proc)
expected = 'UPDATE sometable SET foo = %(data.foo)s'
self.assertEquals(actual, expected)
def test_to_values_from_data(self):
proc = kojihub.UpdateProcessor('sometable', data={'foo': 'bar'})
actual = proc.get_values()
expected = {'data.foo': 'bar'}
self.assertEquals(actual, expected)
@mock.patch('kojihub.context')
def test_simple_execution_with_iterate(self, context):
cursor = mock.MagicMock()
context.cnx.cursor.return_value = cursor
proc = kojihub.UpdateProcessor('sometable', data={'foo': 'bar'})
proc.execute()
cursor.execute.assert_called_once_with(
'UPDATE sometable SET foo = %(data.foo)s',
{'data.foo': 'bar'},
)