public PluggableProtocolManager( ITraceSourceFactory traceSourceFactory, MultiInstance.IInstancesCounter instancesCounter, IShutdown shutdown, Telemetry.ITelemetryCollector telemetryCollector, Persistence.IFirstStartDetector firstStartDetector, ILaunchUrlParser launchUrlParser ) { this.tracer = traceSourceFactory.CreateTraceSource("PluggableProtocol"); this.launchUrlParser = launchUrlParser; if (instancesCounter.IsPrimaryInstance) { this.regUpdater = RegistryUpdater(shutdown.ShutdownToken, telemetryCollector, firstStartDetector.IsFirstStartDetected); } shutdown.Cleanup += (s, e) => { if (regUpdater != null) { shutdown.AddCleanupTask(regUpdater.WithTimeout(TimeSpan.FromSeconds(1))); } }; }
public void Setup() { workspacesManager = Substitute.For <IWorkspacesManager>(); appLaunch = Substitute.For <ILaunchUrlParser>(); preprocessingStepsFactory = Substitute.For <IStepsFactory>(); extensions = Substitute.For <IExtensionsRegistry>(); preprocessingStepsFactory.CreateURLTypeDetectionStep(null).ReturnsForAnyArgs( callInfo => new URLTypeDetectionStep( callInfo.Arg <PreprocessingStepParams>(), preprocessingStepsFactory, workspacesManager, appLaunch, extensions)); callback = Substitute.For <IPreprocessingStepCallback>(); }