github.com/Racer159/jackal@v0.32.7-0.20240401174413-0bd2339e4f2e/src/test/e2e/26_simple_packages_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  	"fmt"
     9  	"net/http"
    10  	"path/filepath"
    11  	"testing"
    12  
    13  	"github.com/Racer159/jackal/src/pkg/cluster"
    14  	"github.com/stretchr/testify/require"
    15  )
    16  
    17  func TestDosGames(t *testing.T) {
    18  	t.Log("E2E: Dos games")
    19  	e2e.SetupWithCluster(t)
    20  
    21  	path := filepath.Join("build", fmt.Sprintf("jackal-package-dos-games-%s-1.0.0.tar.zst", e2e.Arch))
    22  
    23  	// Deploy the game
    24  	stdOut, stdErr, err := e2e.Jackal("package", "deploy", path, "--confirm")
    25  	require.NoError(t, err, stdOut, stdErr)
    26  
    27  	c, err := cluster.NewCluster()
    28  	require.NoError(t, err)
    29  	tunnel, err := c.Connect("doom")
    30  	require.NoError(t, err)
    31  	defer tunnel.Close()
    32  
    33  	// Check that 'curl' returns something.
    34  	resp, err := http.Get(tunnel.HTTPEndpoint())
    35  	require.NoError(t, err, resp)
    36  	require.Equal(t, 200, resp.StatusCode)
    37  
    38  	stdOut, stdErr, err = e2e.Jackal("package", "remove", "dos-games", "--confirm")
    39  	require.NoError(t, err, stdOut, stdErr)
    40  
    41  	testCreate := filepath.Join("src", "test", "packages", "26-image-dos-games")
    42  	testDeploy := filepath.Join("build", fmt.Sprintf("jackal-package-dos-games-images-%s.tar.zst", e2e.Arch))
    43  
    44  	// Create the game image test package
    45  	stdOut, stdErr, err = e2e.Jackal("package", "create", testCreate, "-o", "build", "--confirm")
    46  	require.NoError(t, err, stdOut, stdErr)
    47  
    48  	// Deploy the game image test package
    49  	stdOut, stdErr, err = e2e.Jackal("package", "deploy", testDeploy, "--confirm")
    50  	require.NoError(t, err, stdOut, stdErr)
    51  }
    52  
    53  func TestManifests(t *testing.T) {
    54  	t.Log("E2E: Local, Remote, and Kustomize Manifests")
    55  	e2e.SetupWithCluster(t)
    56  
    57  	path := filepath.Join("build", fmt.Sprintf("jackal-package-manifests-%s-0.0.1.tar.zst", e2e.Arch))
    58  
    59  	// Deploy the package
    60  	stdOut, stdErr, err := e2e.Jackal("package", "deploy", path, "--confirm")
    61  	require.NoError(t, err, stdOut, stdErr)
    62  
    63  	// Remove the package
    64  	stdOut, stdErr, err = e2e.Jackal("package", "remove", "manifests", "--confirm")
    65  	require.NoError(t, err, stdOut, stdErr)
    66  }