{{{ #!html

For Developers only

}}} [[html(
)]] This info is here for developers only. If you don't understand it, it's not for you. [[html(
)]] [[TOC(heading= ,inline)]] [[BR]] [[BR]] == !TestScenarios == some ideas about how to test UPnP setups, a bit more structured at the moment,[[BR]] at this stage focused on UPnP A/V !ControlPoints, !MediaServers and !MediaRenderers === Discovery: === * do we receive NOTIFY messages from all devices/services: root device, uuid, device and services? * d embedded devices, s embedded services, k service types --> 3+2d+k NOTIFY broadcasts * did we receive all service notifications necessary for a certain device type? * e.g. MS needs to propagate at least information about a !ContentDirectory and a !ContentManager * check if alive notifications are scheduled and sent within a reasonable time? * CACHE-CONTROL value * does the renewing alive notification arrive before the old one times out? * are the notifications correct: all fields, reasonable values? * NOTIFY HTTP header * do we receive responses to a M-SEARCH request from all devices? * do we receive M-SEARCH requests from a devices we havn't got a notification before? * do we receive a response to a M-SEARCH ssdp:all request for a device we havn't got a notification before? * do known devices respond to M-SEARCH requests? * are the M-SEARCH responses correct? * does a CP send M-SEARCH requests in a certain interval, not only just once? * does a device answer with a 412 error if the M-SEARCH request isn't correct? * if we send a byebye, do we still get messages like Action requests or Event messages? === Description === * are all the propagated device and service descriptions accessible? * reasonable XML (valid against the XML Schema)? * are the device and service descriptions correct: all fields, reasonable values, naming conventions? * can we retrieve all service descriptions (and do we get all state variables) necessary for a certain device type? * does a service provide all necessary actions and variables? * if a custom device/service is used, does the description comply to a given XML Schema? === Control === * does it respond to all propagated actions? * are the responses correct for correct requests? * do we get a reasonable and well-formed error for an incorrect request? * are the requests from the device correct? * does it handle errors or incorrect responses from us? * do we get a corresponding ConnectionComplete request for a PrepareForConnection like the specs claim? === Eventing === * can we subscribe to events? * do we get events within our subscription time? * are the events correct: all fields, reasonable values? * are there missing SEQs? * is the new SEQ an increment of the old one? * what happens, if we continue to send with the same SEQ? * do we still get events even if we haven't renewed the subscription? * does a remote device subscribe to our events? * do we get the renewal of its subscription in time? * if we send out an UNSUBSCRIBE notification, do we still get Event messages? === Presentation === * if a presentation url is given in the device description, is it accessible? * is it valid (X)HTML?