public PackageManagerUIRefreshEvent( Guid parentId, bool isSolutionLevel, RefreshOperationSource refreshSource, RefreshOperationStatus refreshStatus, string tab, TimeSpan timeSinceLastRefresh) : base(EventName) { base["ParentId"] = parentId.ToString(); base["IsSolutionLevel"] = isSolutionLevel; base["RefreshSource"] = refreshSource; base["RefreshStatus"] = refreshStatus; base["Tab"] = tab; base["TimeSinceLastRefresh"] = timeSinceLastRefresh.TotalMilliseconds; }
public PackageManagerUIRefreshEvent( Guid parentId, bool isSolutionLevel, RefreshOperationSource refreshSource, RefreshOperationStatus refreshStatus, string tab, bool isUIFiltering, TimeSpan timeSinceLastRefresh, double?duration) : base(EventName) { base["ParentId"] = parentId.ToString(); base["IsSolutionLevel"] = isSolutionLevel; base["RefreshSource"] = refreshSource; base["RefreshStatus"] = refreshStatus; base["Tab"] = tab; base["IsUIFiltering"] = isUIFiltering; base["TimeSinceLastRefresh"] = timeSinceLastRefresh.TotalMilliseconds; if (duration.HasValue) { base["Duration"] = duration; } }
public void NuGetTelemetryService_EmitsPMUIRefreshEvent(RefreshOperationSource expectedRefreshSource, RefreshOperationStatus expectedRefreshStatus) { // Arrange var telemetrySession = new Mock <ITelemetrySession>(); TelemetryEvent lastTelemetryEvent = null; telemetrySession .Setup(x => x.PostEvent(It.IsAny <TelemetryEvent>())) .Callback <TelemetryEvent>(x => lastTelemetryEvent = x); var expectedGuid = Guid.NewGuid(); var expectedIsSolutionLevel = true; var expectedTab = "All"; var expectedTimeSinceLastRefresh = TimeSpan.FromSeconds(1); var refreshEvent = new PackageManagerUIRefreshEvent(expectedGuid, expectedIsSolutionLevel, expectedRefreshSource, expectedRefreshStatus, expectedTab, expectedTimeSinceLastRefresh); var target = new NuGetVSTelemetryService(telemetrySession.Object); // Act target.EmitTelemetryEvent(refreshEvent); // Assert telemetrySession.Verify(x => x.PostEvent(It.IsAny <TelemetryEvent>()), Times.Once); Assert.NotNull(lastTelemetryEvent); Assert.Equal("PMUIRefresh", lastTelemetryEvent.Name); Assert.Equal(6, lastTelemetryEvent.Count); var parentIdGuid = lastTelemetryEvent["ParentId"]; Assert.NotNull(parentIdGuid); Assert.IsType <string>(parentIdGuid); Assert.Equal(expectedGuid.ToString(), parentIdGuid); var solutionLevel = lastTelemetryEvent["IsSolutionLevel"]; Assert.NotNull(solutionLevel); Assert.IsType <bool>(solutionLevel); Assert.Equal(expectedIsSolutionLevel, solutionLevel); var refreshSource = lastTelemetryEvent["RefreshSource"]; Assert.NotNull(refreshSource); Assert.IsType <RefreshOperationSource>(refreshSource); Assert.Equal(expectedRefreshSource, refreshSource); var refreshStatus = lastTelemetryEvent["RefreshStatus"]; Assert.NotNull(refreshStatus); Assert.IsType <RefreshOperationStatus>(refreshStatus); Assert.Equal(expectedRefreshStatus, refreshStatus); var tab = lastTelemetryEvent["Tab"]; Assert.NotNull(tab); Assert.IsType <string>(tab); Assert.Equal(expectedTab, tab); var timeSinceLastRefresh = lastTelemetryEvent["TimeSinceLastRefresh"]; Assert.NotNull(timeSinceLastRefresh); Assert.IsType <double>(timeSinceLastRefresh); Assert.Equal(expectedTimeSinceLastRefresh.TotalMilliseconds, timeSinceLastRefresh); }