github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/test/integration/buildscript_int_test.go (about) 1 package integration 2 3 import ( 4 "fmt" 5 "path/filepath" 6 "testing" 7 8 "github.com/ActiveState/cli/internal/constants" 9 "github.com/ActiveState/cli/internal/testhelpers/e2e" 10 "github.com/ActiveState/cli/internal/testhelpers/suite" 11 "github.com/ActiveState/cli/internal/testhelpers/tagsuite" 12 "github.com/ActiveState/cli/pkg/projectfile" 13 ) 14 15 type BuildScriptIntegrationTestSuite struct { 16 tagsuite.Suite 17 } 18 19 func (suite *BuildScriptIntegrationTestSuite) TestBuildScript_NeedsReset() { 20 suite.OnlyRunForTags(tagsuite.BuildScripts) 21 ts := e2e.New(suite.T(), false) 22 defer ts.Close() 23 24 ts.PrepareActiveStateYAML(fmt.Sprintf("project: https://%s/%s?commitID=%s\nconfig_version: %d\n", 25 constants.DefaultAPIHost, "ActiveState-CLI/small-python", "5a1e49e5-8ceb-4a09-b605-ed334474855b", projectfile.ConfigVersion)) 26 27 cp := ts.Spawn("config", "set", constants.OptinBuildscriptsConfig, "true") 28 cp.ExpectExitCode(0) 29 30 suite.Require().NoFileExists(filepath.Join(ts.Dirs.Work, constants.BuildScriptFileName)) 31 32 cp = ts.SpawnWithOpts(e2e.OptArgs("refresh"), e2e.OptAppendEnv(constants.DisableRuntime+"=false")) 33 cp.Expect("Your project is missing its buildscript file") 34 cp.ExpectExitCode(1) 35 36 cp = ts.SpawnWithOpts(e2e.OptArgs("reset", "LOCAL"), e2e.OptAppendEnv(constants.DisableRuntime+"=false")) 37 cp.ExpectExitCode(0, e2e.RuntimeSourcingTimeoutOpt) 38 39 suite.Require().FileExists(filepath.Join(ts.Dirs.Work, constants.BuildScriptFileName), ts.DebugMessage("")) 40 } 41 42 func TestBuildScriptIntegrationTestSuite(t *testing.T) { 43 suite.Run(t, new(BuildScriptIntegrationTestSuite)) 44 }