MCPcopy Index your code
hub / github.com/coder/coder / TestUpsertBoundaryUsageStats_Update

Function TestUpsertBoundaryUsageStats_Update

coderd/boundaryusage/tracker_test.go:274–310  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

272}
273
274func TestUpsertBoundaryUsageStats_Update(t *testing.T) {
275 t.Parallel()
276
277 db, _ := dbtestutil.NewDB(t)
278 ctx := dbauthz.AsBoundaryUsageTracker(context.Background())
279
280 replicaID := uuid.New()
281
282 // First insert uses delta fields.
283 _, err := db.UpsertBoundaryUsageStats(ctx, database.UpsertBoundaryUsageStatsParams{
284 ReplicaID: replicaID,
285 UniqueWorkspacesDelta: 5,
286 UniqueUsersDelta: 3,
287 AllowedRequests: 100,
288 DeniedRequests: 10,
289 })
290 require.NoError(t, err)
291
292 // Second upsert (update). Set different delta vs cumulative to verify UPDATE uses cumulative.
293 newPeriod, err := db.UpsertBoundaryUsageStats(ctx, database.UpsertBoundaryUsageStatsParams{
294 ReplicaID: replicaID,
295 UniqueWorkspacesCount: 8, // cumulative, should be used
296 UniqueUsersCount: 5, // cumulative, should be used
297 AllowedRequests: 200,
298 DeniedRequests: 20,
299 })
300 require.NoError(t, err)
301 require.False(t, newPeriod, "should return false for update")
302
303 // Verify UPDATE used cumulative values.
304 summary, err := db.GetAndResetBoundaryUsageSummary(ctx, 60000)
305 require.NoError(t, err)
306 require.Equal(t, int64(8), summary.UniqueWorkspaces)
307 require.Equal(t, int64(5), summary.UniqueUsers)
308 require.Equal(t, int64(100+200), summary.AllowedRequests)
309 require.Equal(t, int64(10+20), summary.DeniedRequests)
310}
311
312func TestGetAndResetBoundaryUsageSummary_MultipleReplicas(t *testing.T) {
313 t.Parallel()

Callers

nothing calls this directly

Calls 6

NewDBFunction · 0.92
AsBoundaryUsageTrackerFunction · 0.92
NewMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected