github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/scripts/ci/update-generator/main_test.go (about)

     1  package main
     2  
     3  import (
     4  	"log"
     5  	"os"
     6  	"path/filepath"
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	"github.com/stretchr/testify/require"
    11  
    12  	"github.com/ActiveState/cli/internal/fileutils"
    13  )
    14  
    15  func TestCreateUpdate(t *testing.T) {
    16  	dir, err := os.MkdirTemp(os.TempDir(), "update-generator-test")
    17  	if err != nil {
    18  		log.Fatalf("Cannot create temp dir: %s", err.Error())
    19  	}
    20  
    21  	systemInstall := filepath.Join(dir, "system-install")
    22  	err = fileutils.Mkdir(systemInstall)
    23  	require.NoError(t, err)
    24  	defer os.RemoveAll(dir)
    25  
    26  	binary1 := filepath.Join(dir, "binary1")
    27  	binary2 := filepath.Join(dir, "binary2")
    28  
    29  	for _, f := range []string{binary1, binary2} {
    30  		err = fileutils.Touch(f)
    31  		require.NoError(t, err)
    32  	}
    33  
    34  	err = createUpdate(dir, "channel", "version-SHA", "version", "platform", dir)
    35  	require.NoError(t, err)
    36  
    37  	_, ext := archiveMeta()
    38  
    39  	assert.FileExists(t, filepath.Join(dir, "channel", "platform", "info.json"), "Should create update bits")
    40  	assert.FileExists(t, filepath.Join(dir, "channel", "version", "platform", "info.json"), "Should create update bits")
    41  	assert.FileExists(t, filepath.Join(dir, "channel", "version", "platform", "state-platform-version-SHA"+ext), "Should create update bits")
    42  }