Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 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);
         }
     }
 }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }