public void GivenOwnDefaultTimeoutValue_WhenGetTimeoutIsCalled_ThenOverridenDefaultTimeoutIsReturned()
        {
            var newDefaultTimeoutInMs = 10 * 60 * 1000;
            var operationsTimeouts    = new ShipStationTimeouts(newDefaultTimeoutInMs);

            operationsTimeouts[ShipStationOperationEnum.CreateUpdateOrder].Should().Be(newDefaultTimeoutInMs);
        }
        public void GivenListOrdersTimeoutIsSetTwice_WhenGetTimeoutIsCalled_ThenSpecificTimeoutIsReturned()
        {
            var operationsTimeouts  = new ShipStationTimeouts();
            var specificTimeoutInMs = 10 * 60 * 1000;

            operationsTimeouts.Set(ShipStationOperationEnum.ListOrders, new ShipStationOperationTimeout(specificTimeoutInMs));
            operationsTimeouts.Set(ShipStationOperationEnum.ListOrders, new ShipStationOperationTimeout(specificTimeoutInMs * 2));

            operationsTimeouts[ShipStationOperationEnum.ListOrders].Should().Be(specificTimeoutInMs * 2);
        }
Beispiel #3
0
        public void GivenTooSmallTimeout_WhenGetOrdersAsyncIsCalled_ThenExceptionIsReturned()
        {
            var timeouts    = new ShipStationTimeouts();
            var tinyTimeout = new ShipStationOperationTimeout(10);

            timeouts.Set(ShipStationOperationEnum.ListOrders, tinyTimeout);
            timeouts.Set(ShipStationOperationEnum.GetOrderShipments, tinyTimeout);
            timeouts.Set(ShipStationOperationEnum.GetOrderFulfillments, tinyTimeout);

            var service = this.ShipStationFactory.CreateServiceV2(this._credentials, timeouts);

            var ex = Assert.Throws <TaskCanceledException>(async() => {
                var orders = await service.GetOrdersAsync(DateTime.UtcNow.AddDays(-3), DateTime.UtcNow, CancellationToken.None);
            });

            ex.Should().NotBeNull();
        }
        public void GivenSpecificTimeoutsAreNotSet_WhenGetTimeoutIsCalled_ThenDefaultTimeoutIsReturned()
        {
            var operationsTimeouts = new ShipStationTimeouts();

            operationsTimeouts[ShipStationOperationEnum.ListOrders].Should().Be(operationsTimeouts.DefaultOperationTimeout.TimeoutInMs);
        }
 public ShipStationService(ShipStationCredentials credentials, ShipStationTimeouts timeouts, IWebRequestServices webServices = null)
 {
     this._webRequestServices = webServices ?? new WebRequestServices(credentials);
     this._timeouts           = timeouts;
 }
        public IShipStationService CreateServiceV2(ShipStationCredentials credentials, ShipStationTimeouts operationsTimeouts)
        {
            Condition.Requires(credentials, "credentials").IsNotNull();

            if (string.IsNullOrWhiteSpace(credentials.PartnerKey))
            {
                credentials.PartnerKey = this._partnerKey;
            }

            return(new ShipStationService(credentials, operationsTimeouts));
        }