static async Task ConfigureTestExecution(TestDependencyType type, EndpointConfiguration config, RunSettings settings, string endpointName, PublisherMetadata publisherMetadata)
        {
            var dependencyTypeString = type.ToString();

            var dependencyType = settings.Get <Type>(dependencyTypeString);

            var typeName = "ConfigureEndpoint" + dependencyType.Name;

            var configurerType = Type.GetType(typeName, false);

            if (configurerType == null)
            {
                throw new InvalidOperationException($"Acceptance Test project must include a non-namespaced class named '{typeName}' implementing {typeof(IConfigureEndpointTestExecution).Name}. See {typeof(ConfigureEndpointMsmqTransport).FullName} for an example.");
            }

            var configurer = Activator.CreateInstance(configurerType) as IConfigureEndpointTestExecution;

            if (configurer == null)
            {
                throw new InvalidOperationException($"{typeName} does not implement {typeof(IConfigureEndpointTestExecution).Name}.");
            }

            await configurer.Configure(endpointName, config, settings, publisherMetadata).ConfigureAwait(false);

            ActiveTestExecutionConfigurer cleaners;
            var cleanerKey = "ConfigureTestExecution." + endpointName;

            if (!settings.TryGet(cleanerKey, out cleaners))
            {
                cleaners = new ActiveTestExecutionConfigurer();
                settings.Set(cleanerKey, cleaners);
            }
            cleaners.Add(configurer);
        }
Exemplo n.º 2
0
        static async Task ConfigureTestExecution(TestDependencyType type, EndpointConfiguration config, RunSettings settings, string endpointName, PublisherMetadata publisherMetadata)
        {
            var dependencyTypeString = type.ToString();

            var dependencyType = settings.Get<Type>(dependencyTypeString);

            var typeName = "ConfigureEndpoint" + dependencyType.Name;

            var configurerType = Type.GetType(typeName, false);

            if (configurerType == null)
            {
                throw new InvalidOperationException($"Acceptance Test project must include a non-namespaced class named '{typeName}' implementing {typeof(IConfigureEndpointTestExecution).Name}. See {typeof(ConfigureEndpointMsmqTransport).FullName} for an example.");
            }

            var configurer = Activator.CreateInstance(configurerType) as IConfigureEndpointTestExecution;

            if (configurer == null)
            {
                throw new InvalidOperationException($"{typeName} does not implement {typeof(IConfigureEndpointTestExecution).Name}.");
            }

            await configurer.Configure(endpointName, config, settings, publisherMetadata).ConfigureAwait(false);

            ActiveTestExecutionConfigurer cleaners;
            var cleanerKey = "ConfigureTestExecution." + endpointName;
            if (!settings.TryGet(cleanerKey, out cleaners))
            {
                cleaners = new ActiveTestExecutionConfigurer();
                settings.Set(cleanerKey, cleaners);
            }
            cleaners.Add(configurer);
        }
        public static void DefineBuilder(this EndpointConfiguration config, RunSettings settings)
        {
            Type builderType;

            if (!settings.TryGet("Builder", out builderType))
            {
                var builderDescriptor = Builders.Default;

                if (builderDescriptor == null)
                {
                    return; //go with the default builder
                }

                settings.Merge(builderDescriptor.Settings);
            }

            builderType = settings.Get <Type>("Builder");

            var typeName = "Configure" + builderType.Name;

            var configurerType = Type.GetType(typeName, false);

            if (configurerType != null)
            {
                var configurer = Activator.CreateInstance(configurerType);

                dynamic dc = configurer;

                dc.Configure(config);
            }

            config.UseContainer(builderType);
        }
Exemplo n.º 4
0
        public static void DefineBuilder(this EndpointConfiguration config, RunSettings settings)
        {
            Type builderType;
            if (!settings.TryGet("Builder", out builderType))
            {
                var builderDescriptor = Builders.Default;

                if (builderDescriptor == null)
                {
                    return; //go with the default builder
                }

                settings.Merge(builderDescriptor.Settings);
            }

            builderType = settings.Get<Type>("Builder");

            var typeName = "Configure" + builderType.Name;

            var configurerType = Type.GetType(typeName, false);

            if (configurerType != null)
            {
                var configurer = Activator.CreateInstance(configurerType);

                dynamic dc = configurer;

                dc.Configure(config);
            }

            config.UseContainer(builderType);
        }
    public Task Configure(string endpointName, EndpointConfiguration configuration, RunSettings settings)
    {
        connectionString = settings.Get <string>("Transport.ConnectionString");
        configuration.UseTransport <RabbitMQTransport>().ConnectionString(connectionString);

        return(TaskEx.CompletedTask);
    }
Exemplo n.º 6
0
    public Task Configure(string endpointName, EndpointConfiguration configuration, RunSettings settings)
    {
        queueBindings = configuration.GetSettings().Get <QueueBindings>();
        var connectionString = settings.Get <string>("Transport.ConnectionString");

        configuration.UseTransport <MsmqTransport>().ConnectionString(connectionString);
        return(Task.FromResult(0));
    }
Exemplo n.º 7
0
    public Task Configure(string endpointName, EndpointConfiguration configuration, RunSettings settings)
    {
        queueBindings = configuration.GetSettings().Get <QueueBindings>();
        var connectionString = settings.Get <string>("Transport.ConnectionString");

        configuration.UseTransport <EventStoreTransport>().ConnectionString(connectionString).DisableExchangeCaching();
        configuration.UseSerialization <JsonSerializer>().Encoding(new UTF8Encoding(false));
        return(Task.FromResult(0));
    }
    public Task Configure(string endpointName, EndpointConfiguration configuration, RunSettings settings, PublisherMetadata publisherMetadata)
    {
        queueBindings = configuration.GetSettings().Get <QueueBindings>();
        var connectionString = settings.Get <string>("Transport.ConnectionString");
        var transportConfig  = configuration.UseTransport <MsmqTransport>();

        transportConfig.ConnectionString(connectionString);

        var routingConfig = transportConfig.Routing();

        foreach (var publisher in publisherMetadata.Publishers)
        {
            foreach (var eventType in publisher.Events)
            {
                routingConfig.RegisterPublisher(eventType, publisher.PublisherName);
            }
        }

        return(Task.FromResult(0));
    }