예제 #1
0
        public void AddRemoveNodeTest()
        {
            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate
                {
                    return(true);
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0);

                FieldInfo fieldInfo = mgr.GetType().GetField("m_nodes",
                                                             BindingFlags.Instance | BindingFlags.NonPublic);
                IDictionary nodes = (IDictionary)fieldInfo.GetValue(mgr);
                if (nodes == null || nodes.Count != 1)
                {
                    Assert.Fail("The GetNode function failed");
                }

                mgr.RemoveNode(jid, NODE, null);
                Assert.IsTrue(nodes[new JIDNode(jid, NODE)] == null);
            }
        }
예제 #2
0
        private void subscribeToPubSubToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PubSubSubcribeForm ps = new PubSubSubcribeForm();

            // this is a small race.  to do it right, I should call dm.BeginFindServiceWithFeature,
            // and modify that to call back on all of the found services.  The idea is that
            // by the the time the user has a chance to click on the menu item, the DiscoManager
            // will be populated.
            ps.DiscoManager = dm;
            if (ps.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            JID    jid  = ps.JID;
            string node = ps.Node;
            string text = string.Format("{0}/{1}", jid, node);

            TabPage tp = new TabPage(text);

            tp.Name = text;

            PubSubDisplay disp = new PubSubDisplay();

            disp.Node = psm.GetNode(jid, node, 10);
            tp.Controls.Add(disp);
            disp.Dock = DockStyle.Fill;

            tabControl1.TabPages.Add(tp);
            tabControl1.SelectedTab = tp;
        }
예제 #3
0
        public void GetNodeTest()
        {
            PubSubManager mgr = GetPubSubMgr();

            PubSubNode node = mgr.GetNode(jid, NODE, 0);

            Assert.AreNotEqual(node, null);
        }
예제 #4
0
        public void DeleteNodeTest()
        {
            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate(IQ iq, IqCB cb, object cbArg)
                {
                    string id       = iq.GetAttribute("id");
                    string original = iq.OuterXml;
                    return(original.Replace(" ", "") == GetRemoveNodeIq(id).Replace(" ", ""));
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0).Delete();
            }
        }
예제 #5
0
        public void DeleteItemTest()
        {
            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate(IQ iq, IqCB cb, object cbArg)
                {
                    string id         = iq.GetAttribute("id");
                    string original   = iq.OuterXml.Replace(" ", "");
                    string comparison = GetDeleteItemString(id).Replace(" ", "");
                    return(original == comparison);
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0).DeleteItem(PUB_SUB_ID);
            }
        }
예제 #6
0
        public void PublishItemTest()
        {
            XmlElement pubItem = CreateTestItem();

            using (mocks.Record())
            {
                Expect.Call(stream.Document).Return(doc);
                Expect.Call(stream.Document).Return(doc);
                SetupTrackerBeginIq(delegate(IQ iq, IqCB cb, object cbArg)
                {
                    string id         = iq.GetAttribute("id");
                    string original   = iq.OuterXml.Replace(" ", "");
                    string comparison = GetPublishItemIq(id).Replace(" ", "");
                    return(original == comparison);
                });
            }

            using (mocks.Playback())
            {
                PubSubManager mgr = GetPubSubMgr();
                mgr.GetNode(jid, NODE, 0).PublishItem(null, pubItem);
            }
        }