def test_user(self): new_os = new_module('os', getpid=lambda: 1) class Process(object): def __init__(self, pid): pass def username(self): return 'def' if hasattr(common, 'psutil') and not callable(common.psutil.Process.username): username = property(username) new_psutil = new_module('psutil', Process=Process) pl = Pl() with replace_env('USER', 'def') as segment_info: common.username = False with replace_attr(common, 'os', new_os): with replace_attr(common, 'psutil', new_psutil): with replace_attr(common, '_geteuid', lambda: 5): self.assertEqual(common.user(pl=pl, segment_info=segment_info), [ {'contents': 'def', 'highlight_group': 'user'} ]) self.assertEqual(common.user(pl=pl, segment_info=segment_info, hide_user='******'), [ {'contents': 'def', 'highlight_group': 'user'} ]) self.assertEqual(common.user(pl=pl, segment_info=segment_info, hide_user='******'), None) with replace_attr(common, '_geteuid', lambda: 0): self.assertEqual(common.user(pl=pl, segment_info=segment_info), [ {'contents': 'def', 'highlight_group': ['superuser', 'user']} ])
def test_user(self): new_os = new_module('os', environ={'USER': '******'}) with replace_module_attr(common, 'os', new_os): self.assertEqual(common.user(), [{'contents': 'def', 'highlight_group': 'user'}]) new_os.geteuid = lambda: 1 self.assertEqual(common.user(), [{'contents': 'def', 'highlight_group': 'user'}]) new_os.geteuid = lambda: 0 self.assertEqual(common.user(), [{'contents': 'def', 'highlight_group': ['superuser', 'user']}])
def test_user(self): new_os = new_module('os', getpid=lambda: 1) new_psutil = new_module('psutil', Process=lambda pid: Args(username='******')) pl = Pl() with replace_env('USER', 'def') as segment_info: with replace_attr(common, 'os', new_os): with replace_attr(common, 'psutil', new_psutil): with replace_attr(common, '_geteuid', lambda: 5): self.assertEqual(common.user(pl=pl, segment_info=segment_info), [ {'contents': 'def', 'highlight_group': 'user'} ]) with replace_attr(common, '_geteuid', lambda: 0): self.assertEqual(common.user(pl=pl, segment_info=segment_info), [ {'contents': 'def', 'highlight_group': ['superuser', 'user']} ])
def user_hostname(pl, segment_info, only_if_ssh=False, exclude_domain=False): user_seg = user(pl, segment_info) host = hostname(pl, segment_info, only_if_ssh, exclude_domain) user_seg[0]['contents'] = "{0}@{1}".format(user_seg[0]['contents'], host) return user_seg