예제 #1
0
        static IEnumerable <RunDescriptor> GetAllAvailable()
        {
            var foundDefinitions = TypeScanner.GetAllTypesAssignableTo <PersistenceDefinition>();


            foreach (var definition in foundDefinitions)
            {
                var key = definition.Name;

                var runDescriptor = new RunDescriptor
                {
                    Key      = key,
                    Settings =
                        new Dictionary <string, string>
                    {
                        { "Persistence", definition.AssemblyQualifiedName }
                    }
                };

                yield return(runDescriptor);
            }
        }
예제 #2
0
        static IEnumerable <RunDescriptor> GetAllAvailable()
        {
            var foundTransportDefinitions = TypeScanner.GetAllTypesAssignableTo <TransportDefinition>();


            foreach (var transportDefinitionType in foundTransportDefinitions)
            {
                var key = transportDefinitionType.Name;

                var runDescriptor = new RunDescriptor
                {
                    Key      = key,
                    Settings =
                        new Dictionary <string, string>
                    {
                        { "Transport", transportDefinitionType.AssemblyQualifiedName }
                    }
                };

                var connectionString = Environment.GetEnvironmentVariable(key + ".ConnectionString");

                if (string.IsNullOrEmpty(connectionString) && DefaultConnectionStrings.ContainsKey(key))
                {
                    connectionString = DefaultConnectionStrings[key];
                }


                if (!string.IsNullOrEmpty(connectionString))
                {
                    runDescriptor.Settings.Add("Transport.ConnectionString", connectionString);
                    yield return(runDescriptor);
                }
                else
                {
                    Console.Out.WriteLine("No connection string found for transport: {0}, test will not be executed for this transport", key);
                }
            }
        }