get.porter.sh/porter@v1.3.0/mage/docs/docs_test.go (about)

     1  package docs
     2  
     3  import (
     4  	"os"
     5  	"path/filepath"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  	"github.com/stretchr/testify/require"
    10  	"github.com/uwu-tools/magex/shx"
    11  )
    12  
    13  func TestEnsureOperatorRepository(t *testing.T) {
    14  	t.Run("has local repo", func(t *testing.T) {
    15  		tmp, err := os.MkdirTemp("", "porter-docs-test")
    16  		require.NoError(t, err)
    17  		defer os.RemoveAll(tmp)
    18  
    19  		resolvedPath, err := ensureOperatorRepositoryIn(tmp, "")
    20  		require.NoError(t, err)
    21  		require.Equal(t, tmp, resolvedPath)
    22  	})
    23  
    24  	t.Run("missing local repo", func(t *testing.T) {
    25  		tmp, err := os.MkdirTemp("", "porter-docs-test")
    26  		require.NoError(t, err)
    27  		defer os.RemoveAll(tmp)
    28  
    29  		resolvedPath, err := ensureOperatorRepositoryIn("missing", tmp)
    30  		require.NoError(t, err)
    31  		require.Equal(t, tmp, resolvedPath)
    32  	})
    33  
    34  	t.Run("local repo unset", func(t *testing.T) {
    35  		tmp, err := os.MkdirTemp("", "porter-docs-test")
    36  		require.NoError(t, err)
    37  		defer os.RemoveAll(tmp)
    38  
    39  		resolvedPath, err := ensureOperatorRepositoryIn("", tmp)
    40  		require.NoError(t, err)
    41  		require.Equal(t, tmp, resolvedPath)
    42  	})
    43  
    44  	t.Run("empty default path clones repo", func(t *testing.T) {
    45  		tmp, err := os.MkdirTemp("", "porter-docs-test")
    46  		require.NoError(t, err)
    47  		defer os.RemoveAll(tmp)
    48  
    49  		resolvedPath, err := ensureOperatorRepositoryIn("", tmp)
    50  		require.NoError(t, err)
    51  		require.Equal(t, tmp, resolvedPath)
    52  
    53  		err = shx.Command("git", "status").In(resolvedPath).RunE()
    54  		require.NoError(t, err, "clone failed")
    55  	})
    56  
    57  	t.Run("changes in default path are reset", func(t *testing.T) {
    58  		tmp, err := os.MkdirTemp("", "porter-docs-test")
    59  		require.NoError(t, err)
    60  		defer os.RemoveAll(tmp)
    61  
    62  		repoPath, err := ensureOperatorRepositoryIn("", tmp)
    63  		require.NoError(t, err)
    64  
    65  		// make a change
    66  		readme := filepath.Join(repoPath, "README.md")
    67  		require.NoError(t, os.Remove(readme))
    68  
    69  		// Make sure rerunning resets the change
    70  		_, err = ensureOperatorRepositoryIn("", tmp)
    71  		require.NoError(t, err)
    72  		require.FileExists(t, readme)
    73  	})
    74  }
    75  
    76  func Test_setPullRequestBaseURL(t *testing.T) {
    77  	os.Setenv("DEPLOY_PRIME_URL", "https://preview--porter.netlify.app")
    78  	setPullRequestBaseURL()
    79  	assert.Equal(t, "https://preview--porter.netlify.app/", os.Getenv("BASEURL"))
    80  }
    81  
    82  func TestDocsBranchPreview(t *testing.T) {
    83  	os.Setenv("BRANCH", "release/v1")
    84  	setBranchBaseURL()
    85  	assert.Equal(t, "https://release-v1.porter.sh/", os.Getenv("BASEURL"))
    86  }