Exemple #1
0
    def test_export_as_json(self):
        item = roster_service.Item(jid=self.jid,
                                   subscription="to",
                                   ask="subscribe",
                                   approved=False,
                                   name="test",
                                   groups=["a", "b"])

        self.assertDictEqual(
            {
                "subscription": "to",
                "ask": "subscribe",
                "name": "test",
                "groups": ["a", "b"],
            }, item.export_as_json())

        item = roster_service.Item(jid=self.jid,
                                   approved=True,
                                   groups=["z", "a"])

        self.assertDictEqual(
            {
                "subscription": "none",
                "approved": True,
                "groups": ["a", "z"],
            }, item.export_as_json())
Exemple #2
0
    def test_update_from_xso_item(self):
        xso_item = roster_xso.Item(jid=self.jid,
                                   subscription="to",
                                   ask="subscribe",
                                   approved=False,
                                   name="test",
                                   groups=[
                                       roster_xso.Group(name="foo"),
                                       roster_xso.Group(name="bar"),
                                   ])

        item = roster_service.Item(self.jid)
        item.update_from_xso_item(xso_item)
        self.assertEqual(xso_item.jid, item.jid)
        self.assertEqual(xso_item.subscription, item.subscription)
        self.assertEqual(xso_item.ask, item.ask)
        self.assertEqual(xso_item.approved, item.approved)
        self.assertEqual(xso_item.name, item.name)
        self.assertSetEqual({"foo", "bar"}, item.groups)

        xso_item = roster_xso.Item(jid=structs.JID.fromstr("*****@*****.**"),
                                   subscription="from",
                                   ask=None,
                                   approved=True,
                                   name="other test",
                                   groups=[roster_xso.Group(name="a")])
        item.update_from_xso_item(xso_item)

        self.assertEqual(self.jid, item.jid)
        self.assertEqual(xso_item.subscription, item.subscription)
        self.assertEqual(xso_item.ask, item.ask)
        self.assertEqual(xso_item.approved, item.approved)
        self.assertEqual(xso_item.name, item.name)
        self.assertSetEqual({"a"}, item.groups)
Exemple #3
0
    def test_update_from_json(self):
        item = roster_service.Item(jid=self.jid)

        item.update_from_json({"subscription": "both"})
        self.assertEqual("both", item.subscription)

        item.update_from_json({"approved": True})
        self.assertTrue(item.approved)
        self.assertEqual("none", item.subscription)

        item.update_from_json({"ask": "subscribe"})
        self.assertEqual("subscribe", item.ask)
        self.assertFalse(item.approved)

        item.update_from_json({"name": "foobar baz"})
        self.assertEqual("foobar baz", item.name)
        self.assertIsNone(item.ask)

        item.update_from_json({
            "groups": ["a", "b", "a"],
        })
        self.assertIsNone(item.name)
        self.assertSetEqual({"a", "b"}, item.groups)

        item.update_from_json({})
        self.assertSetEqual(set(), item.groups)
Exemple #4
0
    def test_init(self):
        item = roster_service.Item(self.jid)
        self.assertEqual(self.jid, item.jid)
        self.assertEqual("none", item.subscription)
        self.assertFalse(item.approved)
        self.assertIsNone(item.ask)
        self.assertIsNone(item.name)
        self.assertSetEqual(set(), item.groups)

        item = roster_service.Item(self.jid,
                                   subscription="both",
                                   approved=True,
                                   ask="subscribe",
                                   name="foobar",
                                   groups=("fnord", "bar"))
        self.assertEqual("both", item.subscription)
        self.assertTrue(item.approved)
        self.assertEqual("subscribe", item.ask)
        self.assertEqual("foobar", item.name)
        self.assertSetEqual({"fnord", "bar"}, item.groups)