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

Function TestWorkspaceQuotas

coderd/database/querier_test.go:2614–2699  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2612}
2613
2614func TestWorkspaceQuotas(t *testing.T) {
2615 t.Parallel()
2616 orgMemberIDs := func(o database.OrganizationMember) uuid.UUID {
2617 return o.UserID
2618 }
2619 groupMemberIDs := func(m database.GroupMember) uuid.UUID {
2620 return m.UserID
2621 }
2622
2623 t.Run("CorruptedEveryone", func(t *testing.T) {
2624 t.Parallel()
2625
2626 ctx := testutil.Context(t, testutil.WaitLong)
2627
2628 db, _ := dbtestutil.NewDB(t)
2629 // Create an extra org as a distraction
2630 distract := dbgen.Organization(t, db, database.Organization{})
2631 _, err := db.InsertAllUsersGroup(ctx, distract.ID)
2632 require.NoError(t, err)
2633
2634 _, err = db.UpdateGroupByID(ctx, database.UpdateGroupByIDParams{
2635 QuotaAllowance: 15,
2636 ID: distract.ID,
2637 })
2638 require.NoError(t, err)
2639
2640 // Create an org with 2 users
2641 org := dbgen.Organization(t, db, database.Organization{})
2642
2643 everyoneGroup, err := db.InsertAllUsersGroup(ctx, org.ID)
2644 require.NoError(t, err)
2645
2646 // Add a quota to the everyone group
2647 _, err = db.UpdateGroupByID(ctx, database.UpdateGroupByIDParams{
2648 QuotaAllowance: 50,
2649 ID: everyoneGroup.ID,
2650 })
2651 require.NoError(t, err)
2652
2653 // Add people to the org
2654 one := dbgen.User(t, db, database.User{})
2655 two := dbgen.User(t, db, database.User{})
2656 memOne := dbgen.OrganizationMember(t, db, database.OrganizationMember{
2657 OrganizationID: org.ID,
2658 UserID: one.ID,
2659 })
2660 memTwo := dbgen.OrganizationMember(t, db, database.OrganizationMember{
2661 OrganizationID: org.ID,
2662 UserID: two.ID,
2663 })
2664
2665 // Fetch the 'Everyone' group members
2666 everyoneMembers, err := db.GetGroupMembersByGroupID(ctx, database.GetGroupMembersByGroupIDParams{
2667 GroupID: everyoneGroup.ID,
2668 IncludeSystem: false,
2669 })
2670 require.NoError(t, err)
2671

Callers

nothing calls this directly

Calls 13

ContextFunction · 0.92
NewDBFunction · 0.92
OrganizationFunction · 0.92
UserFunction · 0.92
OrganizationMemberFunction · 0.92
ListFunction · 0.92
RunMethod · 0.65
InsertAllUsersGroupMethod · 0.65
UpdateGroupByIDMethod · 0.65
InsertGroupMemberMethod · 0.65

Tested by

no test coverage detected