Esempio n. 1
0
        public void Start()
        {
            if (_nancyHost == null)
            {
                _nancyHost = new NancyHost(new Uri(string.Concat("http://localhost:", PimIntegrationSettings.AppSettings.NancyUiPort)));
            }

            Log.ForCurrent.Info("Starting Nancy UI host");
            _nancyHost.Start();

            Log.ForCurrent.Info("Starting PIM Integration Service");

            _container = PimIntegrationSetup.BootstrapEverything(PimIntegrationSettings.AppSettings);

            _getNewProductsTimer             = new Timer(GetNewProducts, null, Timeout.Infinite, Timeout.Infinite);
            _publishStockBalanceUpdatesTimer = new Timer(PublishStockBalanceUpdates, null, Timeout.Infinite, Timeout.Infinite);
            _publishPriceUpdatesTimer        = new Timer(PublishPriceUpdates, null, Timeout.Infinite, Timeout.Infinite);

            if (!PimIntegrationSettings.AppSettings.TrialMode)
            {
                _getNewProductsTimer.Change(0, Timeout.Infinite);
                _publishStockBalanceUpdatesTimer.Change(0, Timeout.Infinite);
                _publishPriceUpdatesTimer.Change(0, Timeout.Infinite);
            }
        }
        public void Should_have_valid_ioc_configuration()
        {
            // Arrange
            // Act
            var container = PimIntegrationSetup.BootstrapEverything(_settings);

            // Assert
            container.AssertConfigurationIsValid();
        }
        public void Should_be_able_to_connect_to_visma_db()
        {
            // Arrange
            var container = PimIntegrationSetup.BootstrapEverything(_settings);

            // Act
            var query = container.GetInstance <IStockBalanceQuery>();

            // Assert
            Assert.That(query, Is.Not.Null);
        }
        public void Should_be_able_to_resolve_get_new_products_task()
        {
            // Arrange
            var container = PimIntegrationSetup.BootstrapEverything(_settings);

            // Act
            var task = container.GetInstance <IGetNewProductsTask>();

            // Assert
            Assert.That(task, Is.Not.Null);
        }
        public void Should_always_use_same_instance_of_IVismaConnection()
        {
            // Arrange
            var container = PimIntegrationSetup.BootstrapEverything(_settings);

            // Act
            var conn1 = container.GetInstance <IVismaConnection>();
            var conn2 = container.GetInstance <IVismaConnection>();

            // Assert
            Assert.That(RuntimeHelpers.GetHashCode(conn1), Is.EqualTo(RuntimeHelpers.GetHashCode(conn2)));
        }
        public void Should_be_able_to_query_for_stock_balance_updates()
        {
            // Arrange
            var container = PimIntegrationSetup.BootstrapEverything(_settings);
            var query     = container.GetInstance <IStockBalanceQuery>();

            // Act
            var result = query.GetStockBalanceUpdatesSince(DateTime.Now.AddHours(-1));

            // Assert
            Assert.That(result, Is.Not.Null);
        }