Beispiel #1
0
        public ConsumerTest <TScenario, TConsumer> Build()
        {
            TScenario context = BuildTestScenario();

            ConsumerTestBuilder <TScenario, TConsumer> builder = _builderFactory(context);

            builder.SetConsumerFactory(_consumerFactory);

            builder = _configurators.Aggregate(builder, (current, configurator) => configurator.Configure(current));

            BuildTestActions(builder);

            return(builder.Build());
        }
        public static void AddConsumers(List <Consumer> consumers, string projectBaseName, string solutionDirectory, string srcDirectory, string testDirectory, IFileSystem fileSystem)
        {
            var validator = new ConsumerValidator();

            foreach (var consumer in consumers)
            {
                var results = validator.Validate(consumer);
                if (!results.IsValid)
                {
                    throw new DataValidationErrorException(results.Errors);
                }
            }

            consumers.ForEach(consumer =>
            {
                ConsumerBuilder.CreateConsumerFeature(solutionDirectory, srcDirectory, consumer, projectBaseName);
                ConsumerRegistrationBuilder.CreateConsumerRegistration(srcDirectory, consumer, projectBaseName);
                MassTransitModifier.AddConsumerRegistation(srcDirectory, consumer.EndpointRegistrationMethodName, projectBaseName);

                IntegrationTestFixtureModifier.AddMTConsumer(testDirectory, consumer.ConsumerName, consumer.DomainDirectory, projectBaseName, srcDirectory);
                ConsumerTestBuilder.CreateTests(solutionDirectory, testDirectory, srcDirectory, consumer, projectBaseName, fileSystem);
            });
        }