public static void Run(string boundedContextDirectory, IFileSystem fileSystem) { try { var srcDirectory = Path.Combine(boundedContextDirectory, "src"); var testDirectory = Path.Combine(boundedContextDirectory, "tests"); Utilities.IsBoundedContextDirectoryGuard(srcDirectory, testDirectory); var projectBaseName = Directory.GetParent(srcDirectory).Name; var producer = RunPrompt(); ProducerRegistrationBuilder.CreateProducerRegistration(boundedContextDirectory, srcDirectory, producer, projectBaseName); MassTransitModifier.AddProducerRegistation(srcDirectory, producer.EndpointRegistrationMethodName, projectBaseName); WriteHelpHeader($"{Environment.NewLine}Your producer has been successfully registered. Keep up the good work!"); var panel = new Panel(@$ "[bold yellow4](await IsFaultyPublished<{producer.MessageName}>()).Should().BeFalse(); (await IsPublished<{producer.MessageName}>()).Should().BeTrue();[/]");
public static void AddProducers(List <Producer> producers, string projectBaseName, string srcDirectory) { var validator = new ProducerValidator(); foreach (var producer in producers) { var results = validator.Validate(producer); if (!results.IsValid) { throw new DataValidationErrorException(results.Errors); } } producers.ForEach(producer => { ProducerBuilder.CreateProducerFeature(srcDirectory, producer, projectBaseName); ProducerRegistrationBuilder.CreateProducerRegistration(srcDirectory, producer, projectBaseName); MassTransitModifier.AddProducerRegistation(srcDirectory, producer.EndpointRegistrationMethodName, projectBaseName); }); }
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); }); }