Skip to content

Commit 3720443

Browse files
committed
Add test
1 parent a27484e commit 3720443

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

cli/agent_test.go

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package cli_test
22

33
import (
44
"context"
5+
"os"
6+
"path/filepath"
57
"runtime"
68
"strings"
79
"testing"
@@ -14,10 +16,70 @@ import (
1416
"github.com/coder/coder/coderd/coderdtest"
1517
"github.com/coder/coder/provisioner/echo"
1618
"github.com/coder/coder/provisionersdk/proto"
19+
"github.com/coder/coder/testutil"
1720
)
1821

1922
func TestWorkspaceAgent(t *testing.T) {
2023
t.Parallel()
24+
25+
t.Run("LogDirectory", func(t *testing.T) {
26+
t.Parallel()
27+
28+
authToken := uuid.NewString()
29+
client := coderdtest.New(t, &coderdtest.Options{
30+
IncludeProvisionerDaemon: true,
31+
})
32+
user := coderdtest.CreateFirstUser(t, client)
33+
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
34+
Parse: echo.ParseComplete,
35+
ProvisionApply: []*proto.Provision_Response{{
36+
Type: &proto.Provision_Response_Complete{
37+
Complete: &proto.Provision_Complete{
38+
Resources: []*proto.Resource{{
39+
Name: "somename",
40+
Type: "someinstance",
41+
Agents: []*proto.Agent{{
42+
Id: uuid.NewString(),
43+
Name: "someagent",
44+
Auth: &proto.Agent_Token{
45+
Token: authToken,
46+
},
47+
}},
48+
}},
49+
},
50+
},
51+
}},
52+
})
53+
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
54+
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
55+
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
56+
coderdtest.AwaitWorkspaceBuildJob(t, client, workspace.LatestBuild.ID)
57+
58+
logDir := t.TempDir()
59+
cmd, _ := clitest.New(t,
60+
"agent",
61+
"--auth", "token",
62+
"--agent-token", authToken,
63+
"--agent-url", client.URL.String(),
64+
"--log-dir", logDir,
65+
)
66+
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
67+
defer cancel()
68+
errC := make(chan error, 1)
69+
go func() {
70+
errC <- cmd.ExecuteContext(ctx)
71+
}()
72+
coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID)
73+
74+
cancel()
75+
err := <-errC
76+
require.NoError(t, err)
77+
78+
info, err := os.Stat(filepath.Join(logDir, "coder-agent.log"))
79+
require.NoError(t, err)
80+
require.Greater(t, info.Size(), int64(0))
81+
})
82+
2183
t.Run("Azure", func(t *testing.T) {
2284
t.Parallel()
2385
instanceID := "instanceidentifier"

0 commit comments

Comments
 (0)