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 }