示例#1
0
    def test_contacts_load(self):
        storage = MockStorage()
        c1 = contacts.Contacts(storage)
        self.assertEqual(0, len(c1._entries))

        c1.add_contact(contacts.IdentitySystem.OnChain, "name", pk_hex_1)
        self.assertEqual(1, len(c1._entries))

        c2 = contacts.Contacts(storage)
        self.assertEqual(1, len(c1._entries))
示例#2
0
    def test_contacts_remove_contacts(self):
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        contact1 = contacts1.add_contact(contacts.IdentitySystem.OnChain,
                                         "name1", pk_hex_1)
        contact2 = contacts1.add_contact(contacts.IdentitySystem.OnChain,
                                         "name2", pk_hex_2)
        self.assertEqual(2, len(contacts1._entries))

        contacts1.remove_contacts([contact1.contact_id])
        self.assertEqual(1, len(contacts1._entries))

        contacts1.remove_contacts([10000])
        self.assertEqual(1, len(contacts1._entries))

        contacts1.remove_contacts([contact2.contact_id])
        self.assertEqual(0, len(contacts1._entries))

        contact1 = contacts1.add_contact(contacts.IdentitySystem.OnChain,
                                         "name1", pk_hex_1)
        contact2 = contacts1.add_contact(contacts.IdentitySystem.OnChain,
                                         "name2", pk_hex_2)
        self.assertEqual(2, len(contacts1._entries))

        contacts1.remove_contacts([contact1.contact_id, contact2.contact_id])
        self.assertEqual(0, len(contacts1._entries))
示例#3
0
    def test_contacts_add_identity(self):
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        contact1_1 = contacts1.add_contact(contacts.IdentitySystem.OnChain,
                                           "name1", pk_hex_1)
        contacts1.add_identity(contact1_1.contact_id,
                               contacts.IdentitySystem.RyanPay, "xxx")

        contact1_2 = contacts1.get_contact(contact1_1.contact_id)
        self.assertEqual(2, len(contact1_2.identities))

        system_ids = set([v.system_id for v in contact1_2.identities])
        expected_system_ids = set(
            [contacts.IdentitySystem.OnChain, contacts.IdentitySystem.RyanPay])
        self.assertEqual(expected_system_ids, system_ids)

        identity1 = [
            v for v in contact1_2.identities
            if v.system_id == contacts.IdentitySystem.OnChain
        ][0]
        self.assertEqual(pk_hex_1, identity1.system_data)

        identity2 = [
            v for v in contact1_2.identities
            if v.system_id == contacts.IdentitySystem.RyanPay
        ][0]
        self.assertEqual("xxx", identity2.system_data)
示例#4
0
    def test_contacts_contact_exists(self):
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        self.assertFalse(contacts1.contact_exists(1))

        system_id = contacts.IdentitySystem.OnChain
        contacts1.add_contact(system_id, "name", pk_hex_1)

        self.assertTrue(contacts1.contact_exists(1))
示例#5
0
 def test_contacts_get_contacts(self):
     system_id = contacts.IdentitySystem.OnChain
     storage = MockStorage()
     contacts1 = contacts.Contacts(storage)
     contact1 = contacts1.add_contact(system_id, "name1", pk_hex_1)
     contact2 = contacts1.add_contact(system_id, "name2", pk_hex_2)
     entries = contacts1.get_contacts()
     self.assertEqual(2, len(entries))
     self.assertEqual(set([contact1.contact_id, contact2.contact_id]),
                      set([c.contact_id for c in entries]))
示例#6
0
    def test_contacts_set_label(self):
        system_id = contacts.IdentitySystem.OnChain
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        entry1 = contacts1.add_contact(system_id, "name", pk_hex_1)

        contacts1.set_label(entry1.contact_id, "bob")

        entry2 = contacts1.get_contact(entry1.contact_id)
        self.assertEqual("bob", entry2.label)
示例#7
0
    def test_contacts_remove_contact(self):
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)

        with self.assertRaises(KeyError):
            contacts1.remove_contact(10000)

        contact1 = contacts1.add_contact(contacts.IdentitySystem.OnChain, "name1", pk_hex_1)
        contacts1.remove_contact(contact1.contact_id)
        self.assertEqual(0, len(contacts1._entries))
示例#8
0
    def test_contacts_check_identity_exists(self):
        system_id = contacts.IdentitySystem.OnChain
        storage = MockStorage()
        c1 = contacts.Contacts(storage)
        c1.add_contact(system_id, "name", pk_hex_1)

        result = c1.check_identity_exists(system_id, pk_hex_1)
        self.assertEqual(contacts.IdentityCheckResult.InUse, result)

        result = c1.check_identity_exists(system_id, pk_hex_2)
        self.assertEqual(contacts.IdentityCheckResult.Ok, result)
示例#9
0
    def test_contacts_get_contact(self):
        system_id = contacts.IdentitySystem.OnChain
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        contact1_1 = contacts1.add_contact(system_id, "name", pk_hex_1)
        contact1_2 = contacts1.get_contact(contact1_1.contact_id)
        self.assertEqual(contact1_1, contact1_2)
        contacts1.set_label(contact1_1.contact_id, "bob")

        contact2 = contacts1.get_contact(contact1_1.contact_id)
        self.assertNotEqual(contact1_1, contact2)
示例#10
0
    def test_contacts_remove_identity(self):
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        contact1_1 = contacts1.add_contact(contacts.IdentitySystem.OnChain, "name1", pk_hex_1)
        identity1 = contact1_1.identities[0]
        identity2 = contacts1.add_identity(contact1_1.contact_id, contacts.IdentitySystem.Paymail, "xxx")
        self.assertEqual(2, len(contact1_1.identities))

        contact1_2 = contacts1.get_contact(contact1_1.contact_id)
        contacts1.remove_identity(contact1_2.contact_id, identity1.identity_id)
        self.assertEqual(1, len(contact1_2.identities))

        system_ids = set([ v.system_id for v in contact1_2.identities ])
        expected_system_ids = set([ contacts.IdentitySystem.Paymail ])
        self.assertEqual(expected_system_ids, system_ids)
示例#11
0
    def test_contacts_check_label(self):
        system_id = contacts.IdentitySystem.OnChain
        storage = MockStorage()
        c1 = contacts.Contacts(storage)

        result = c1.check_label("")
        self.assertEqual(contacts.IdentityCheckResult.Invalid, result)

        result = c1.check_label("bob")
        self.assertEqual(contacts.IdentityCheckResult.Ok, result)

        c1.add_contact(system_id, "name", pk_hex_1)

        result = c1.check_label("name")
        self.assertEqual(contacts.IdentityCheckResult.InUse, result)

        result = c1.check_label("Name")
        self.assertEqual(contacts.IdentityCheckResult.InUse, result)
示例#12
0
    def test_contacts_add_contact(self):
        storage = MockStorage()
        contacts1 = contacts.Contacts(storage)
        with self.assertRaises(contacts.ContactDataError):
            contacts1.add_contact(1000000, "name1", pk_hex_1)

        with self.assertRaises(contacts.ContactDataError):
            contacts1.add_contact(contacts.IdentitySystem.OnChain, "name1", "...")

        contact1 = contacts1.add_contact(contacts.IdentitySystem.OnChain, "name1", pk_hex_1)
        # Check that it got added.
        self.assertEqual(1, len(contacts1._entries))
        self.assertEqual(contact1, contacts1._entries[contact1.contact_id])

        # Check that what was added is what we expect.
        self.assertEqual(1, contact1.contact_id)
        self.assertEqual("name1", contact1.label)
        self.assertEqual(1, len(contact1.identities))
        self.assertEqual(contacts.IdentitySystem.OnChain, contact1.identities[0].system_id)
        self.assertEqual(pk_hex_1, contact1.identities[0].system_data)