public async Task SendMessageMultipleDevicesTest() { IList <IMessage> messages = MessageHelper.GenerateMessages(4); DateTime startTime = DateTime.UtcNow.Subtract(ClockSkew); ICloudProxy cloudProxy1 = await this.GetCloudProxyWithConnectionStringKey("device2ConnStrKey"); ICloudProxy cloudProxy2 = await this.GetCloudProxyWithConnectionStringKey("device3ConnStrKey"); for (int i = 0; i < messages.Count; i = i + 2) { await cloudProxy1.SendMessageAsync(messages[i]); await cloudProxy2.SendMessageAsync(messages[i + 1]); } bool disconnectResult = await cloudProxy1.CloseAsync(); Assert.True(disconnectResult); disconnectResult = await cloudProxy2.CloseAsync(); Assert.True(disconnectResult); await CheckMessageInEventHub(messages, startTime); }
public async Task SendMessageTest() { IMessage message = MessageHelper.GenerateMessages(1)[0]; DateTime startTime = DateTime.UtcNow.Subtract(ClockSkew); ICloudProxy cloudProxy = await this.GetCloudProxyWithConnectionStringKey("device2ConnStrKey"); await cloudProxy.SendMessageAsync(message); bool disconnectResult = await cloudProxy.CloseAsync(); Assert.True(disconnectResult); await CheckMessageInEventHub(new List <IMessage> { message }, startTime); }
static async Task RunSendMessages(ICloudProxy cloudProxy, IEnumerable <IMessage> messages, int batchSize = 1) { if (batchSize == 1) { foreach (IMessage message in messages) { await cloudProxy.SendMessageAsync(message); } } else { var batches = messages.Batch(batchSize); foreach (IEnumerable <IMessage> batch in batches) { await cloudProxy.SendMessageBatchAsync(batch); } } }
public async Task SendMessageMultipleDevicesTest() { IList <IMessage> messages = MessageHelper.GenerateMessages(4); DateTime startTime = DateTime.UtcNow.Subtract(ClockSkew); string device2ConnectionString = await SecretsHelper.GetSecretFromConfigKey(Device2ConnStrKey); string device3ConnectionString = await SecretsHelper.GetSecretFromConfigKey(Device3ConnStrKey); string deviceId2 = IotHubConnectionStringBuilder.Create(device2ConnectionString).DeviceId; string deviceId3 = IotHubConnectionStringBuilder.Create(device3ConnectionString).DeviceId; ICloudProxy cloudProxy2 = await this.GetCloudProxyFromConnectionStringKey(Device2ConnStrKey); ICloudProxy cloudProxy3 = await this.GetCloudProxyFromConnectionStringKey(Device3ConnStrKey); Dictionary <string, IList <IMessage> > sentMessagesByDevice = new Dictionary <string, IList <IMessage> >(); sentMessagesByDevice.Add(deviceId2, new List <IMessage>()); sentMessagesByDevice.Add(deviceId3, new List <IMessage>()); for (int i = 0; i < messages.Count; i = i + 2) { IMessage device2Message = messages[i]; IMessage device3Message = messages[i + 1]; await cloudProxy2.SendMessageAsync(device2Message); await cloudProxy3.SendMessageAsync(device3Message); sentMessagesByDevice[deviceId2].Add(device2Message); sentMessagesByDevice[deviceId3].Add(device3Message); } bool disconnectResult = await cloudProxy2.CloseAsync(); Assert.True(disconnectResult); disconnectResult = await cloudProxy3.CloseAsync(); Assert.True(disconnectResult); await CheckMessageInEventHub(sentMessagesByDevice, startTime); }
public async Task SendMessageTest() { string device2ConnectionString = await SecretsHelper.GetSecretFromConfigKey(Device2ConnStrKey); string deviceId2 = IotHubConnectionStringBuilder.Create(device2ConnectionString).DeviceId; IMessage message = MessageHelper.GenerateMessages(1)[0]; DateTime startTime = DateTime.UtcNow.Subtract(ClockSkew); ICloudProxy cloudProxy = await this.GetCloudProxyFromConnectionStringKey(Device2ConnStrKey); await cloudProxy.SendMessageAsync(message); Dictionary <string, IList <IMessage> > sentMessagesByDevice = new Dictionary <string, IList <IMessage> >(); sentMessagesByDevice.Add(deviceId2, new List <IMessage>()); sentMessagesByDevice[deviceId2].Add(message); bool disconnectResult = await cloudProxy.CloseAsync(); Assert.True(disconnectResult); await CheckMessageInEventHub(sentMessagesByDevice, startTime); }