4 # Copyright 2012 Red Hat Inc.
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU Lesser General Public License as published
8 # by the Free Software Foundation; either version 2.1 of the licence or (at
9 # your option) any later version.
11 # See the included COPYING file for more information.
18 class ErrorPrompt(mock.SecretPrompt):
19 def __init__(self, service, sender, prompt_name):
20 mock.SecretPrompt.__init__(self, service, sender, prompt_name)
22 @dbus.service.method('org.freedesktop.Secret.Prompt')
23 def Prompt(self, window_id):
24 raise mock.NotSupported("This should cause prompting to fail")
26 class VanishPrompt(mock.SecretPrompt):
27 def __init__(self, service, sender, prompt_name):
28 mock.SecretPrompt.__init__(self, service, sender, prompt_name)
30 @dbus.service.method('org.freedesktop.Secret.Prompt')
31 def Prompt(self, window_id):
34 class WindowPrompt(mock.SecretPrompt):
35 def __init__(self, service, sender, prompt_name):
36 mock.SecretPrompt.__init__(self, service, sender, prompt_name)
38 @dbus.service.method('org.freedesktop.Secret.Prompt')
39 def Prompt(self, window_id):
40 self.result = dbus.String(window_id, variant_level=1)
41 mock.SecretPrompt.Prompt(self, window_id)
43 service = mock.SecretService()
44 service.add_standard_objects()
46 mock.SecretPrompt(service, None, "simple")
47 mock.SecretPrompt(service, None, "delay", delay=0.1)
48 def prompt_callback():
49 return dbus.String("Special Result", variant_level=1)
50 mock.SecretPrompt(service, None, "result", action=prompt_callback)
51 ErrorPrompt(service, None, "error")
52 VanishPrompt(service, None, "vanish")
53 WindowPrompt(service, None, "window")