public async Task GetShipmentsWithError() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; var createOrderRequest = CreateCreateOrderRequest(); var createOrderResponse = await client.CreateOrderIncludingShipmentsAsync(createOrderRequest); Assert.AreEqual(true, createOrderResponse.Succeeded, string.Join(", ", createOrderResponse.Errors.Select(e => e.Message))); Assert.AreEqual(true, !string.IsNullOrEmpty(createOrderResponse.Order.OrderID)); Assert.AreEqual(0, createOrderResponse.Errors.Count); Assert.AreEqual(0, createOrderResponse.Warnings.Count); var getShipmentsRequest = CreateGetShipmentsRequest(createOrderResponse); // Make a shipment ID incorrect getShipmentsRequest.ShipmentIDs[1] = "Invalid"; var getShipmentsResponse = await client.GetShipmentsAsync(getShipmentsRequest); Assert.AreEqual(true, getShipmentsResponse.Succeeded, string.Join(", ", getShipmentsResponse.Errors.Select(e => e.Message))); Assert.AreEqual(1, getShipmentsResponse.Shipments.Count); Assert.AreEqual(1, getShipmentsResponse.Errors.Count); Assert.AreEqual("44013", getShipmentsResponse.Errors[0].Code); Assert.AreEqual(0, getShipmentsResponse.Warnings.Count); }
public async Task GetOrders() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; var createOrderRequest = CreateCreateOrderRequest(); var createOrderResponse = await client.CreateOrderIncludingShipmentsAsync(createOrderRequest); Assert.AreEqual(true, createOrderResponse.Succeeded, string.Join(", ", createOrderResponse.Errors.Select(e => e.Message))); Assert.AreEqual(true, !string.IsNullOrEmpty(createOrderResponse.Order.OrderID)); Assert.AreEqual(0, createOrderResponse.Errors.Count); Assert.AreEqual(0, createOrderResponse.Warnings.Count); var getOrdersRequest = CreateGetOrdersRequest(createOrderResponse); var getOrdersResponse = await client.GetOrdersAsync(getOrdersRequest); // HACK: We are creating a lot of test orders, and there's no way to filter the orders as // far as I can see, so we just have to make sure there is at least one matching order Assert.AreEqual(true, getOrdersResponse.Succeeded, string.Join(", ", getOrdersResponse.Errors.Select(e => e.Message))); Assert.IsTrue(getOrdersResponse.Orders.Any(o => o.OrderReference == "XYZ789")); Assert.AreEqual(0, getOrdersResponse.Errors.Count); Assert.AreEqual(0, getOrdersResponse.Warnings.Count); }
public async Task GetOrderSummary() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; // Delete files from previous runs string folder = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\Summary"; if (!System.IO.Directory.Exists(folder)) { System.IO.Directory.CreateDirectory(folder); } foreach (string file in System.IO.Directory.GetFiles(folder)) { System.IO.File.Delete(file); } var createOrderRequest = CreateCreateOrderRequest(); var createOrderResponse = await client.CreateOrderIncludingShipmentsAsync(createOrderRequest); Assert.AreEqual(true, createOrderResponse.Succeeded, string.Join(", ", createOrderResponse.Errors.Select(e => e.Message))); Assert.AreEqual(true, !string.IsNullOrEmpty(createOrderResponse.Order.OrderID)); Assert.AreEqual(0, createOrderResponse.Errors.Count); Assert.AreEqual(0, createOrderResponse.Warnings.Count); var getOrderSummaryRequest = new GetOrderSummaryRequest(createOrderResponse.Order.OrderID); var getOrderSummaryResponse = await client.GetOrderSummaryAsync(getOrderSummaryRequest); Assert.AreEqual(true, getOrderSummaryResponse.Succeeded, string.Join(", ", getOrderSummaryResponse.Errors.Select(e => e.Message))); Assert.IsNotNull(getOrderSummaryResponse.Stream); Assert.AreEqual(0, getOrderSummaryResponse.Errors.Count); Assert.AreEqual(0, getOrderSummaryResponse.Warnings.Count); // Download the PDF string pdfFile = folder + "\\summary.pdf"; Assert.IsFalse(System.IO.File.Exists(pdfFile)); using (var fileStream = System.IO.File.Create(pdfFile)) { getOrderSummaryResponse.Stream.Seek(0, System.IO.SeekOrigin.Begin); getOrderSummaryResponse.Stream.CopyTo(fileStream); } Assert.IsTrue(System.IO.File.Exists(pdfFile)); }
public async Task CreateOrderIncludingShipments() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; var createOrderRequest = CreateCreateOrderRequest(); var createOrderResponse = await client.CreateOrderIncludingShipmentsAsync(createOrderRequest); Assert.AreEqual(true, createOrderResponse.Succeeded, string.Join(", ", createOrderResponse.Errors.Select(e => e.Message))); Assert.AreEqual(true, !string.IsNullOrEmpty(createOrderResponse.Order.OrderID)); Assert.AreEqual(0, createOrderResponse.Errors.Count); Assert.AreEqual(0, createOrderResponse.Warnings.Count); }
public async Task CreateOrderIncludingShipmentsWithError() { string accountNumber = AppConfiguration.AusPostAccountNumber; string username = AppConfiguration.AusPostUsername; string password = AppConfiguration.AusPostPassword; var client = new ShippingClient(accountNumber, username, password); client.Testing = true; var createOrderRequest = CreateCreateOrderRequest(); // Make an item way too big createOrderRequest.Shipments[1].Items[1].Width = 20000; var createOrderResponse = await client.CreateOrderIncludingShipmentsAsync(createOrderRequest); Assert.AreEqual(false, createOrderResponse.Succeeded); Assert.AreEqual(true, string.IsNullOrEmpty(createOrderResponse.Order.OrderID)); Assert.AreEqual(1, createOrderResponse.Errors.Count); Assert.AreEqual(0, createOrderResponse.Warnings.Count); }