public async Task HandlesDirectMethodTopics(string topic) { var publishInfo = new MqttPublishInfo(topic, new byte[0]); var(connectionRegistry, identityProvider) = GetHandlerDependencies(); var sut = new DirectMethodHandler(connectionRegistry, identityProvider); var isHandled = await sut.HandleAsync(publishInfo); Assert.True(isHandled); }
public async Task CapturesDeviceIdentityFromResponseTopic() { var listenerCapture = new DeviceListenerCapture(); var publishInfo = new MqttPublishInfo("$edgehub/device_id/methods/res/200/?$rid=abcde", new byte[0]); var(connectionRegistry, identityProvider) = GetHandlerDependencies(listenerCapture); var sut = new DirectMethodHandler(connectionRegistry, identityProvider); await sut.HandleAsync(publishInfo); Assert.IsType <DeviceIdentity>(listenerCapture.Captured.Identity); Assert.Equal("device_id", ((DeviceIdentity)listenerCapture.Captured.Identity).DeviceId); }
public async Task AddsSystemPropertiesToMessage() { var listenerCapture = new DeviceListenerCapture(); var publishInfo = new MqttPublishInfo("$edgehub/device_id/module_id/methods/res/200/?$rid=abcde", new byte[0]); var(connectionRegistry, identityProvider) = GetHandlerDependencies(listenerCapture); var sut = new DirectMethodHandler(connectionRegistry, identityProvider); await sut.HandleAsync(publishInfo); var message = listenerCapture.Captured.CapturedMessage; Assert.Contains(SystemProperties.CorrelationId, message.Properties); Assert.Equal("abcde", message.Properties[SystemProperties.CorrelationId]); Assert.Contains(SystemProperties.StatusCode, message.Properties); Assert.Equal("200", message.Properties[SystemProperties.StatusCode]); }