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 }