Skip to content

Commit 48b31d3

Browse files
committed
new api tests + gen
1 parent d6b4d99 commit 48b31d3

File tree

9 files changed

+68
-2246
lines changed

9 files changed

+68
-2246
lines changed

coderd/apidoc/docs.go

Lines changed: 11 additions & 635 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 0 additions & 566 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/prometheusmetrics/insights/metricscollector_test.go

Lines changed: 0 additions & 211 deletions
This file was deleted.

coderd/prometheusmetrics/prometheusmetrics_test.go

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"cdr.dev/slog"
2121
"cdr.dev/slog/sloggers/slogtest"
2222

23+
agentproto "github.com/coder/coder/v2/agent/proto"
2324
"github.com/coder/coder/v2/coderd/agentmetrics"
2425
"github.com/coder/coder/v2/coderd/batchstats"
2526
"github.com/coder/coder/v2/coderd/coderdtest"
@@ -415,36 +416,45 @@ func TestAgentStats(t *testing.T) {
415416

416417
user := coderdtest.CreateFirstUser(t, client)
417418

418-
agent1 := prepareWorkspaceAndAgent(t, client, user, 1)
419-
agent2 := prepareWorkspaceAndAgent(t, client, user, 2)
420-
agent3 := prepareWorkspaceAndAgent(t, client, user, 3)
419+
agent1 := prepareWorkspaceAndAgent(ctx, t, client, user, 1)
420+
agent2 := prepareWorkspaceAndAgent(ctx, t, client, user, 2)
421+
agent3 := prepareWorkspaceAndAgent(ctx, t, client, user, 3)
422+
defer agent1.DRPCConn().Close()
423+
defer agent2.DRPCConn().Close()
424+
defer agent3.DRPCConn().Close()
421425

422426
registry := prometheus.NewRegistry()
423427

424428
// given
425429
var i int64
426430
for i = 0; i < 3; i++ {
427-
_, err = agent1.PostStats(ctx, &agentsdk.Stats{
428-
TxBytes: 1 + i, RxBytes: 2 + i,
429-
SessionCountVSCode: 3 + i, SessionCountJetBrains: 4 + i, SessionCountReconnectingPTY: 5 + i, SessionCountSSH: 6 + i,
430-
ConnectionCount: 7 + i, ConnectionMedianLatencyMS: 8000,
431-
ConnectionsByProto: map[string]int64{"TCP": 1},
431+
_, err = agent1.UpdateStats(ctx, &agentproto.UpdateStatsRequest{
432+
Stats: &agentproto.Stats{
433+
TxBytes: 1 + i, RxBytes: 2 + i,
434+
SessionCountVscode: 3 + i, SessionCountJetbrains: 4 + i, SessionCountReconnectingPty: 5 + i, SessionCountSsh: 6 + i,
435+
ConnectionCount: 7 + i, ConnectionMedianLatencyMs: 8000,
436+
ConnectionsByProto: map[string]int64{"TCP": 1},
437+
},
432438
})
433439
require.NoError(t, err)
434440

435-
_, err = agent2.PostStats(ctx, &agentsdk.Stats{
436-
TxBytes: 2 + i, RxBytes: 4 + i,
437-
SessionCountVSCode: 6 + i, SessionCountJetBrains: 8 + i, SessionCountReconnectingPTY: 10 + i, SessionCountSSH: 12 + i,
438-
ConnectionCount: 8 + i, ConnectionMedianLatencyMS: 10000,
439-
ConnectionsByProto: map[string]int64{"TCP": 1},
441+
_, err = agent2.UpdateStats(ctx, &agentproto.UpdateStatsRequest{
442+
Stats: &agentproto.Stats{
443+
TxBytes: 2 + i, RxBytes: 4 + i,
444+
SessionCountVscode: 6 + i, SessionCountJetbrains: 8 + i, SessionCountReconnectingPty: 10 + i, SessionCountSsh: 12 + i,
445+
ConnectionCount: 8 + i, ConnectionMedianLatencyMs: 10000,
446+
ConnectionsByProto: map[string]int64{"TCP": 1},
447+
},
440448
})
441449
require.NoError(t, err)
442450

443-
_, err = agent3.PostStats(ctx, &agentsdk.Stats{
444-
TxBytes: 3 + i, RxBytes: 6 + i,
445-
SessionCountVSCode: 12 + i, SessionCountJetBrains: 14 + i, SessionCountReconnectingPTY: 16 + i, SessionCountSSH: 18 + i,
446-
ConnectionCount: 9 + i, ConnectionMedianLatencyMS: 12000,
447-
ConnectionsByProto: map[string]int64{"TCP": 1},
451+
_, err = agent3.UpdateStats(ctx, &agentproto.UpdateStatsRequest{
452+
Stats: &agentproto.Stats{
453+
TxBytes: 3 + i, RxBytes: 6 + i,
454+
SessionCountVscode: 12 + i, SessionCountJetbrains: 14 + i, SessionCountReconnectingPty: 16 + i, SessionCountSsh: 18 + i,
455+
ConnectionCount: 9 + i, ConnectionMedianLatencyMs: 12000,
456+
ConnectionsByProto: map[string]int64{"TCP": 1},
457+
},
448458
})
449459
require.NoError(t, err)
450460
}
@@ -596,7 +606,7 @@ func TestExperimentsMetric(t *testing.T) {
596606
}
597607
}
598608

599-
func prepareWorkspaceAndAgent(t *testing.T, client *codersdk.Client, user codersdk.CreateFirstUserResponse, workspaceNum int) *agentsdk.Client {
609+
func prepareWorkspaceAndAgent(ctx context.Context, t *testing.T, client *codersdk.Client, user codersdk.CreateFirstUserResponse, workspaceNum int) agentproto.DRPCAgentClient {
600610
authToken := uuid.NewString()
601611

602612
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, &echo.Responses{
@@ -611,9 +621,12 @@ func prepareWorkspaceAndAgent(t *testing.T, client *codersdk.Client, user coders
611621
})
612622
coderdtest.AwaitWorkspaceBuildJobCompleted(t, client, workspace.LatestBuild.ID)
613623

614-
agentClient := agentsdk.New(client.URL)
615-
agentClient.SetSessionToken(authToken)
616-
return agentClient
624+
ac := agentsdk.New(client.URL)
625+
ac.SetSessionToken(authToken)
626+
conn, err := ac.ConnectRPC(ctx)
627+
require.NoError(t, err)
628+
agentAPI := agentproto.NewDRPCAgentClient(conn)
629+
return agentAPI
617630
}
618631

619632
var (

coderd/workspaceagents_test.go

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/stretchr/testify/assert"
1818
"github.com/stretchr/testify/require"
1919
"golang.org/x/xerrors"
20+
"google.golang.org/protobuf/types/known/timestamppb"
2021
"tailscale.com/tailcfg"
2122

2223
"cdr.dev/slog"
@@ -967,6 +968,7 @@ func TestWorkspaceAgent_LifecycleState(t *testing.T) {
967968

968969
t.Run("Set", func(t *testing.T) {
969970
t.Parallel()
971+
ctx := testutil.Context(t, testutil.WaitLong)
970972

971973
client, db := coderdtest.NewWithDatabase(t, nil)
972974
user := coderdtest.CreateFirstUser(t, client)
@@ -982,8 +984,11 @@ func TestWorkspaceAgent_LifecycleState(t *testing.T) {
982984
}
983985
}
984986

985-
agentClient := agentsdk.New(client.URL)
986-
agentClient.SetSessionToken(r.AgentToken)
987+
ac := agentsdk.New(client.URL)
988+
ac.SetSessionToken(r.AgentToken)
989+
conn, err := ac.ConnectRPC(ctx)
990+
require.NoError(t, err)
991+
agentAPI := agentproto.NewDRPCAgentClient(conn)
987992

988993
tests := []struct {
989994
state codersdk.WorkspaceAgentLifecycle
@@ -1005,16 +1010,17 @@ func TestWorkspaceAgent_LifecycleState(t *testing.T) {
10051010
for _, tt := range tests {
10061011
tt := tt
10071012
t.Run(string(tt.state), func(t *testing.T) {
1008-
ctx := testutil.Context(t, testutil.WaitLong)
1009-
1010-
err := agentClient.PostLifecycle(ctx, agentsdk.PostLifecycleRequest{
1011-
State: tt.state,
1012-
ChangedAt: time.Now(),
1013-
})
1013+
state, err := agentsdk.ProtoFromLifecycleState(tt.state)
10141014
if tt.wantErr {
10151015
require.Error(t, err)
10161016
return
10171017
}
1018+
_, err = agentAPI.UpdateLifecycle(ctx, &agentproto.UpdateLifecycleRequest{
1019+
Lifecycle: &agentproto.Lifecycle{
1020+
State: state,
1021+
ChangedAt: timestamppb.Now(),
1022+
},
1023+
})
10181024
require.NoError(t, err, "post lifecycle state %q", tt.state)
10191025

10201026
workspace, err = client.Workspace(ctx, workspace.ID)

0 commit comments

Comments
 (0)