public void Build_AddsSimulatorToSimulation() { ISimulation simulation = Substitute.For <ISimulation, IAddSimulator>(); var apiBuilder = new ApiBuilder(simulation); ((IAddSimulator)simulation).Add(Arg.Any <ApiSimulator>()) .Returns(info => info.ArgAt <ApiSimulator>(0)); var apiSimulator = (ApiSimulator)apiBuilder.Build(); ((IAddSimulator)simulation).Received(1).Add(apiSimulator); }
public void Start() { LoggerConfig.Init(); Logger = LogManager.GetCurrentClassLogger(); Logger.Info("Starting request obfuscator..."); FiddlerApplication.Shutdown(); InstallCertificate(); var type = typeof(IApiClient); var apiClients = AppDomain.CurrentDomain .GetAssemblies() .SelectMany(s => s.GetTypes()) .Where(p => type.IsAssignableFrom(p) && !p.IsAbstract); foreach (var api in apiClients) { var apiClient = Activator.CreateInstance(api) as IApiClient; var apiBuilder = new ApiBuilder(); apiClient.Configure(apiBuilder); foreach (var handler in apiBuilder.Build()) { Instance += session => handler(session); } } const FiddlerCoreStartupFlags flags = FiddlerCoreStartupFlags.AllowRemoteClients | FiddlerCoreStartupFlags.CaptureLocalhostTraffic | FiddlerCoreStartupFlags.DecryptSSL | FiddlerCoreStartupFlags.MonitorAllConnections; const short proxyPort = 8888; FiddlerApplication.Startup(proxyPort, flags); Logger.Info("Started."); }