public void TheEnabledStateOfWindows8FeedIsRestoredWhenRunningOnWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new PackageSource[] { new PackageSource("source", "name"), new PackageSource("theFirstSource", "theFirstFeed", isEnabled: true) }); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); packageSourceProvider.Setup(p => p.IsPackageSourceEnabled( It.Is <PackageSource>(ps => ps.Name.Equals("Windows 8 packages", StringComparison.OrdinalIgnoreCase)))) .Returns(false); // Act var packageSources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(3, packageSources.Count); AssertPackageSource(packageSources[0], "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); Assert.False(packageSources[0].IsEnabled); }
public void DefaultSourceAddedButDisabled() { // Arrange var userSettings = new Mock <ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue("Test1", "https://test1", true), new SettingValue("Test2", "https://test2", false) }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock <IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(4, sources.Count); Assert.Equal("https://test2", sources[0].Source); Assert.Equal(NuGetOfficialFeedUrl, sources[2].Source); Assert.False(sources[2].IsEnabled); Assert.Equal("https://test1", sources[3].Source); }
public void GetActivePackageSourceWillPreserveWindows8ExpressSourceWhenRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(MockBehavior.Strict); userSettings.Setup(_ => _.GetValues("packageSources")).Returns(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("NuGet official package source", "https://nuget.org/api/v2/") }); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl) }); var packageSourceProvider = new Mock <IPackageSourceProvider>(); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var source = provider.ActivePackageSource; // Assert AssertPackageSource(source, "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); }
public void AddSourceSetsPersistsSourcesToSettingsManager() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var registrySettingsManager = new MockPackageSourceSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act for (int i = 0; i < 10; i++) { provider.AddPackageSource(new PackageSource("source" + i, "name" + i)); } // Assert var values = userSettingsManager.GetValues(VsPackageSourceProvider.FileSettingsSectionName); // 11 = 10 package sources that we added + NuGet offical source Assert.AreEqual(11, values.Count); Assert.AreEqual(Resources.VsResources.OfficialSourceName, values[0].Key); for (int i = 0; i < 10; i++) { AssertPackageSource(values[i + 1], "name" + i, "source" + i); } Assert.IsNull(registrySettingsManager.ActivePackageSourceString); Assert.IsNull(registrySettingsManager.PackageSourcesString); }
public void CtorMigrateV1FeedToV2FeedAndPreserveIsEnabledProperty() { // Arrange var userSettingsManager = new MockUserSettingsManager(); userSettingsManager.SetValue( PackageSourceProvider.PackageSourcesSectionName, "NuGet official package source", "https://go.microsoft.com/fwlink/?LinkID=206669"); // disable the official source userSettingsManager.SetValue( PackageSourceProvider.DisabledPackageSourcesSectionName, "NuGet official package source", "true"); var provider = new VsPackageSourceProvider(userSettingsManager); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal("https://go.microsoft.com/fwlink/?LinkID=230477", sources[0].Source); Assert.False(sources[0].IsEnabled); }
public void SetActivePackageSourceAcceptsValueForWindows8FeedWhenRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(MockBehavior.Strict); var packageSourceProvider = new Mock <IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new[] { new PackageSource("theFirstSource", "theFirstFeed"), new PackageSource(NuGetOfficialFeedUrl, NuGetOfficialFeedName), new PackageSource("theThirdSource", "theThirdFeed"), }); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new[] { new KeyValuePair <string, string>("theFirstFeed", "theFirstSource") }); userSettings.Setup(_ => _.DeleteSection("activePackageSource")).Returns(true); userSettings.Setup(_ => _.SetValue("activePackageSource", "Windows 8 packages", NuGetConstants.VSExpressForWindows8FeedUrl)).Verifiable(); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act provider.ActivePackageSource = new PackageSource(NuGetConstants.VSExpressForWindows8FeedUrl, "Windows 8 packages"); // Assert userSettings.Verify(); }
public void SavePackageSourcesWillSaveTheWindows8ExpressFeedWhenNotRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(false); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); IList <PackageSource> savedSources = null; packageSourceProvider.Setup(_ => _.SavePackageSources(It.IsAny <IEnumerable <PackageSource> >())) .Callback((IEnumerable <PackageSource> _) => savedSources = _.ToList()) .Verifiable(); // Act provider.SavePackageSources(new[] { new PackageSource("theFirstSource", "theFirstFeed"), new PackageSource(NuGetOfficialFeedUrl + "curated-feeds/windows8-packages/", "Windows 8 Packages") { IsOfficial = true }, new PackageSource("theThirdSource", "theThirdFeed"), }); // Assert Assert.NotNull(savedSources); Assert.Equal(3, savedSources.Count); AssertPackageSource(savedSources[0], "theFirstFeed", "theFirstSource"); AssertPackageSource(savedSources[1], "Windows 8 Packages", NuGetOfficialFeedUrl + "curated-feeds/windows8-packages/"); AssertPackageSource(savedSources[2], "theThirdFeed", "theThirdSource"); }
public void TheDisabledStateOfWindows8FeedIsPersistedWhenRunningOnWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); packageSourceProvider.Setup(p => p.DisablePackageSource(It.IsAny <PackageSource>())).Callback <PackageSource>( ps => AssertPackageSource(ps, "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl)); // Act var packageSources = new PackageSource[] { new PackageSource(NuGetConstants.VSExpressForWindows8FeedUrl, "Windows 8 packages", isEnabled: false, isOfficial: true), new PackageSource("theFirstSource", "theFirstFeed", isEnabled: true) }; provider.SavePackageSources(packageSources); // Assert packageSourceProvider.Verify(p => p.DisablePackageSource(It.IsAny <PackageSource>()), Times.Once()); }
public void LoadPackageSourcesWillAddTheWindows8SourceAtTheFrontWhenRunningWindows8Express() { // Arrange var mockFileSystem = new MockFileSystem(); mockFileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <packageSources> <add key=""a"" value=""http://a"" /> </packageSources> </configuration>"); var settings = Settings.LoadDefaultSettings( mockFileSystem, configFileName: null, machineWideSettings: null); var packageSourceProvider = new PackageSourceProvider(settings); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(settings, packageSourceProvider, vsShellInfo.Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); AssertPackageSource(sources[0], "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); AssertPackageSource(sources[1], "a", "http://a"); }
public void GetActivePackageSourceWillPreserveWindows8ExpressSourceWhenRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(); userSettings.Setup(_ => _.GetSettingValues("packageSources", true)).Returns(new[] { new SettingValue(NuGetOfficialFeedName, NuGetOfficialFeedUrl, false) }); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl) }); var packageSourceProvider = new Mock <IPackageSourceProvider>(); packageSourceProvider.Setup(p => p.IsPackageSourceEnabled( It.Is <PackageSource>(s => s.Name == "Windows 8 Packages"))).Returns(true); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var source = provider.ActivePackageSource; // Assert AssertPackageSource(source, "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); }
public void DefaultSourceAddedButDisabled() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue("Test1", "https://test1", true), new SettingValue("Test2", "https://test2", false) }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(3, sources.Count); Assert.Equal("https://test2", sources[0].Source); Assert.Equal("https://nuget.org/api/v2/", sources[1].Source); Assert.False(sources[1].IsEnabled); Assert.Equal("https://test1", sources[2].Source); }
public void ActivePackageSourceShouldBeEnabled() { // Arrange var userSettings = new Mock <ISettings>(MockBehavior.Strict); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("s1", "http://s1"), new KeyValuePair <string, string>("s2", "http://s2") }); var packageSourceProvider = new Mock <IPackageSourceProvider>(); packageSourceProvider.Setup(p => p.LoadPackageSources()).Returns( new[] { new PackageSource("http://s1", "s1", isEnabled: false), new PackageSource("http://s2", "s2", isEnabled: true) }); var vsShellInfo = new Mock <IVsShellInfo>(); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var source = provider.ActivePackageSource; // Assert AssertPackageSource(source, "s2", "http://s2"); }
public void GetSources_WhenUnknownExceptionIsThrown_ThrowsKnownException() { // Arrange var sourceRepositoryProvider = new Mock <ISourceRepositoryProvider>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); var telemetryProvider = new Mock <INuGetTelemetryProvider>(); sourceRepositoryProvider.SetupGet(x => x.PackageSourceProvider) .Returns(packageSourceProvider.Object); var originalException = new NuGetConfigurationException("a"); packageSourceProvider.Setup(x => x.LoadPackageSources()) .Throws(originalException); // Act VsPackageSourceProvider vsPackageSourceProvider = CreateTarget(sourceRepositoryProvider: sourceRepositoryProvider.Object, telemetryProvider: telemetryProvider.Object); var actualException = Assert.Throws <InvalidOperationException>(() => vsPackageSourceProvider.GetSources(includeUnOfficial: true, includeDisabled: true)); // Assert telemetryProvider.Verify(p => p.PostFault(originalException, typeof(VsPackageSourceProvider).FullName, nameof(VsPackageSourceProvider.GetSources), It.IsAny <IDictionary <string, object> >())); Assert.Equal(originalException.Message, actualException.Message); Assert.Same(originalException, actualException.InnerException); }
public void GetActivePackageSourceWillPreserveWindows8ExpressSourceWhenRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(MockBehavior.Strict); userSettings.Setup(_ => _.GetValues("packageSources", true)).Returns(new[] { new SettingValue(NuGetOfficialFeedName, NuGetOfficialFeedUrl, false) }); userSettings.Setup(_ => _.GetValues("activePackageSource", false)).Returns(new[] { new SettingValue("Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl, false) }); var packageSourceProvider = new Mock <IPackageSourceProvider>(); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var source = provider.ActivePackageSource; // Assert AssertPackageSource(source, "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); }
public void LoadPackageSourcesWillNotAddTheWindows8SourceWhenNotRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new[] { new PackageSource("theFirstSource", "theFirstFeed"), new PackageSource(NuGetOfficialFeedUrl, NuGetOfficialFeedName), new PackageSource("theThirdSource", "theThirdFeed"), }); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(false); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(3, sources.Count); AssertPackageSource(sources[0], "theFirstFeed", "theFirstSource"); AssertPackageSource(sources[1], NuGetOfficialFeedName, NuGetOfficialFeedUrl); AssertPackageSource(sources[2], "theThirdFeed", "theThirdSource"); }
public void LoadPackageSourcesWillAddTheWindows8SourceAtTheFrontWhenRunningWindows8Express() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new[] { new PackageSource("theFirstSource", "theFirstFeed"), new PackageSource("https://nuget.org/api/v2/", "NuGet official package source"), new PackageSource("theThirdSource", "theThirdFeed"), }); var vsShellInfo = new Mock <IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(4, sources.Count); AssertPackageSource(sources[0], "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); AssertPackageSource(sources[1], "theFirstFeed", "theFirstSource"); AssertPackageSource(sources[2], "NuGet official package source", "https://nuget.org/api/v2/"); AssertPackageSource(sources[3], "theThirdFeed", "theThirdSource"); }
public void AddSourceThrowsIfSourceIsNull() { // Arrange var registrySettingsManager = new MockPackageSourceSettingsManager(); var userSettingsManager = new MockUserSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act ExceptionAssert.ThrowsArgNull(() => provider.AddPackageSource(null), "source"); }
public void RemoveSourceThrowsIfSourceIsNull() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var registrySettingsManager = new MockPackageSourceSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act ExceptionAssert.ThrowsArgNull(() => provider.RemovePackageSource(null), "source"); }
public void SettingActivePackageSourceToNonExistantSourceThrows() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var registrySettingsManager = new MockPackageSourceSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act ExceptionAssert.ThrowsArgumentException(() => provider.ActivePackageSource = new PackageSource("a", "a"), "value", "The package source does not belong to the collection of available sources."); }
public void SettingActivePackageSourceToNonExistantSourceThrows() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock <IVsShellInfo>().Object); // Act ExceptionAssert.ThrowsArgumentException(() => provider.ActivePackageSource = new PackageSource("a", "a"), "value", "The package source does not belong to the collection of available sources."); }
public void RemovingUnknownPackageSourceReturnsFalse() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var registrySettingsManager = new MockPackageSourceSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act bool result = provider.RemovePackageSource(new PackageSource("a", "a")); // Assert Assert.IsFalse(result); }
public void CtorIfFirstRunningAddsDefaultSource() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock <IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal("https://nuget.org/api/v2/", sources[0].Source); }
public void SettingsWithMoreThanOneAggregateSourceAreModifiedToNotHaveOne() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock <IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); Assert.Equal(NuGetOfficialFeedName, sources[1].Name); }
public void CtorIfFirstRunningAddsDefaultSource() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock <IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); Assert.Equal(NuGetOfficialFeedUrl, sources[1].Source); }
public void CtorAddsAggregrateIfNothingWasPersistedIntoSettingsManager() { // Arrange var userSettings = new Mock <ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock <IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); Assert.Equal(NuGetOfficialFeedName, sources[1].Name); }
public void CtorIfFirstRunningAddsDefaultSource() { // Arrange var userSettings = new Mock<ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal(NuGetOfficialFeedUrl, sources[0].Source); }
public void MigrateActivePackageSourceToV2() { // Arrange var settings = new Mock <ISettings>(); settings.Setup(s => s.GetValue("activePackageSource", "NuGet official package source")) .Returns("https://go.microsoft.com/fwlink/?LinkID=206669"); var provider = new VsPackageSourceProvider(settings.Object, new Mock <IVsShellInfo>().Object); // Act PackageSource activePackageSource = provider.ActivePackageSource; // Assert AssertPackageSource(activePackageSource, "NuGet official package source", "https://nuget.org/api/v2/"); }
public void AggregateSourceWithoutIsAggregateFlagSetFlagToTrue() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var registrySettingsManager = new MockPackageSourceSettingsManager(); registrySettingsManager.PackageSourcesString = "<ArrayOfPackageSource xmlns=\"http://schemas.datacontract.org/2004/07/NuGet\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><PackageSource><Name>All</Name><Source>(Aggregate source)</Source></PackageSource><PackageSource><IsAggregate>false</IsAggregate><Name>NuGet official package source</Name><Source>https://go.microsoft.com/fwlink/?LinkID=206669</Source></PackageSource></ArrayOfPackageSource>"; var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act var sources = provider.GetPackageSources().ToList(); // Assert Assert.AreEqual(2, sources.Count); Assert.IsTrue(sources[0].IsAggregate); }
public void CtorIfFirstRunningAddsDefaultSource() { // Arrange var registrySettingsManager = new MockPackageSourceSettingsManager(); var userSettingsManager = new MockUserSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act var sources = provider.GetPackageSources().ToList(); // Assert Assert.AreEqual(2, sources.Count); Assert.AreEqual(VsPackageSourceProvider.DefaultPackageSource, sources[1].Source); }
public void CtorAddsAggregrateIfNothingWasPersistedIntoSettingsManager() { // Arrange var registrySettingsManager = new MockPackageSourceSettingsManager(); var userSettingsManager = new MockUserSettingsManager(); var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Act var sources = provider.GetPackageSources().ToList(); // Assert Assert.AreEqual(2, sources.Count); Assert.AreEqual(provider.AggregateSource, sources[0]); }
public void MigrateActivePackageSourceToV2() { // Arrange var settings = new Mock <ISettings>(); settings.Setup(s => s.GetValue("activePackageSource", NuGetLegacyOfficialFeedName)) .Returns("https://go.microsoft.com/fwlink/?LinkID=206669"); var provider = new VsPackageSourceProvider(settings.Object, CreateDefaultSourceProvider(settings.Object), new Mock <IVsShellInfo>().Object); // Act PackageSource activePackageSource = provider.ActivePackageSource; // Assert AssertPackageSource(activePackageSource, NuGetOfficialFeedNameV3, NuGetOfficialFeedUrlV3); }
public void CtorIfFirstRunningAddsDefaultSource() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var packageSourceProvider = new MockPackageSourceProvider(); var provider = new VsPackageSourceProvider(userSettingsManager, packageSourceProvider); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal("https://go.microsoft.com/fwlink/?LinkID=230477", sources[0].Source); }
public void PackageSourcesNotChanged() { bool r = VsPackageSourceProvider.PackageSourcesEqual( new List <PackageSource>() { new PackageSource("a", "http://a", isEnabled: true), new PackageSource("b", "http://b", isEnabled: false) }, new List <PackageSource>() { new PackageSource("a", "http://a", isEnabled: true), new PackageSource("b", "http://b", isEnabled: false) }); Assert.True(r); }
public void CtorMigrateV2LegacyFeedToV2Feed() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetValues("packageSources")) .Returns(new[] { new KeyValuePair<string, string>("NuGet official package source", "https://go.microsoft.com/fwlink/?LinkID=230477") }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal("https://nuget.org/api/v2/", sources[0].Source); }
public void CtorMigrateV2LegacyFeedToV2Feed() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue(NuGetLegacyOfficialFeedName, "https://go.microsoft.com/fwlink/?LinkID=230477", false) }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal(NuGetOfficialFeedUrl, sources[0].Source); }
public void CtorMigrateV2LegacyFeedToV2Feed() { // Arrange var userSettings = new Mock <ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue(NuGetLegacyOfficialFeedName, "https://go.microsoft.com/fwlink/?LinkID=230477", false) }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock <IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); Assert.Equal(NuGetOfficialFeedUrl, sources[0].Source); }
public void GetSources_WhenKnownExceptionIsThrown_ThrowsThatException(Type exceptionType) { var sourceRepositoryProvider = new Mock <ISourceRepositoryProvider>(); var packageSourceProvider = new Mock <IPackageSourceProvider>(); sourceRepositoryProvider.SetupGet(x => x.PackageSourceProvider) .Returns(packageSourceProvider.Object); var expectedException = (Exception)Activator.CreateInstance(exceptionType); packageSourceProvider.Setup(x => x.LoadPackageSources()) .Throws(expectedException); var vsPackageSourceProvider = new VsPackageSourceProvider(sourceRepositoryProvider.Object); Assert.Throws(exceptionType, () => vsPackageSourceProvider.GetSources(includeUnOfficial: true, includeDisabled: true)); }
public void LoadPackageSourcesAddOfficialSourceIfMissing() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetValues("packageSources", true)) .Returns(new[] { new KeyValuePair<string, string>("my source", "http://nuget.org") }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); AssertPackageSource(sources[0], "my source", "http://nuget.org"); AssertPackageSource(sources[1], "NuGet official package source", "https://nuget.org/api/v2/"); Assert.False(sources[1].IsEnabled); Assert.True(sources[1].IsOfficial); }
public void CtorMigrateV1FeedToV2FeedAndPreserveIsEnabledProperty() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetValues("packageSources")) .Returns(new[] { new KeyValuePair<string, string>("NuGet official package source", "https://go.microsoft.com/fwlink/?LinkID=206669") }); // disable the official source userSettings.Setup(s => s.GetValues("disabledPackageSources")) .Returns(new[] { new KeyValuePair<string, string>("NuGet official package source", "true") }); var provider = new VsPackageSourceProvider(userSettings.Object, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal("https://nuget.org/api/v2/", sources[0].Source); Assert.False(sources[0].IsEnabled); }
public void ActivePackageSourceIsMigratedToUserSettings() { // Arrange var userSettingsManager = new MockUserSettingsManager(); var registrySettingsManager = new MockPackageSourceSettingsManager(); registrySettingsManager.PackageSourcesString = "<ArrayOfPackageSource xmlns=\"http://schemas.datacontract.org/2004/07/NuGet\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><PackageSource><IsAggregate>false</IsAggregate><Name>name1</Name><Source>source1</Source></PackageSource><PackageSource><IsAggregate>false</IsAggregate><Name>name2</Name><Source>source2</Source></PackageSource><PackageSource><IsAggregate>false</IsAggregate><Name>name3</Name><Source>source3</Source></PackageSource></ArrayOfPackageSource>"; registrySettingsManager.ActivePackageSourceString = "<PackageSource xmlns=\"http://schemas.datacontract.org/2004/07/NuGet\" xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"><IsAggregate>false</IsAggregate><Name>name2</Name><Source>source2</Source></PackageSource>"; // Act var provider = new VsPackageSourceProvider(registrySettingsManager, userSettingsManager); // Assert var activeValue = userSettingsManager.GetValue(VsPackageSourceProvider.FileSettingsActiveSectionName, "name2"); Assert.AreEqual("source2", activeValue); var invalidActiveValue = userSettingsManager.GetValue(VsPackageSourceProvider.FileSettingsActiveSectionName, "invalidName"); Assert.IsNull(invalidActiveValue); // also verify that the registry setting is deleted Assert.IsNull(registrySettingsManager.ActivePackageSourceString); }
public void MigrateActivePackageSourceToV2() { // Arrange var settings = new Mock<ISettings>(); settings.Setup(s => s.GetValue("activePackageSource", NuGetLegacyOfficialFeedName)) .Returns("https://go.microsoft.com/fwlink/?LinkID=206669"); var provider = new VsPackageSourceProvider(settings.Object, CreateDefaultSourceProvider(settings.Object), new Mock<IVsShellInfo>().Object); // Act PackageSource activePackageSource = provider.ActivePackageSource; // Assert AssertPackageSource(activePackageSource, NuGetOfficialFeedName, NuGetOfficialFeedUrl); }
public void TheEnabledStateOfWindows8FeedIsRestoredWhenRunningOnWindows8Express() { // Arrange var userSettings = new Mock<ISettings>(); var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new PackageSource[] { new PackageSource("source", "name"), new PackageSource("theFirstSource", "theFirstFeed", isEnabled: true) }); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); packageSourceProvider.Setup(p => p.IsPackageSourceEnabled( It.Is<PackageSource>(ps => ps.Name.Equals("Windows 8 packages", StringComparison.OrdinalIgnoreCase)))) .Returns(false); // Act var packageSources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(3, packageSources.Count); AssertPackageSource(packageSources[0], "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); Assert.False(packageSources[0].IsEnabled); }
public void SetActivePackageSourceToWindows8FeedWillThrowWhenNotRunningWindows8Express() { // Arrange var userSettings = new Mock<ISettings>(); var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new[] { new PackageSource("theFirstSource", "theFirstFeed"), new PackageSource("theOfficialSource", "NuGet official source"), new PackageSource("theThirdSource", "theThirdFeed"), }); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(false); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act & Assert ExceptionAssert.ThrowsArgumentException( () => provider.ActivePackageSource = new PackageSource(NuGetConstants.VSExpressForWindows8FeedUrl, "Windows 8 packages"), "value", "The package source does not belong to the collection of available sources."); }
public void TheDisabledStateOfWindows8FeedIsPersistedWhenRunningOnWindows8Express() { // Arrange var mockFileSystem = new MockFileSystem(); var settings = Settings.LoadDefaultSettings( mockFileSystem, configFileName: null, machineWideSettings: null); var packageSourceProvider = new PackageSourceProvider(settings); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(settings, packageSourceProvider, vsShellInfo.Object); var packageSources = provider.LoadPackageSources().ToList(); Assert.Equal(1, packageSources.Count); Assert.Equal(NuGetConstants.VSExpressForWindows8FeedUrl, packageSources[0].Source); Assert.True(packageSources[0].IsEnabled); // Act packageSources[0].IsEnabled = false; provider.SavePackageSources(packageSources); // Assert // the Win8ExpressFeed is not saved in <disabledPackageSources>. Assert.Equal(1, mockFileSystem.Paths.Count); var configFile = mockFileSystem.Paths.First().Key; var configFileContent = mockFileSystem.ReadAllText(configFile); Assert.Equal( @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <packageSources /> <disabledPackageSources> <add key=""Windows 8 Packages"" value=""true"" /> </disabledPackageSources> </configuration>".Replace("\r", ""), configFileContent.Replace("\r", "")); }
public void TheEnabledStateOfWindows8FeedIsNotPersistedWhenRunningOnWindows8Express() { // Arrange var userSettings = new Mock<ISettings>(); var packageSourceProvider = new Mock<IPackageSourceProvider>(); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var packageSources = new PackageSource[] { new PackageSource(NuGetConstants.VSExpressForWindows8FeedUrl, "Windows 8 packages", isEnabled: true, isOfficial: true) }; provider.SavePackageSources(packageSources); // Assert packageSourceProvider.Verify(p => p.DisablePackageSource(It.IsAny<PackageSource>()), Times.Never()); }
public void GetActivePackageSourceWillPreserveWindows8ExpressSourceWhenRunningWindows8Express() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(_ => _.GetSettingValues("packageSources", true)).Returns(new[] { new SettingValue(NuGetOfficialFeedName, NuGetOfficialFeedUrl, false) }); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl) }); var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(p => p.IsPackageSourceEnabled( It.Is<PackageSource>(s => s.Name == "Windows 8 Packages"))).Returns(true); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var source = provider.ActivePackageSource; // Assert AssertPackageSource(source, "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); }
public void SetActivePackageSourceAcceptsValueForWindows8FeedWhenRunningWindows8Express() { // Arrange var userSettings = new Mock<ISettings>(MockBehavior.Strict); var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(_ => _.LoadPackageSources()).Returns(new[] { new PackageSource("theFirstSource", "theFirstFeed"), new PackageSource(NuGetOfficialFeedUrl, NuGetOfficialFeedName), new PackageSource("theThirdSource", "theThirdFeed"), }); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new[] { new KeyValuePair<string, string>("theFirstFeed", "theFirstSource") }); userSettings.Setup(_ => _.DeleteSection("activePackageSource")).Returns(true); userSettings.Setup(_ => _.SetValue("activePackageSource", "Windows 8 packages", NuGetConstants.VSExpressForWindows8FeedUrl)).Verifiable(); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act provider.ActivePackageSource = new PackageSource(NuGetConstants.VSExpressForWindows8FeedUrl, "Windows 8 packages"); // Assert userSettings.Verify(); }
public void ActivePackageSourceShouldBeEnabled() { // Arrange var userSettings = new Mock<ISettings>(MockBehavior.Strict); userSettings.Setup(_ => _.GetValues("activePackageSource")).Returns(new List<KeyValuePair<string, string>> { new KeyValuePair<string, string>("s1", "http://s1"), new KeyValuePair<string, string>("s2", "http://s2") }); var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(p => p.LoadPackageSources()).Returns( new[] { new PackageSource("http://s1", "s1", isEnabled: false), new PackageSource("http://s2", "s2", isEnabled: true) }); var vsShellInfo = new Mock<IVsShellInfo>(); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, vsShellInfo.Object); // Act var source = provider.ActivePackageSource; // Assert AssertPackageSource(source, "s2", "http://s2"); }
public void SettingsWithMoreThanOneAggregateSourceAreModifiedToNotHaveOne() { // Arrange var userSettings = new Mock<ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal(NuGetOfficialFeedName, sources[0].Name); }
public void LoadPackageSourcesAddOfficialSourceIfMissing() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue("my source", "http://www.nuget.org", false) }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); AssertPackageSource(sources[0], "my source", "http://www.nuget.org"); AssertPackageSource(sources[1], NuGetOfficialFeedName, NuGetOfficialFeedUrl); Assert.False(sources[1].IsEnabled); Assert.True(sources[1].IsOfficial); }
public void LoadPackageSourcesWillAddTheWindows8SourceAtTheFrontWhenRunningWindows8Express() { // Arrange var mockFileSystem = new MockFileSystem(); mockFileSystem.AddFile("nuget.config", @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <packageSources> <add key=""a"" value=""http://a"" /> </packageSources> </configuration>"); var settings = Settings.LoadDefaultSettings( mockFileSystem, configFileName: null, machineWideSettings: null); var packageSourceProvider = new PackageSourceProvider(settings); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(settings, packageSourceProvider, vsShellInfo.Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(2, sources.Count); AssertPackageSource(sources[0], "Windows 8 Packages", NuGetConstants.VSExpressForWindows8FeedUrl); AssertPackageSource(sources[1], "a", "http://a"); }
public void CtorAddsAggregrateIfNothingWasPersistedIntoSettingsManager() { // Arrange var userSettings = new Mock<ISettings>(); var packageSourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal(NuGetOfficialFeedName, sources[0].Name); }
public void PreserveActiveSourceWhileMigratingNuGetFeed() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)).Returns(new[] { new SettingValue(NuGetLegacyOfficialFeedName, "https://go.microsoft.com/fwlink/?LinkID=206669", false), new SettingValue("one", "onesource", false), }); userSettings.Setup(s => s.GetValues("activePackageSource")) .Returns(new[] { new KeyValuePair<string, string>("one", "onesource") }); var provider = new VsPackageSourceProvider(userSettings.Object, CreateDefaultSourceProvider(userSettings.Object), new Mock<IVsShellInfo>().Object); // Act var activeSource = provider.ActivePackageSource; // Assert AssertPackageSource(activeSource, "one", "onesource"); }
public void SavePackageSourcesWillNotSaveTheWindows8ExpressFeedWhenRunningWindows8Express() { // Arrange var mockFileSystem = new MockFileSystem(); var settings = Settings.LoadDefaultSettings( mockFileSystem, configFileName: null, machineWideSettings: null); var packageSourceProvider = new PackageSourceProvider(settings); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(true); var provider = new VsPackageSourceProvider(settings, packageSourceProvider, vsShellInfo.Object); var packageSources = provider.LoadPackageSources().ToList(); Assert.Equal(1, packageSources.Count); Assert.Equal(NuGetConstants.VSExpressForWindows8FeedUrl, packageSources[0].Source); Assert.True(packageSources[0].IsEnabled); // Act provider.SavePackageSources(packageSources); // Assert // the Win8ExpressFeed is saved as active source, but not saved // in <packageSources>. Assert.Equal(1, mockFileSystem.Paths.Count); var configFile = mockFileSystem.Paths.First().Key; var configFileContent = mockFileSystem.ReadAllText(configFile); Assert.Equal( @"<?xml version=""1.0"" encoding=""utf-8""?> <configuration> <activePackageSource> <add key=""Windows 8 Packages"" value=""https://www.nuget.org/api/v2/curated-feeds/windows8-packages/"" /> </activePackageSource> </configuration>".Replace("\r", ""), configFileContent.Replace("\r", "")); }
public void LoadPackageSourcesWillNotAddTheWindows8SourceWhenNotRunningWindows8Express() { // Arrange var mockFileSystem = new MockFileSystem(); var settings = Settings.LoadDefaultSettings( mockFileSystem, configFileName: null, machineWideSettings: null); var packageSourceProvider = new PackageSourceProvider(settings); var vsShellInfo = new Mock<IVsShellInfo>(); vsShellInfo.Setup(_ => _.IsVisualStudioExpressForWindows8).Returns(false); var provider = new VsPackageSourceProvider(settings, packageSourceProvider, vsShellInfo.Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(0, sources.Count); }
public void SetActivePackageSourcePersistsItToSettingsManager() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.SetValue("activePackageSource", "name", "source")).Verifiable(); var packageSourceProvider = new Mock<IPackageSourceProvider>(); packageSourceProvider.Setup(s => s.LoadPackageSources()) .Returns(new[] { new PackageSource("source", "name"), new PackageSource("source1", "name1") }); var provider = new VsPackageSourceProvider(userSettings.Object, packageSourceProvider.Object, new Mock<IVsShellInfo>().Object); // Act provider.ActivePackageSource = new PackageSource("source", "name"); // Assert userSettings.Verify(); }
public void CtorMigratesEvenCaseDoesNotMatch() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue("NuGET oFFIcial PACKAGE souRCe", "HTTPS://nUGet.org/ApI/V2/", false) }); var sourceProvider = CreateDefaultSourceProvider(userSettings.Object); var provider = new VsPackageSourceProvider(userSettings.Object, sourceProvider, new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal(NuGetOfficialFeedUrl, sources[0].Source); Assert.Equal(NuGetOfficialFeedName, sources[0].Name); }
public void CtorMigrateV1FeedToV2FeedAndPreserveIsEnabledProperty() { // Arrange var userSettings = new Mock<ISettings>(); userSettings.Setup(s => s.GetSettingValues("packageSources", true)) .Returns(new[] { new SettingValue(NuGetLegacyOfficialFeedName, "https://go.microsoft.com/fwlink/?LinkID=206669", false) }); // disable the official source userSettings.Setup(s => s.GetSettingValues("disabledPackageSources", false)) .Returns(new[] { new SettingValue(NuGetLegacyOfficialFeedName, "true", false) }); var provider = new VsPackageSourceProvider(userSettings.Object, CreateDefaultSourceProvider(userSettings.Object), new Mock<IVsShellInfo>().Object); // Act var sources = provider.LoadPackageSources().ToList(); // Assert Assert.Equal(1, sources.Count); Assert.Equal(NuGetOfficialFeedUrl, sources[0].Source); Assert.Equal(NuGetOfficialFeedName, sources[0].Name); Assert.False(sources[0].IsEnabled); }