예제 #1
0
        public void GitTemplatePathCallsInstallLocalPackageWithCloneDirectory(string request)
        {
            FileSystemTestWrapper fileSystemTestWrapper = new FileSystemTestWrapper();

            (this.EnvironmentSettings.Host as TestHelper.TestHost).FileSystem = fileSystemTestWrapper;

            GitSource gitSource = null;

            GitSource.TryParseGitSource(request, out gitSource);

            bool cloneDirectoryFound = false;

            fileSystemTestWrapper.VerifyDirectoryExists = path =>
            {
                if (path.Contains($"scratch/{gitSource.RepositoryName}/{gitSource.SubFolder}"))
                {
                    cloneDirectoryFound = true;
                }
            };

            Installer installer = new Installer(this.EnvironmentSettings);

            string[] installationRequests = new[] { request };
            installer.InstallPackages(installationRequests);

            Assert.True(cloneDirectoryFound, "Clone directory was found.");
        }
예제 #2
0
        public void GitUrlReturnsGitPackageWithRepoName(string request, string repoName)
        {
            GitSource source = null;
            bool      result = GitSource.TryParseGitSource(request, out source);

            Assert.Equal(repoName, source.RepositoryName);
            Assert.Equal(true, result);
        }
예제 #3
0
        public void GitUrlReturnsGitPackageWithSubFolder(string request, string subFolder)
        {
            GitSource source = null;
            bool      result = GitSource.TryParseGitSource(request, out source);

            Assert.Equal(subFolder, source.SubFolder);
            Assert.Equal(true, result);
        }
예제 #4
0
        public void GitUrlReturnsGitPackageWithUrl(string request, string gitUrl)
        {
            GitSource source = null;
            bool      result = GitSource.TryParseGitSource(request, out source);

            Assert.Equal(gitUrl, source.GitUrl);
            Assert.Equal(true, result);
        }
예제 #5
0
        public void NonGitUrlReturnsFalseNull(string request)
        {
            GitSource source = null;
            bool      result = GitSource.TryParseGitSource(request, out source);

            //IReadOnlyList<string> projFilesFound = actionProcessor.FindProjFileAtOrAbovePath(EngineEnvironmentSettings.Host.FileSystem, outputBasePath, new HashSet<string>());
            Assert.Equal(null, source);
            Assert.Equal(false, result);
        }
예제 #6
0
        public void GitTemplatePathCallsGitClone(string request)
        {
            InstallerTestWrapper installer = new InstallerTestWrapper(this.EnvironmentSettings);

            string[] installationRequests = new[] { request };
            installer.InstallPackages(installationRequests);

            GitSource gitSource = null;

            GitSource.TryParseGitSource(request, out gitSource);

            //IReadOnlyList<string> projFilesFound = actionProcessor.FindProjFileAtOrAbovePath(EngineEnvironmentSettings.Host.FileSystem, outputBasePath, new HashSet<string>());
            Assert.Equal("git", installer.ExecuteProcessCommands[0][0]);
            Assert.Equal("clone", installer.ExecuteProcessCommands[0][1]);
            Assert.Equal(gitSource.GitUrl, installer.ExecuteProcessCommands[0][2]);
            Assert.Contains($"scratch/{gitSource.RepositoryName}", installer.ExecuteProcessCommands[0][3]);
        }