Ejemplo n.º 1
0
        public void UpdateOrderTest()
        {
            var order = new OrdersHelper().AddOrder();

            OrdersHelper.PrintFullOrderInfo(order);

            var products = new ProductServiceClient().GetAllProducts();

            order.ShipAddress   = "New Ship Address";
            order.Order_Details = new[]
            {
                new Order_Detail()
                {
                    Discount = 0, ProductID = products[products.Length - 1 >= 0 ? products.Length - 1 : 0].ProductID, Quantity = 100, UnitPrice = 3
                },
                new Order_Detail()
                {
                    Discount = 0, ProductID = products[products.Length - 2 >= 0 ? products.Length - 2 : 0].ProductID, Quantity = 200, UnitPrice = 2
                },
                new Order_Detail()
                {
                    Discount = 0, ProductID = products[products.Length - 3 >= 0 ? products.Length - 3 : 0].ProductID, Quantity = 300, UnitPrice = 1
                },
            };

            var updatedOrder = new OrderServiceClient(new InstanceContext(this)).UpdateOrder(order);

            Assert.AreEqual(updatedOrder.ShipAddress, "New Ship Address");
            Assert.AreEqual(updatedOrder.Order_Details.Length, 3);

            OrdersHelper.PrintFullOrderInfo(updatedOrder);
        }
Ejemplo n.º 2
0
        public void GetOrderExTest()
        {
            var service = new OrderServiceClient(new InstanceContext(this));

            int orderId       = service.GetOrders().First().OrderID;
            var fullOrderData = service.GetOrderEx(orderId);

            Assert.NotNull(fullOrderData);

            OrdersHelper.PrintFullOrderInfo(fullOrderData);
        }
Ejemplo n.º 3
0
        public void ProcessOrderTest()
        {
            var   order = new OrdersHelper().AddOrder();
            Order processedOrder;

            using (var service = ChannelFactoryHelper.GetOrdersFactory(new InstanceContext(this), UserRole.Manager).CreateChannel())
            {
                var currentDateTime = DateTime.Now;
                processedOrder = service.SendOrderToProcess(order.OrderID, currentDateTime);
                Assert.True(currentDateTime.ToString() == processedOrder.OrderDate.ToString());
            }

            OrdersHelper.PrintFullOrderInfo(order);
            OrdersHelper.PrintFullOrderInfo(processedOrder);
        }
Ejemplo n.º 4
0
        public void ProcessOrderTest()
        {
            using (var service = new OrderServiceClient(new InstanceContext(this)))
            {
                service.Subscribe();
                var order = new OrdersHelper().AddOrder();

                var currentDateTime = DateTime.Now;
                var processedOrder  = service.SendOrderToProcess(order.OrderID, currentDateTime);
                Assert.True(currentDateTime.ToString() == processedOrder.OrderDate.ToString());
                service.UnSubscribe();

                OrdersHelper.PrintFullOrderInfo(order);
                OrdersHelper.PrintFullOrderInfo(processedOrder);
            }
        }
Ejemplo n.º 5
0
        public void AddOrderTest()
        {
            var ord = new OrdersHelper().AddOrder();

            Console.WriteLine(ord.OrderID);
            Assert.AreEqual(ord.Customer.CompanyName, "Test");
            Assert.AreEqual(ord.Customer.ContactName, "Contact");

            Assert.AreEqual(ord.Employee.LastName, "EmpLastName");
            Assert.AreEqual(ord.Employee.FirstName, "FirstName");

            Assert.AreEqual(ord.Shipper.CompanyName, "Test Shipper");
            Assert.AreEqual(ord.Shipper.Phone, "123-456");

            Assert.AreEqual(ord.Order_Details.Length, 2);
            Assert.AreEqual(ord.Order_Details[0].UnitPrice, 10);
            Assert.AreEqual(ord.Order_Details[1].UnitPrice, 100);

            OrdersHelper.PrintFullOrderInfo(ord);
        }
Ejemplo n.º 6
0
        public void ShipOrderTest()
        {
            var service = new OrderServiceClient(new InstanceContext(this));

            service.Subscribe();

            var order = new OrdersHelper().AddOrder();

            order = service.SendOrderToProcess(order.OrderID, DateTime.Now);

            var currentDateTime = DateTime.Today.AddDays(7);
            var shippedOrder    = service.SendOrderToCustomer(order.OrderID, currentDateTime);

            Assert.NotNull(shippedOrder.ShippedDate);
            Assert.AreEqual(currentDateTime, shippedOrder.ShippedDate);

            OrdersHelper.PrintFullOrderInfo(order);
            OrdersHelper.PrintFullOrderInfo(shippedOrder);

            service.UnSubscribe();
        }
Ejemplo n.º 7
0
        public void UpdateOrderTest()
        {
            var order = new OrdersHelper().AddOrder();

            OrdersHelper.PrintFullOrderInfo(order);

            IList <Product> products;

            using (var productService = ChannelFactoryHelper.ProductsFactory.CreateChannel())
            {
                products = productService.GetAllProducts();
            }

            order.ShipAddress   = "New Ship Address";
            order.Order_Details = new[]
            {
                new Order_Detail {
                    Discount = 0, ProductID = products[products.Count - 1 >= 0 ? products.Count - 1 : 0].ProductID, Quantity = 100, UnitPrice = 3
                },
                new Order_Detail {
                    Discount = 0, ProductID = products[products.Count - 2 >= 0 ? products.Count - 2 : 0].ProductID, Quantity = 200, UnitPrice = 2
                },
                new Order_Detail {
                    Discount = 0, ProductID = products[products.Count - 3 >= 0 ? products.Count - 3 : 0].ProductID, Quantity = 300, UnitPrice = 1
                }
            };

            Order updatedOrder;

            using (var service = ChannelFactoryHelper.GetOrdersFactory(new InstanceContext(this), UserRole.Operator).CreateChannel())
            {
                updatedOrder = service.UpdateOrder(order);
            }

            Assert.AreEqual(updatedOrder.ShipAddress, "New Ship Address");
            Assert.AreEqual(updatedOrder.Order_Details.Count, 3);

            OrdersHelper.PrintFullOrderInfo(updatedOrder);
        }
Ejemplo n.º 8
0
        public void EndpointTests()
        {
            //MetadataExchangeClient metaClient = new MetadataExchangeClient(new Uri("http://localhost:802/service/Orders.svc?wsdl"), MetadataExchangeClientMode.HttpGet);
            MetadataExchangeClient metaClient  = new MetadataExchangeClient(new Uri("http://localhost:802/service/Orders.svc/mex"), MetadataExchangeClientMode.MetadataExchange);
            MetadataSet            metadataSet = metaClient.GetMetadata();

            WsdlImporter importer  = new WsdlImporter(metadataSet);
            var          endpoints = importer.ImportAllEndpoints();

            foreach (var endpoint in endpoints)
            {
                var binding = endpoint.Binding;
                ConfigureBinding(ref binding);

                var factory = new DuplexChannelFactory <IOrderService>(new InstanceContext(this), endpoint.Binding, endpoint.Address);
                var service = factory.CreateChannel(endpoint.Address);

                var orderId = service?.GetOrders().First().OrderID;
                var order   = service?.GetOrderEx(orderId.GetValueOrDefault());
                Assert.NotNull(order);
                OrdersHelper.PrintFullOrderInfo(order);
            }
        }
Ejemplo n.º 9
0
        public void EndpointTests()
        {
            MetadataExchangeClient metaClient  = new MetadataExchangeClient(WindowsServiceHttpsOrdersAddress, MetadataExchangeClientMode.MetadataExchange);
            MetadataSet            metadataSet = metaClient.GetMetadata();

            WsdlImporter importer  = new WsdlImporter(metadataSet);
            var          endpoints = importer.ImportAllEndpoints();

            foreach (var endpoint in endpoints)
            {
                var binding = endpoint.Binding;
                ConfigureBinding(ref binding);

                var factory = new DuplexChannelFactory <IOrderService>(new InstanceContext(this), endpoint.Binding, endpoint.Address);
                factory.Credentials.UserName.UserName = "******";
                factory.Credentials.UserName.Password = String.Empty;
                var service = factory.CreateChannel(endpoint.Address);

                var orderId = service.GetOrders().First().OrderID;

                OrdersHelper.PrintFullOrderInfo(service.GetOrderEx(orderId));
            }
        }
Ejemplo n.º 10
0
        public void GetOrderEx()
        {
            Order fullOrderData = null;
            var   service       = ChannelFactoryHelper.GetOrdersFactory(new InstanceContext(this), UserRole.None).CreateChannel();

            try
            {
                var orderId = service.GetOrders().First().OrderID;
                fullOrderData = service.GetOrderEx(orderId);
            }
            catch
            {
                if (service.State == CommunicationState.Faulted)
                {
                    service.Abort();
                }
            }

            service.Close();

            Assert.NotNull(fullOrderData);
            OrdersHelper.PrintFullOrderInfo(fullOrderData);
        }
Ejemplo n.º 11
0
        public void ShipOrderTest()
        {
            Order    order;
            DateTime currentDateTime;
            Order    shippedOrder;

            using (var service = ChannelFactoryHelper.GetOrdersFactory(new InstanceContext(this), UserRole.Manager).CreateChannel())
            {
                order = new OrdersHelper().AddOrder();

                service.Subscribe();
                order = service.SendOrderToProcess(order.OrderID, DateTime.Now);
                service.UnSubscribe();

                currentDateTime = DateTime.Today.AddDays(7);
                shippedOrder    = service.SendOrderToCustomer(order.OrderID, currentDateTime);
            }
            Assert.NotNull(shippedOrder.ShippedDate);
            Assert.AreEqual(currentDateTime, shippedOrder.ShippedDate);

            OrdersHelper.PrintFullOrderInfo(order);
            OrdersHelper.PrintFullOrderInfo(shippedOrder);
        }