/// <summary> /// Unit testable ctor - allows dependency injection for testing /// </summary> /// <param name="releaseChannelProvider">Provides the client's current release channel</param> /// <param name="installedVersionProvider">Method that provides the installed version string</param> /// <param name="channelInfoProvider">Method that provides a (potentially invalid) ChannelInfo</param> internal AutoUpdate(Func <ReleaseChannel> releaseChannelProvider, Func <string> installedVersionProvider, IChannelInfoProvider channelInfoProvider) { _strongReleaseChannel = releaseChannelProvider(); _installedVersionProvider = installedVersionProvider; _channelInfoProvider = channelInfoProvider; ReleaseChannel = _strongReleaseChannel.ToString(); _initTask = Task.Run(() => InitializeWithTimer()); }
public static TelemetryEvent ForReleaseChannelChangeConsidered(ReleaseChannel oldChannel, ReleaseChannel newChannel) { return(new TelemetryEvent(TelemetryAction.ReleaseChannel_ChangeConsidered, new Dictionary <TelemetryProperty, string> { { TelemetryProperty.ReleaseChannel, oldChannel.ToString() }, { TelemetryProperty.ReleaseChannelConsidered, newChannel.ToString() }, })); }
public void ReleaseChannel_DefaultsToExpectedValue() { IAutoUpdate update = BuildAutoUpdate(); Assert.AreEqual(DefaultReleaseChannel.ToString(), update.ReleaseChannel); }