Revision c0fbf04c kamaki/cli/argument/test.py
b/kamaki/cli/argument/test.py | ||
---|---|---|
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:]) |
Also available in: Unified diff