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())
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)
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)
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)