public void SearchTree_InternationalSources_MatchesWithOne(string packagePatterns, string term) { // Arrange var configuration = PackageSourceMappingUtility.GetpackageSourceMapping(packagePatterns); SearchTree searchTree = new SearchTree(configuration); // Act & Assert IReadOnlyList <string> configuredSources = searchTree.GetConfiguredPackageSources(term); Assert.Equal(1, configuredSources.Count); Assert.True(term.Trim().StartsWith(configuredSources[0], StringComparison.OrdinalIgnoreCase)); }
public void SearchTree_WithMultipleSources_Match(string packagePatterns, string term) { // Arrange var configuration = PackageSourceMappingUtility.GetpackageSourceMapping(packagePatterns); SearchTree searchTree = new SearchTree(configuration); // Act & Assert IReadOnlyList <string> configuredSources = searchTree.GetConfiguredPackageSources(term); Assert.Equal(1, configuredSources.Count); Assert.True(configuredSources[0].StartsWith(term.Trim().Substring(0, 5))); }
public void SearchTree_WithOneSource_Match(string packagePatterns, string term) { // Arrange var configuration = PackageSourceMappingUtility.GetpackageSourceMapping(packagePatterns); SearchTree searchTree = new SearchTree(configuration); // Act & Assert configuration.IsEnabled.Should().BeTrue(); IReadOnlyList <string> configuredSources = searchTree.GetConfiguredPackageSources(term); Assert.Equal(1, configuredSources.Count); Assert.Equal(configuration.Patterns.Keys.First().Trim(), configuredSources[0]); }
public void SearchTree_InvalidSearchInput_Throws(string packagePatterns, string term) { // Arrange var configuration = PackageSourceMappingUtility.GetpackageSourceMapping(packagePatterns); // Act & Assert configuration.IsEnabled.Should().BeTrue(); var exception = Assert.Throws <ArgumentException>( () => configuration.GetConfiguredPackageSources(term)); Assert.Equal("Argument cannot be null, empty, or whitespace only." + Environment.NewLine + "Parameter name: term", exception.Message); }
public void RestoreTelemetryService_EmitRestoreEvent_IntervalsAreCaptured(string _packageSourceMapping) { // Arrange var first = "first"; var second = "second"; var telemetrySession = new Mock <ITelemetrySession>(); TelemetryEvent lastTelemetryEvent = null; telemetrySession .Setup(x => x.PostEvent(It.IsAny <TelemetryEvent>())) .Callback <TelemetryEvent>(x => lastTelemetryEvent = x); var tracker = new IntervalTracker("Activity"); using (tracker.Start(first)) { } using (tracker.Start(second)) { } var operationId = Guid.NewGuid().ToString(); var packageSourceMapping = string.IsNullOrEmpty(_packageSourceMapping) ? null : PackageSourceMappingUtility.GetpackageSourceMapping(_packageSourceMapping); bool isPackageSourceMappingEnabled = packageSourceMapping?.IsEnabled ?? false; var restoreTelemetryData = new RestoreTelemetryEvent( operationId, projectIds: new[] { Guid.NewGuid().ToString() }, forceRestore: false, source: RestoreOperationSource.OnBuild, startTime: DateTimeOffset.Now.AddSeconds(-3), status: NuGetOperationStatus.Succeeded, packageCount: 1, noOpProjectsCount: 0, upToDateProjectsCount: 0, unknownProjectsCount: 0, projectJsonProjectsCount: 0, packageReferenceProjectsCount: 1, legacyPackageReferenceProjectsCount: 0, cpsPackageReferenceProjectsCount: 1, dotnetCliToolProjectsCount: 0, packagesConfigProjectsCount: 0, endTime: DateTimeOffset.Now, duration: 2.10, additionalTrackingData: new Dictionary <string, object>() { { nameof(RestoreTelemetryEvent.IsSolutionLoadRestore), true } }, tracker, isPackageSourceMappingEnabled: isPackageSourceMappingEnabled); var service = new NuGetVSTelemetryService(telemetrySession.Object); // Act service.EmitTelemetryEvent(restoreTelemetryData); // Assert Assert.NotNull(lastTelemetryEvent); Assert.Equal(RestoreTelemetryEvent.RestoreActionEventName, lastTelemetryEvent.Name); Assert.Equal(23, lastTelemetryEvent.Count); Assert.Equal(restoreTelemetryData.OperationSource.ToString(), lastTelemetryEvent["OperationSource"].ToString()); Assert.Equal(restoreTelemetryData.NoOpProjectsCount, (int)lastTelemetryEvent["NoOpProjectsCount"]); Assert.Equal(restoreTelemetryData[first], lastTelemetryEvent[first]); Assert.Equal(restoreTelemetryData[second], lastTelemetryEvent[second]); }
private SearchTree GetSearchTree(string packagePatterns) { return(new SearchTree(PackageSourceMappingUtility.GetpackageSourceMapping(packagePatterns))); }