Polling condition added

This commit is contained in:
xis 2023-10-22 14:50:02 +02:00
parent c3dadfd845
commit 249b5fc33e

View file

@ -8,6 +8,7 @@ import org.jupnp.model.message.header.STAllHeader
import org.jupnp.model.message.header.UpnpHeader import org.jupnp.model.message.header.UpnpHeader
import org.jupnp.model.types.HostPort import org.jupnp.model.types.HostPort
import org.springframework.beans.factory.annotation.Autowired import org.springframework.beans.factory.annotation.Autowired
import spock.util.concurrent.PollingConditions
import support.IntegrationSpecification import support.IntegrationSpecification
import support.beans.dlna.upnp.UpnpServiceConfigurationInt import support.beans.dlna.upnp.UpnpServiceConfigurationInt
@ -23,6 +24,7 @@ class DlnaServiceIntTest extends IntegrationSpecification {
private UpnpService upnpService private UpnpService upnpService
@Autowired @Autowired
private MediaServer mediaServer private MediaServer mediaServer
def conditions = new PollingConditions(timeout: 1)
def "should send initial multicast Upnp datagrams on start"() { def "should send initial multicast Upnp datagrams on start"() {
given: given:
@ -36,8 +38,9 @@ class DlnaServiceIntTest extends IntegrationSpecification {
sut.start() sut.start()
then: then:
configuration.outgoingDatagramMessages.any() conditions.eventually {
configuration.outgoingDatagramMessages[0].class == OutgoingSearchRequest assert configuration.outgoingDatagramMessages.any()
assert configuration.outgoingDatagramMessages[0].class == OutgoingSearchRequest
with(configuration.outgoingDatagramMessages[0] as OutgoingSearchRequest) { with(configuration.outgoingDatagramMessages[0] as OutgoingSearchRequest) {
assert it.operation.method == MSEARCH assert it.operation.method == MSEARCH
assert it.destinationAddress == InetAddress.getByName(IPV4_UPNP_MULTICAST_GROUP) assert it.destinationAddress == InetAddress.getByName(IPV4_UPNP_MULTICAST_GROUP)
@ -48,6 +51,7 @@ class DlnaServiceIntTest extends IntegrationSpecification {
assert header(it, HOST, HostHeader.class) == new HostPort(IPV4_UPNP_MULTICAST_GROUP, UPNP_MULTICAST_PORT) assert header(it, HOST, HostHeader.class) == new HostPort(IPV4_UPNP_MULTICAST_GROUP, UPNP_MULTICAST_PORT)
} }
} }
}
def <T> T header(OutgoingSearchRequest request, UpnpHeader.Type type, Class<? extends UpnpHeader<T>> clazz) { def <T> T header(OutgoingSearchRequest request, UpnpHeader.Type type, Class<? extends UpnpHeader<T>> clazz) {
return clazz.cast(request.headers.get(type).find()).value return clazz.cast(request.headers.get(type).find()).value