コード例 #1
0
                 ) Setup(
            bool useMock,
            List <MockFeed> feeds                   = null,
            FilePath?tempProject                    = null,
            DirectoryPath?offlineFeed               = null,
            FilePath?writeLocalFeedToNugetConfig    = null,
            [CallerMemberName] string callingMethod = "",
            string identiifer = null)
        {
            var root     = new DirectoryPath(_testAssetsManager.CreateTestDirectory(callingMethod, identifier: useMock.ToString() + identiifer).Path);
            var reporter = new BufferedReporter();

            IFileSystem             fileSystem;
            IToolPackageStore       store;
            IToolPackageStoreQuery  storeQuery;
            IToolPackageInstaller   installer;
            IToolPackageUninstaller uninstaller;

            if (useMock)
            {
                fileSystem = new FileSystemMockBuilder().Build();
                var frameworksMap = new Dictionary <PackageId, IEnumerable <NuGetFramework> >()
                {
                    { TestPackageId, TestFrameworks }
                };
                WriteNugetConfigFileToPointToTheFeed(fileSystem, writeLocalFeedToNugetConfig);
                var toolPackageStoreMock = new ToolPackageStoreMock(root, fileSystem, frameworksMap);
                store      = toolPackageStoreMock;
                storeQuery = toolPackageStoreMock;
                installer  = new ToolPackageInstallerMock(
                    fileSystem: fileSystem,
                    store: toolPackageStoreMock,
                    projectRestorer: new ProjectRestorerMock(
                        fileSystem: fileSystem,
                        reporter: reporter,
                        feeds: feeds == null
                            ? GetMockFeedsForConfigFile(writeLocalFeedToNugetConfig)
                            : feeds.Concat(GetMockFeedsForConfigFile(writeLocalFeedToNugetConfig)).ToList()),
                    frameworksMap: frameworksMap);
                uninstaller = new ToolPackageUninstallerMock(fileSystem, toolPackageStoreMock);
            }
            else
            {
                fileSystem = new FileSystemWrapper();
                WriteNugetConfigFileToPointToTheFeed(fileSystem, writeLocalFeedToNugetConfig);
                var toolPackageStore = new ToolPackageStoreAndQuery(root);
                store      = toolPackageStore;
                storeQuery = toolPackageStore;
                installer  = new ToolPackageInstaller(
                    store: store,
                    projectRestorer: new Stage2ProjectRestorer(Log, reporter),
                    tempProject: tempProject ?? GetUniqueTempProjectPathEachTest(),
                    offlineFeed: offlineFeed ?? new DirectoryPath("does not exist"));
                uninstaller = new ToolPackageUninstaller(store);
            }

            store.Root.Value.Should().Be(Path.GetFullPath(root.Value));

            return(store, storeQuery, installer, uninstaller, reporter, fileSystem);
        }
コード例 #2
0
        public static (IToolPackageStore, IToolPackageStoreQuery, IToolPackageUninstaller) CreateToolPackageStoresAndUninstaller(
            DirectoryPath?nonGlobalLocation = null)
        {
            ToolPackageStoreAndQuery toolPackageStore = CreateConcreteToolPackageStore(nonGlobalLocation);
            var toolPackageUninstaller = new ToolPackageUninstaller(
                toolPackageStore);

            return(toolPackageStore, toolPackageStore, toolPackageUninstaller);
        }
コード例 #3
0
                 ) Setup(
            bool useMock,
            List <MockFeed> feeds              = null,
            FilePath?tempProject               = null,
            DirectoryPath?offlineFeed          = null,
            [CallerMemberName] string testName = "",
            string identifier = null)
        {
            var root     = new DirectoryPath(_testAssetsManager.CreateTestDirectory(testName, identifier).Path);
            var reporter = new BufferedReporter();

            IFileSystem             fileSystem;
            IToolPackageStore       store;
            IToolPackageStoreQuery  storeQuery;
            IToolPackageInstaller   installer;
            IToolPackageUninstaller uninstaller;

            if (useMock)
            {
                var packagedShimsMap = new Dictionary <PackageId, IReadOnlyList <FilePath> >
                {
                    [TestPackageId] = new FilePath[] { new FilePath("path/demo.exe") }
                };

                fileSystem = new FileSystemMockBuilder().Build();
                var toolPackageStoreMock = new ToolPackageStoreMock(root, fileSystem);
                store      = toolPackageStoreMock;
                storeQuery = toolPackageStoreMock;
                installer  = new ToolPackageInstallerMock(
                    fileSystem: fileSystem,
                    store: toolPackageStoreMock,
                    projectRestorer: new ProjectRestorerMock(
                        fileSystem: fileSystem,
                        reporter: reporter,
                        feeds: feeds),
                    packagedShimsMap: packagedShimsMap);
                uninstaller = new ToolPackageUninstallerMock(fileSystem, toolPackageStoreMock);
            }
            else
            {
                fileSystem = new FileSystemWrapper();
                var toolPackageStore = new ToolPackageStoreAndQuery(root);
                store      = toolPackageStore;
                storeQuery = toolPackageStore;
                installer  = new ToolPackageInstaller(
                    store: store,
                    projectRestorer: new Stage2ProjectRestorer(Log, reporter),
                    tempProject: tempProject ?? GetUniqueTempProjectPathEachTest(),
                    offlineFeed: offlineFeed ?? new DirectoryPath("does not exist"));
                uninstaller = new ToolPackageUninstaller(store);
            }

            store.Root.Value.Should().Be(Path.GetFullPath(root.Value));

            return(store, storeQuery, installer, uninstaller, reporter, fileSystem);
        }
コード例 #4
0
                        ) Setup(
            bool useMock,
            IEnumerable <MockFeed> feeds = null,
            FilePath?tempProject         = null,
            DirectoryPath?offlineFeed    = null)
        {
            var root     = new DirectoryPath(Path.Combine(TempRoot.Root, Path.GetRandomFileName()));
            var reporter = new BufferedReporter();

            IFileSystem             fileSystem;
            IToolPackageStore       store;
            IToolPackageStoreQuery  storeQuery;
            IToolPackageInstaller   installer;
            IToolPackageUninstaller uninstaller;

            if (useMock)
            {
                var packagedShimsMap = new Dictionary <PackageId, IReadOnlyList <FilePath> >
                {
                    [TestPackageId] = new FilePath[] { new FilePath("path/demo.exe") }
                };

                fileSystem = new FileSystemMockBuilder().Build();
                var toolPackageStoreMock = new ToolPackageStoreMock(root, fileSystem);
                store      = toolPackageStoreMock;
                storeQuery = toolPackageStoreMock;
                installer  = new ToolPackageInstallerMock(
                    fileSystem: fileSystem,
                    store: toolPackageStoreMock,
                    projectRestorer: new ProjectRestorerMock(
                        fileSystem: fileSystem,
                        reporter: reporter,
                        feeds: feeds),
                    packagedShimsMap: packagedShimsMap);
                uninstaller = new ToolPackageUninstallerMock(fileSystem, toolPackageStoreMock);
            }
            else
            {
                fileSystem = new FileSystemWrapper();
                var toolPackageStore = new ToolPackageStoreAndQuery(root);
                store      = toolPackageStore;
                storeQuery = toolPackageStore;
                installer  = new ToolPackageInstaller(
                    store: store,
                    projectRestorer: new ProjectRestorer(reporter),
                    tempProject: tempProject ?? GetUniqueTempProjectPathEachTest(),
                    offlineFeed: offlineFeed ?? new DirectoryPath("does not exist"));
                uninstaller = new ToolPackageUninstaller(store);
            }

            store.Root.Value.Should().Be(Path.GetFullPath(root.Value));

            return(store, storeQuery, installer, uninstaller, reporter, fileSystem);
        }
コード例 #5
0
                        ) Setup(
            bool useMock,
            List <MockFeed> feeds                = null,
            FilePath?tempProject                 = null,
            DirectoryPath?offlineFeed            = null,
            FilePath?writeLocalFeedToNugetConfig = null)
        {
            var root     = new DirectoryPath(Path.Combine(TempRoot.Root, Path.GetRandomFileName()));
            var reporter = new BufferedReporter();

            IFileSystem             fileSystem;
            IToolPackageStore       store;
            IToolPackageStoreQuery  storeQuery;
            IToolPackageInstaller   installer;
            IToolPackageUninstaller uninstaller;

            if (useMock)
            {
                fileSystem = new FileSystemMockBuilder().Build();
                WriteNugetConfigFileToPointToTheFeed(fileSystem, writeLocalFeedToNugetConfig);
                var toolPackageStoreMock = new ToolPackageStoreMock(root, fileSystem);
                store      = toolPackageStoreMock;
                storeQuery = toolPackageStoreMock;
                installer  = new ToolPackageInstallerMock(
                    fileSystem: fileSystem,
                    store: toolPackageStoreMock,
                    projectRestorer: new ProjectRestorerMock(
                        fileSystem: fileSystem,
                        reporter: reporter,
                        feeds: feeds == null
                            ? GetMockFeedsForConfigFile(writeLocalFeedToNugetConfig)
                            : feeds.Concat(GetMockFeedsForConfigFile(writeLocalFeedToNugetConfig)).ToList()));
                uninstaller = new ToolPackageUninstallerMock(fileSystem, toolPackageStoreMock);
            }
            else
            {
                fileSystem = new FileSystemWrapper();
                WriteNugetConfigFileToPointToTheFeed(fileSystem, writeLocalFeedToNugetConfig);
                var toolPackageStore = new ToolPackageStoreAndQuery(root);
                store      = toolPackageStore;
                storeQuery = toolPackageStore;
                installer  = new ToolPackageInstaller(
                    store: store,
                    projectRestorer: new ProjectRestorer(reporter),
                    tempProject: tempProject ?? GetUniqueTempProjectPathEachTest(),
                    offlineFeed: offlineFeed ?? new DirectoryPath("does not exist"));
                uninstaller = new ToolPackageUninstaller(store);
            }

            store.Root.Value.Should().Be(Path.GetFullPath(root.Value));

            return(store, storeQuery, installer, uninstaller, reporter, fileSystem);
        }
コード例 #6
0
        CreateToolPackageStoresAndInstallerAndUninstaller(
            DirectoryPath?nonGlobalLocation = null, IEnumerable <string> additionalRestoreArguments = null)
        {
            ToolPackageStoreAndQuery toolPackageStore = CreateConcreteToolPackageStore(nonGlobalLocation);
            var toolPackageInstaller = new ToolPackageInstaller(
                toolPackageStore,
                new ProjectRestorer(additionalRestoreArguments: additionalRestoreArguments));
            var toolPackageUninstaller = new ToolPackageUninstaller(
                toolPackageStore);

            return(toolPackageStore, toolPackageStore, toolPackageInstaller, toolPackageUninstaller);
        }
コード例 #7
0
ファイル: ToolPackageFactory.cs プロジェクト: qanon1111/cli-1
        CreateToolPackageStoresAndInstallerAndUninstaller(
            DirectoryPath?nonGlobalLocation = null)
        {
            ToolPackageStoreAndQuery toolPackageStore = CreateConcreteToolPackageStore(nonGlobalLocation);
            var toolPackageInstaller = new ToolPackageInstaller(
                toolPackageStore,
                new ProjectRestorer());
            var toolPackageUninstaller = new ToolPackageUninstaller(
                toolPackageStore);

            return(toolPackageStore, toolPackageStore, toolPackageInstaller, toolPackageUninstaller);
        }