public async Task AuthorizedCreateOrderForEmptyOrderTest()
        {
            // Arrange
            var client = new OrderingClient(_channel);

            var token = await GetToken();

            var headers = new Metadata();

            headers.Add("Authorization", $"Bearer {token}");

            // Assert
            Assert.Throws <RpcException>(() =>
            {
                try
                {
                    // Act
                    var response = client.CreateOrder(new Order(), headers: headers);
                }
                catch (RpcException ex) when(ex.StatusCode == StatusCode.InvalidArgument)
                {
                    //test success
                    throw ex;
                }
                catch (Exception ex)
                {
                    //test fail
                    throw new Exception(ex.Message, ex);
                }
            });
        }
        public void UnauthorizedCreateOrderTest()
        {
            // Arrange
            var client = new OrderingClient(_channel);

            // Assert
            Assert.Throws <RpcException>(() =>
            {
                try
                {
                    // Act
                    var response = client.CreateOrder(new Order());
                }
                catch (RpcException ex) when(ex.StatusCode == StatusCode.Unauthenticated)
                {
                    //test success
                    throw ex;
                }
                catch (Exception ex)
                {
                    //test fail
                    throw new Exception(ex.Message, ex);
                }
            });
        }
예제 #3
0
        private static void AuthorizatedCreateOrderWithToken(GrpcChannel channel, string token)
        {
            Console.WriteLine($"*** AuthorizatedCreateOrderWithToken() ***");
            var client  = new OrderingClient(channel);
            var headers = new Metadata();

            headers.Add("Authorization", $"Bearer {token}");

            try
            {
                Console.WriteLine($"*** 1 - CreateOrder(new Order())");
                client.CreateOrder(new Order(), headers: headers);
            }
            catch (RpcException ex)
            {
                Console.WriteLine($"StatusCode:{ex.StatusCode}|Status.StatusCode:{ex.Status.StatusCode}|Status.Detail:{ex.Status.Detail}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"ex.Message:{ex.Message}");
            }

            System.Threading.Thread.Sleep(2000);
            Console.WriteLine($"*** 2 - CreateOrder(order)");

            var response = client.CreateOrder(GetOrder, headers: headers);

            Console.WriteLine($"Success:{response.Success} | Message:{response.Message}");

            System.Threading.Thread.Sleep(2000);
        }
        public async Task AuthorizedCreateOrderTest()
        {
            // Arrange
            var client = new OrderingClient(_channel);

            var token = await GetToken();

            var headers = new Metadata();

            headers.Add("Authorization", $"Bearer {token}");

            // Act
            var response = client.CreateOrder(GetOrder, headers: headers);

            // Assert
            Assert.True(response.Success);
            Assert.Contains("Added order as successfull", response.Message);
        }
예제 #5
0
        private static void UnauthorizedCreateOrder(GrpcChannel channel)
        {
            Console.WriteLine($"*** UnauthorizedCreateOrder() ***");
            var client = new OrderingClient(channel);

            try
            {
                Console.WriteLine($"*** 1 - CreateOrder(new Order())");
                client.CreateOrder(new Order());
            }
            catch (RpcException ex)
            {
                Console.WriteLine($"ex|Status.StatusCode:{ex.Status.StatusCode}|Status.Detail:{ex.Status.Detail}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"ex.Message:{ex.Message}");
            }

            System.Threading.Thread.Sleep(2000);
        }