319 |
319 |
assert_dicts_are_equal(self, kva.value, exp)
|
320 |
320 |
|
321 |
321 |
|
|
322 |
class ProgressBarArgument(TestCase):
|
|
323 |
|
|
324 |
class PseudoBar(object):
|
|
325 |
message = ''
|
|
326 |
suffix = ''
|
|
327 |
|
|
328 |
def start():
|
|
329 |
pass
|
|
330 |
|
|
331 |
@patch('kamaki.cli.argument.FlagArgument.__init__')
|
|
332 |
def test___init__(self, init):
|
|
333 |
help, pname, default = 'help', '--progress', 'default'
|
|
334 |
pba = argument.ProgressBarArgument(help, pname, default)
|
|
335 |
self.assertTrue(isinstance(pba, argument.ProgressBarArgument))
|
|
336 |
self.assertEqual(pba.suffix, '%(percent)d%%')
|
|
337 |
init.assert_called_once(help, pname, default)
|
|
338 |
|
|
339 |
def test_clone(self):
|
|
340 |
pba = argument.ProgressBarArgument(parsed_name='--progress')
|
|
341 |
pba.value = None
|
|
342 |
pba_clone = pba.clone()
|
|
343 |
self.assertTrue(isinstance(pba, argument.ProgressBarArgument))
|
|
344 |
self.assertTrue(isinstance(pba_clone, argument.ProgressBarArgument))
|
|
345 |
self.assertNotEqual(pba, pba_clone)
|
|
346 |
self.assertEqual(pba.parsed_name, pba_clone.parsed_name)
|
|
347 |
|
|
348 |
def test_get_generator(self):
|
|
349 |
pba = argument.ProgressBarArgument(parsed_name='--progress')
|
|
350 |
pba.value = None
|
|
351 |
msg, msg_len = 'message', 40
|
|
352 |
with patch('kamaki.cli.argument.KamakiProgressBar.start') as start:
|
|
353 |
pba.get_generator(msg, msg_len)
|
|
354 |
self.assertTrue(isinstance(pba.bar, argument.KamakiProgressBar))
|
|
355 |
self.assertNotEqual(pba.bar.message, msg)
|
|
356 |
self.assertEqual(
|
|
357 |
pba.bar.message, '%s%s' % (msg, ' ' * (msg_len - len(msg))))
|
|
358 |
self.assertEqual(pba.bar.suffix, '%(percent)d%% - %(eta)ds')
|
|
359 |
start.assert_called_once()
|
|
360 |
|
|
361 |
def test_finish(self):
|
|
362 |
pba = argument.ProgressBarArgument(parsed_name='--progress')
|
|
363 |
pba.value = None
|
|
364 |
self.assertEqual(pba.finish(), None)
|
|
365 |
pba.bar = argument.KamakiProgressBar()
|
|
366 |
with patch('kamaki.cli.argument.KamakiProgressBar.finish') as finish:
|
|
367 |
pba.finish()
|
|
368 |
finish.assert_called_once()
|
|
369 |
|
|
370 |
|
322 |
371 |
if __name__ == '__main__':
|
323 |
372 |
from sys import argv
|
324 |
373 |
from kamaki.cli.test import runTestCase
|
... | ... | |
331 |
380 |
runTestCase(DateArgument, 'DateArgument', argv[1:])
|
332 |
381 |
runTestCase(VersionArgument, 'VersionArgument', argv[1:])
|
333 |
382 |
runTestCase(KeyValueArgument, 'KeyValueArgument', argv[1:])
|
|
383 |
runTestCase(ProgressBarArgument, 'ProgressBarArgument', argv[1:])
|