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); }
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); }