示例#1
0
        public void Initialize()
        {
            Trace.WriteLine("--- Starting test initialization");

            TestSettings testSettings = new TestSettings();
            string       azureTableStorageConnectionString = testSettings[SettingsKeyAzureTableStorageConnectionString];

            _globalTimeProvider = new TestGlobalTimeProvider();

            _routingDataManagers = new List <IRoutingDataManager>()
            {
                new LocalRoutingDataManager(_globalTimeProvider)
            };

            if (!string.IsNullOrEmpty(azureTableStorageConnectionString))
            {
                AzureTableStorageRoutingDataManager azureTableStorageRoutingDataManager =
                    new AzureTableStorageRoutingDataManager(
                        azureTableStorageConnectionString, _globalTimeProvider);

                azureTableStorageRoutingDataManager.DeleteAll();

                _routingDataManagers.Add(azureTableStorageRoutingDataManager);
            }
            else if (_firstInitialization)
            {
                Console.Out.Write(SettingsInstructions);
                Trace.WriteLine($"Cannot test {nameof(AzureTableStorageRoutingDataManager)} class due to missing connectiong string");
                _firstInitialization = false;
            }

            Trace.WriteLine("--- Test initialization done");
        }
示例#2
0
        /// <summary>
        /// Creates and sets up the instances required for message routing.
        /// </summary>
        public static void InitializeMessageRouting()
        {
            Settings = new BotSettings();
            string connectionString = Settings[BotSettings.KeyRoutingDataStorageConnectionString];
            IRoutingDataManager routingDataManager = null;

            if (string.IsNullOrEmpty(connectionString))
            {
                System.Diagnostics.Debug.WriteLine($"WARNING!!! No connection string found - using {nameof(LocalRoutingDataManager)}");
                routingDataManager = new LocalRoutingDataManager();
            }
            else
            {
                System.Diagnostics.Debug.WriteLine($"Found a connection string - using {nameof(AzureTableStorageRoutingDataManager)}");
                routingDataManager = new AzureTableStorageRoutingDataManager(connectionString);
            }

            MessageRouterManager       = new MessageRouterManager(routingDataManager);
            MessageRouterResultHandler = new MessageRouterResultHandler(MessageRouterManager);
            CommandMessageHandler      = new CommandMessageHandler(MessageRouterManager, MessageRouterResultHandler);
            BackChannelMessageHandler  = new BackChannelMessageHandler(MessageRouterManager.RoutingDataManager);
        }