public void AsyncSearchTest() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { server.CreateAnnouncer("urn:schemas-upnp-org:service:test:1", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::urn:schemas-upnp-org:service:test:1"); server.StartListening(); client.StartListening(); var search = client.CreateSearch(false); search.SearchType = "urn:schemas-upnp-org:service:test:1"; search.ResultFound += (sender, e) => { lock (mutex) { if (IsTestAnnouncement(e.Value)) Monitor.Pulse(mutex); } }; lock (mutex) { search.SearchAsync(); if (!Monitor.Wait(mutex, TimeSpan.FromSeconds(30))) { Assert.Fail("The announcement timed out."); } } } }
public void AnnoucementTest() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { client.ServiceFound += TestResultFound; client.StartListening(); lock (mutex) { server.CreateAnnouncer("urn:schemas-upnp-org:service:test:1", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::urn:schemas-upnp-org:service:test:1"); server.StartListening(); if (!Monitor.Wait(mutex, TimeSpan.FromSeconds(30))) { Assert.Fail("The announcement timed out."); } } } }
public void FilteredAnnouncementTest2() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { client.Filter = message => message.Type == "urn:schemas-upnp-org:service:test:1"; client.StartListening(); client.ServiceFound += (sender, args) => { lock (mutex) { if (args.Value.Type != "urn:schemas-upnp-org:service:test:1") { Monitor.Pulse(mutex); } } }; lock (mutex) { server.CreateAnnouncer("upnp:test:fail", "uuid:upnp-tests:test1"); server.CreateAnnouncer("upnp", "uuid:upnp-tests:test2"); server.CreateAnnouncer("urn:schemas-upnp-org:service:test:1", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::urn:schemas-upnp-org:service:test:1"); server.StartListening(); if (Monitor.Wait(mutex, TimeSpan.FromSeconds(10))) { Assert.Fail("The client recieved invalid announcements."); } } } }
public void SynchronousAnnouncementTest() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { client.Filter = message => message.Type == "urn:schemas-upnp-org:service:test:1"; client.StartListening(); server.CreateAnnouncer("urn:schemas-upnp-org:service:test:1", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::urn:schemas-upnp-org:service:test:1"); server.StartListening(); var result = client.FindFirst(TimeSpan.FromSeconds(30)); Assert.IsNotNull(result); Assert.That(IsTestAnnouncement(result)); } }
public void SearchTest() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { server.CreateAnnouncer("urn:schemas-upnp-org:service:test:1", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::urn:schemas-upnp-org:service:test:1"); server.StartListening(); client.StartListening(); var search = client.CreateSearch(false); var results = search.Search(); Assert.That(results.Exists(IsTestAnnouncement)); } }
public void RootDeviceSearchTest() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { server.CreateAnnouncer("upnp:rootdevice", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::upnp:rootdevice"); server.StartListening(); client.StartListening(); var search = client.CreateSearch(false); search.SearchType = "upnp:rootdevice"; var results = search.Search(); Assert.AreEqual(0, results.Count(msg => msg.Type != "upnp:rootdevice")); Assert.That(results.Exists(IsRootAnnouncement)); } }
public void RootDeviceAsyncSearchTest() { using (var client = new SsdpClient()) using (var server = new SsdpServer()) { server.CreateAnnouncer("upnp:rootdevice", "uuid:979F4CE8-64AF-4653-B207-D7514908356F::upnp:rootdevice"); server.StartListening(); client.StartListening(); var search = client.CreateSearch(false); search.SearchType = "upnp:rootdevice"; search.ResultFound += RootResultFound; lock (mutex) { search.SearchAsync(); if (!Monitor.Wait(mutex, TimeSpan.FromSeconds(30))) { Assert.Fail("The announcement timed out."); } } } }