github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/src/test/e2e/13_jackal_package_generate_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // SPDX-FileCopyrightText: 2021-Present The Jackal Authors
     3  
     4  // Package test provides e2e tests for Jackal.
     5  package test
     6  
     7  import (
     8  	"path/filepath"
     9  	"testing"
    10  
    11  	"github.com/Racer159/jackal/src/pkg/layout"
    12  	"github.com/Racer159/jackal/src/pkg/utils"
    13  	"github.com/Racer159/jackal/src/types"
    14  	"github.com/stretchr/testify/require"
    15  )
    16  
    17  func TestJackalDevGenerate(t *testing.T) {
    18  	t.Log("E2E: Jackal Dev Generate")
    19  
    20  	t.Run("Test generate podinfo", func(t *testing.T) {
    21  		tmpDir := t.TempDir()
    22  
    23  		url := "https://github.com/stefanprodan/podinfo.git"
    24  		version := "6.4.0"
    25  		gitPath := "charts/podinfo"
    26  
    27  		stdOut, stdErr, err := e2e.Jackal("dev", "generate", "podinfo", "--url", url, "--version", version, "--gitPath", gitPath, "--output-directory", tmpDir)
    28  		require.NoError(t, err, stdOut, stdErr)
    29  
    30  		jackalPackage := types.JackalPackage{}
    31  		packageLocation := filepath.Join(tmpDir, layout.JackalYAML)
    32  		err = utils.ReadYaml(packageLocation, &jackalPackage)
    33  		require.NoError(t, err)
    34  		require.Equal(t, jackalPackage.Components[0].Charts[0].URL, url)
    35  		require.Equal(t, jackalPackage.Components[0].Charts[0].Version, version)
    36  		require.Equal(t, jackalPackage.Components[0].Charts[0].GitPath, gitPath)
    37  		require.NotEmpty(t, jackalPackage.Components[0].Images)
    38  	})
    39  }