Revision b482315a kamaki/clients/tests/__init__.py
b/kamaki/clients/tests/__init__.py | ||
---|---|---|
35 | 35 |
from argparse import ArgumentParser |
36 | 36 |
from sys import stdout |
37 | 37 |
from traceback import extract_stack, print_stack |
38 |
from progress.bar import ShadyBar |
|
38 | 39 |
|
39 | 40 |
from kamaki.cli.config import Config |
40 | 41 |
|
... | ... | |
79 | 80 |
self._fetched[key] = val |
80 | 81 |
return val |
81 | 82 |
|
83 |
def _safe_progress_bar(self, msg): |
|
84 |
"""Try to get a progress bar, but do not raise errors""" |
|
85 |
try: |
|
86 |
progress_bar = ShadyBar() |
|
87 |
gen = progress_bar.get_generator(msg) |
|
88 |
except Exception: |
|
89 |
return (None, None) |
|
90 |
return (progress_bar, gen) |
|
91 |
|
|
92 |
def _safe_progress_bar_finish(self, progress_bar): |
|
93 |
try: |
|
94 |
progress_bar.finish() |
|
95 |
except Exception: |
|
96 |
pass |
|
97 |
|
|
98 |
def do_with_progress_bar(self, action, msg, list, *args, **kwargs): |
|
99 |
(action_bar, action_cb) = self._safe_progress_bar('') |
|
100 |
|
|
101 |
def assert_dicts_are_deeply_equal(self, d1, d2): |
|
102 |
for k, v in d1.items(): |
|
103 |
self.assertTrue(k in d2) |
|
104 |
if isinstance(v, dict): |
|
105 |
self.assert_dicts_are_deeply_equal(v, d2[k]) |
|
106 |
else: |
|
107 |
self.assertEqual(unicode(v), unicode(d2[k])) |
|
108 |
|
|
82 | 109 |
def test_000(self): |
83 | 110 |
import inspect |
84 | 111 |
methods = [method for method in inspect.getmembers( |
Also available in: Unified diff