Skip to content

Commit b0445eb

Browse files
committed
add agentscript test
1 parent 02daadd commit b0445eb

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

agent/agentscripts/agentscripts_test.go

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@ package agentscripts_test
22

33
import (
44
"context"
5+
"path/filepath"
56
"testing"
67
"time"
78

9+
"github.com/google/uuid"
810
"github.com/prometheus/client_golang/prometheus"
911
"github.com/spf13/afero"
1012
"github.com/stretchr/testify/require"
@@ -30,7 +32,8 @@ func TestExecuteBasic(t *testing.T) {
3032
})
3133
defer runner.Close()
3234
err := runner.Init([]codersdk.WorkspaceAgentScript{{
33-
Script: "echo hello",
35+
LogSourceID: uuid.New(),
36+
Script: "echo hello",
3437
}})
3538
require.NoError(t, err)
3639
require.NoError(t, runner.Execute(context.Background(), func(script codersdk.WorkspaceAgentScript) bool {
@@ -40,13 +43,36 @@ func TestExecuteBasic(t *testing.T) {
4043
require.Equal(t, "hello", log.Logs[0].Output)
4144
}
4245

46+
func TestEnv(t *testing.T) {
47+
t.Parallel()
48+
logs := make(chan agentsdk.PatchLogs, 1)
49+
runner := setup(t, func(ctx context.Context, req agentsdk.PatchLogs) error {
50+
logs <- req
51+
return nil
52+
})
53+
defer runner.Close()
54+
id := uuid.New()
55+
err := runner.Init([]codersdk.WorkspaceAgentScript{{
56+
LogSourceID: id,
57+
Script: "echo $CODER_SCRIPT_DATA_DIR\necho $CODER_SCRIPT_BIN_DIR\n",
58+
}})
59+
require.NoError(t, err)
60+
require.NoError(t, runner.Execute(context.Background(), func(script codersdk.WorkspaceAgentScript) bool {
61+
return true
62+
}))
63+
log := <-logs
64+
require.Contains(t, log.Logs[0].Output, filepath.Join(runner.DataDir, "coder-script-data", id.String()))
65+
require.Contains(t, log.Logs[1].Output, runner.ScriptBinDir())
66+
}
67+
4368
func TestTimeout(t *testing.T) {
4469
t.Parallel()
4570
runner := setup(t, nil)
4671
defer runner.Close()
4772
err := runner.Init([]codersdk.WorkspaceAgentScript{{
48-
Script: "sleep infinity",
49-
Timeout: time.Millisecond,
73+
LogSourceID: uuid.New(),
74+
Script: "sleep infinity",
75+
Timeout: time.Millisecond,
5076
}})
5177
require.NoError(t, err)
5278
require.ErrorIs(t, runner.Execute(context.Background(), nil), agentscripts.ErrTimeout)
@@ -78,6 +104,7 @@ func setup(t *testing.T, patchLogs func(ctx context.Context, req agentsdk.PatchL
78104
})
79105
return agentscripts.New(agentscripts.Options{
80106
LogDir: t.TempDir(),
107+
DataDir: t.TempDir(),
81108
Logger: logger,
82109
SSHServer: s,
83110
Filesystem: fs,

0 commit comments

Comments
 (0)