5 from gi.repository import MockService as Mock
6 from gi.repository import Secret, GLib
8 STORE_SCHEMA = Secret.Schema.new("org.mock.Schema",
9 Secret.SchemaFlags.NONE,
11 "number": Secret.SchemaAttributeType.INTEGER,
12 "string": Secret.SchemaAttributeType.STRING,
13 "even": Secret.SchemaAttributeType.BOOLEAN,
17 class TestRemove(unittest.TestCase):
19 Mock.start("mock-service-normal.py")
24 def testSynchronous(self):
25 attributes = { "number": "1", "string": "one", "even": "false" }
27 password = Secret.password_lookup_sync(STORE_SCHEMA, attributes, None)
28 self.assertEqual("111", password)
30 deleted = Secret.password_remove_sync(STORE_SCHEMA, attributes, None)
31 self.assertEqual(True, deleted)
33 def testSyncNotFound(self):
34 attributes = { "number": "11", "string": "one", "even": "true" }
36 password = Secret.password_lookup_sync(STORE_SCHEMA, attributes, None)
37 self.assertEqual(None, password)
39 deleted = Secret.password_remove_sync(STORE_SCHEMA, attributes, None)
40 self.assertEqual(False, deleted)
42 def testAsynchronous(self):
43 loop = GLib.MainLoop(None, False)
45 def on_result_ready(source, result, unused):
47 deleted = Secret.password_remove_finish(result)
48 self.assertEquals(True, deleted)
50 Secret.password_remove(STORE_SCHEMA, { "number": "2", "string": "two" },
51 None, on_result_ready, None)
55 def testAsyncNotFound(self):
56 loop = GLib.MainLoop(None, False)
58 def on_result_ready(source, result, unused):
60 deleted = Secret.password_remove_finish(result)
61 self.assertEquals(False, deleted)
63 Secret.password_remove(STORE_SCHEMA, { "number": "7", "string": "five" },
64 None, on_result_ready, None)
68 if __name__ == '__main__':