コード例 #1
0
        public async Task CreateForUpstreamProtocolTest(UpstreamProtocol upstreamProtocol, Client.TransportType expectedTransportType)
        {
            // Arrange
            var receivedTransportType = Client.TransportType.Http1;

            Task <Client.ModuleClient> ModuleClientCreator(Client.TransportType transportType)
            {
                receivedTransportType = transportType;
                return(Task.FromResult((Client.ModuleClient)null));
            }

            // Act
            await ModuleClient.CreateDeviceClientForUpstreamProtocol(Option.Some(upstreamProtocol), ModuleClientCreator);

            // Assert
            Assert.Equal(expectedTransportType, receivedTransportType);
        }
コード例 #2
0
        public async Task CreateForNoUpstreamProtocolTest()
        {
            // Arrange
            var receivedTransportTypes = new List <Client.TransportType>();

            Task <Client.ModuleClient> DeviceClientCreator(Client.TransportType transportType)
            {
                receivedTransportTypes.Add(transportType);
                return(receivedTransportTypes.Count == 1
                    ? Task.FromException <Client.ModuleClient>(new InvalidOperationException())
                    : Task.FromResult(Client.ModuleClient.Create("example.com",
                                                                 new Client.ModuleAuthenticationWithToken("deviceid", "moduleid", TokenHelper.CreateSasToken("foo.azure-devices.net")))));
            }

            // Act
            await ModuleClient.CreateDeviceClientForUpstreamProtocol(Option.None <UpstreamProtocol>(), DeviceClientCreator);

            // Assert
            Assert.Equal(2, receivedTransportTypes.Count);
            Assert.Equal(Client.TransportType.Amqp_Tcp_Only, receivedTransportTypes[0]);
            Assert.Equal(Client.TransportType.Amqp_WebSocket_Only, receivedTransportTypes[1]);
        }
コード例 #3
0
ファイル: ModuleClientTest.cs プロジェクト: yphuangms/iotedge
        public async Task CreateForNoUpstreamProtocolTest()
        {
            // Arrange
            var receivedTransportTypes = new List <Client.TransportType>();

            Task <Client.ModuleClient> DeviceClientCreator(Client.TransportType transportType)
            {
                receivedTransportTypes.Add(transportType);
                if (receivedTransportTypes.Count == 1)
                {
                    throw new InvalidOperationException();
                }
                return(Task.FromResult((Client.ModuleClient)null));
            }

            // Act
            await ModuleClient.CreateDeviceClientForUpstreamProtocol(Option.None <UpstreamProtocol>(), DeviceClientCreator);

            // Assert
            Assert.Equal(2, receivedTransportTypes.Count);
            Assert.Equal(Client.TransportType.Amqp_Tcp_Only, receivedTransportTypes[0]);
            Assert.Equal(Client.TransportType.Amqp_WebSocket_Only, receivedTransportTypes[1]);
        }