public void ExecuteByConfiguration(Action <ConfigManager.GatewayConfigElement> test, ConfigManager.GatewayCapabilities capability) { var failures = new List <Tuple <string, Exception> >(); foreach (var config in GetGatewayConfigurations(capability)) { try { test(config); } catch (Exception ex) { failures.Add(new Tuple <string, Exception>(config.Schema, ex)); } } if (failures.Any()) { throw new AggregateException("Test failed in " + string.Join(", ", failures.Select(t => t.Item1)), failures.Select(t => t.Item2)); } }
public static IEnumerable <ConfigManager.GatewayConfigElement> GetGatewayConfigurations(ConfigManager.GatewayCapabilities capability = ConfigManager.GatewayCapabilities.None) { return(ConfigManager.GetGatewayConfigurations().Where(g => capability == ConfigManager.GatewayCapabilities.None || !g.Exclusions.HasFlag(capability))); }