@@ -481,158 +481,154 @@ func (s *MethodTestSuite) TestFile() {
481
481
}
482
482
483
483
func (s * MethodTestSuite ) TestGroup () {
484
- s .Run ("DeleteGroupByID" , s .Subtest (func (db database.Store , check * expects ) {
485
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
486
- g := dbgen .Group (s .T (), db , database.Group {})
484
+ s .Run ("DeleteGroupByID" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
485
+ g := testutil .Fake (s .T (), faker , database.Group {})
486
+ dbm .EXPECT ().GetGroupByID (gomock .Any (), g .ID ).Return (g , nil ).AnyTimes ()
487
+ dbm .EXPECT ().DeleteGroupByID (gomock .Any (), g .ID ).Return (nil ).AnyTimes ()
487
488
check .Args (g .ID ).Asserts (g , policy .ActionDelete ).Returns ()
488
489
}))
489
- s .Run ("DeleteGroupMemberFromGroup" , s .Subtest (func (db database.Store , check * expects ) {
490
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
491
- g := dbgen .Group (s .T (), db , database.Group {})
492
- u := dbgen .User (s .T (), db , database.User {})
493
- m := dbgen .GroupMember (s .T (), db , database.GroupMemberTable {
494
- GroupID : g .ID ,
495
- UserID : u .ID ,
496
- })
497
- check .Args (database.DeleteGroupMemberFromGroupParams {
498
- UserID : m .UserID ,
499
- GroupID : g .ID ,
500
- }).Asserts (g , policy .ActionUpdate ).Returns ()
490
+
491
+ s .Run ("DeleteGroupMemberFromGroup" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
492
+ g := testutil .Fake (s .T (), faker , database.Group {})
493
+ u := testutil .Fake (s .T (), faker , database.User {})
494
+ m := testutil .Fake (s .T (), faker , database.GroupMember {GroupID : g .ID , UserID : u .ID })
495
+ dbm .EXPECT ().GetGroupByID (gomock .Any (), g .ID ).Return (g , nil ).AnyTimes ()
496
+ dbm .EXPECT ().DeleteGroupMemberFromGroup (gomock .Any (), database.DeleteGroupMemberFromGroupParams {UserID : m .UserID , GroupID : g .ID }).Return (nil ).AnyTimes ()
497
+ check .Args (database.DeleteGroupMemberFromGroupParams {UserID : m .UserID , GroupID : g .ID }).Asserts (g , policy .ActionUpdate ).Returns ()
501
498
}))
502
- s .Run ("GetGroupByID" , s .Subtest (func (db database.Store , check * expects ) {
503
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
504
- g := dbgen .Group (s .T (), db , database.Group {})
499
+
500
+ s .Run ("GetGroupByID" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
501
+ g := testutil .Fake (s .T (), faker , database.Group {})
502
+ dbm .EXPECT ().GetGroupByID (gomock .Any (), g .ID ).Return (g , nil ).AnyTimes ()
505
503
check .Args (g .ID ).Asserts (g , policy .ActionRead ).Returns (g )
506
504
}))
507
- s .Run ("GetGroupByOrgAndName" , s .Subtest (func (db database.Store , check * expects ) {
508
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
509
- g := dbgen .Group (s .T (), db , database.Group {})
510
- check .Args (database.GetGroupByOrgAndNameParams {
511
- OrganizationID : g .OrganizationID ,
512
- Name : g .Name ,
513
- }).Asserts (g , policy .ActionRead ).Returns (g )
505
+
506
+ s .Run ("GetGroupByOrgAndName" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
507
+ g := testutil .Fake (s .T (), faker , database.Group {})
508
+ dbm .EXPECT ().GetGroupByOrgAndName (gomock .Any (), database.GetGroupByOrgAndNameParams {OrganizationID : g .OrganizationID , Name : g .Name }).Return (g , nil ).AnyTimes ()
509
+ check .Args (database.GetGroupByOrgAndNameParams {OrganizationID : g .OrganizationID , Name : g .Name }).Asserts (g , policy .ActionRead ).Returns (g )
514
510
}))
515
- s .Run ("GetGroupMembersByGroupID" , s .Subtest (func (db database.Store , check * expects ) {
516
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
517
- g := dbgen .Group (s .T (), db , database.Group {})
518
- u := dbgen .User (s .T (), db , database.User {})
519
- gm := dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g .ID , UserID : u .ID })
520
- check .Args (database.GetGroupMembersByGroupIDParams {
521
- GroupID : g .ID ,
522
- IncludeSystem : false ,
523
- }).Asserts (gm , policy .ActionRead )
511
+
512
+ s .Run ("GetGroupMembersByGroupID" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
513
+ g := testutil .Fake (s .T (), faker , database.Group {})
514
+ u := testutil .Fake (s .T (), faker , database.User {})
515
+ gm := testutil .Fake (s .T (), faker , database.GroupMember {GroupID : g .ID , UserID : u .ID })
516
+ arg := database.GetGroupMembersByGroupIDParams {GroupID : g .ID , IncludeSystem : false }
517
+ dbm .EXPECT ().GetGroupMembersByGroupID (gomock .Any (), arg ).Return ([]database.GroupMember {gm }, nil ).AnyTimes ()
518
+ check .Args (arg ).Asserts (gm , policy .ActionRead )
524
519
}))
525
- s . Run ( "GetGroupMembersCountByGroupID" , s . Subtest ( func ( db database. Store , check * expects ) {
526
- dbtestutil . DisableForeignKeysAndTriggers ( s . T (), db )
527
- g := dbgen . Group (s .T (), db , database.Group {})
528
- check . Args ( database.GetGroupMembersCountByGroupIDParams {
529
- GroupID : g .ID ,
530
- IncludeSystem : false ,
531
- } ).Asserts (g , policy .ActionRead )
520
+
521
+ s . Run ( "GetGroupMembersCountByGroupID" , s . Mocked ( func ( dbm * dbmock. MockStore , faker * gofakeit. Faker , check * expects ) {
522
+ g := testutil . Fake (s .T (), faker , database.Group {})
523
+ arg := database.GetGroupMembersCountByGroupIDParams {GroupID : g . ID , IncludeSystem : false }
524
+ dbm . EXPECT (). GetGroupByID ( gomock . Any (), g .ID ). Return ( g , nil ). AnyTimes ()
525
+ dbm . EXPECT (). GetGroupMembersCountByGroupID ( gomock . Any (), arg ). Return ( int64 ( 0 ), nil ). AnyTimes ()
526
+ check . Args ( arg ).Asserts (g , policy .ActionRead )
532
527
}))
533
- s .Run ("GetGroupMembers" , s .Subtest (func (db database.Store , check * expects ) {
534
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
535
- g := dbgen .Group (s .T (), db , database.Group {})
536
- u := dbgen .User (s .T (), db , database.User {})
537
- dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g .ID , UserID : u .ID })
528
+
529
+ s .Run ("GetGroupMembers" , s .Mocked (func (dbm * dbmock.MockStore , _ * gofakeit.Faker , check * expects ) {
530
+ dbm .EXPECT ().GetGroupMembers (gomock .Any (), false ).Return ([]database.GroupMember {}, nil ).AnyTimes ()
538
531
check .Args (false ).Asserts (rbac .ResourceSystem , policy .ActionRead )
539
532
}))
540
- s .Run ("System/GetGroups" , s .Subtest (func (db database.Store , check * expects ) {
541
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
542
- _ = dbgen .Group (s .T (), db , database.Group {})
543
- check .Args (database.GetGroupsParams {}).
544
- Asserts (rbac .ResourceSystem , policy .ActionRead )
533
+
534
+ s .Run ("System/GetGroups" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
535
+ o := testutil .Fake (s .T (), faker , database.Organization {})
536
+ g := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
537
+ row := database.GetGroupsRow {Group : g , OrganizationName : o .Name , OrganizationDisplayName : o .DisplayName }
538
+ dbm .EXPECT ().GetGroups (gomock .Any (), database.GetGroupsParams {}).Return ([]database.GetGroupsRow {row }, nil ).AnyTimes ()
539
+ check .Args (database.GetGroupsParams {}).Asserts (rbac .ResourceSystem , policy .ActionRead )
545
540
}))
546
- s .Run ("GetGroups" , s .Subtest (func (db database.Store , check * expects ) {
547
- o := dbgen .Organization (s .T (), db , database.Organization {})
548
- g := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
549
- u := dbgen .User (s .T (), db , database.User {})
550
- gm := dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g .ID , UserID : u .ID })
551
- check .Args (database.GetGroupsParams {
552
- OrganizationID : g .OrganizationID ,
553
- HasMemberID : gm .UserID ,
554
- }).Asserts (rbac .ResourceSystem , policy .ActionRead , g , policy .ActionRead ).
555
- // Fail the system resource skip
556
- FailSystemObjectChecks ()
541
+
542
+ s .Run ("GetGroups" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
543
+ o := testutil .Fake (s .T (), faker , database.Organization {})
544
+ g := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
545
+ u := testutil .Fake (s .T (), faker , database.User {})
546
+ gm := testutil .Fake (s .T (), faker , database.GroupMember {GroupID : g .ID , UserID : u .ID })
547
+ params := database.GetGroupsParams {OrganizationID : g .OrganizationID , HasMemberID : gm .UserID }
548
+ row := database.GetGroupsRow {Group : g , OrganizationName : o .Name , OrganizationDisplayName : o .DisplayName }
549
+ dbm .EXPECT ().GetGroups (gomock .Any (), params ).Return ([]database.GetGroupsRow {row }, nil ).AnyTimes ()
550
+ check .Args (params ).Asserts (rbac .ResourceSystem , policy .ActionRead , g , policy .ActionRead ).FailSystemObjectChecks ()
557
551
}))
558
- s .Run ("InsertAllUsersGroup" , s .Subtest (func (db database.Store , check * expects ) {
559
- o := dbgen .Organization (s .T (), db , database.Organization {})
552
+
553
+ s .Run ("InsertAllUsersGroup" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
554
+ o := testutil .Fake (s .T (), faker , database.Organization {})
555
+ ret := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
556
+ dbm .EXPECT ().InsertAllUsersGroup (gomock .Any (), o .ID ).Return (ret , nil ).AnyTimes ()
560
557
check .Args (o .ID ).Asserts (rbac .ResourceGroup .InOrg (o .ID ), policy .ActionCreate )
561
558
}))
562
- s .Run ("InsertGroup" , s .Subtest (func (db database.Store , check * expects ) {
563
- o := dbgen .Organization (s .T (), db , database.Organization {})
564
- check .Args (database.InsertGroupParams {
565
- OrganizationID : o .ID ,
566
- Name : "test" ,
567
- }).Asserts (rbac .ResourceGroup .InOrg (o .ID ), policy .ActionCreate )
559
+
560
+ s .Run ("InsertGroup" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
561
+ o := testutil .Fake (s .T (), faker , database.Organization {})
562
+ arg := database.InsertGroupParams {OrganizationID : o .ID , Name : "test" }
563
+ ret := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID , Name : arg .Name })
564
+ dbm .EXPECT ().InsertGroup (gomock .Any (), arg ).Return (ret , nil ).AnyTimes ()
565
+ check .Args (arg ).Asserts (rbac .ResourceGroup .InOrg (o .ID ), policy .ActionCreate )
568
566
}))
569
- s . Run ( "InsertGroupMember" , s . Subtest ( func ( db database. Store , check * expects ) {
570
- dbtestutil . DisableForeignKeysAndTriggers ( s . T (), db )
571
- g := dbgen . Group (s .T (), db , database.Group {})
572
- check . Args ( database.InsertGroupMemberParams {
573
- UserID : uuid . New (),
574
- GroupID : g . ID ,
575
- } ).Asserts (g , policy .ActionUpdate ).Returns ()
567
+
568
+ s . Run ( "InsertGroupMember" , s . Mocked ( func ( dbm * dbmock. MockStore , faker * gofakeit. Faker , check * expects ) {
569
+ g := testutil . Fake (s .T (), faker , database.Group {})
570
+ arg := database.InsertGroupMemberParams {UserID : uuid . New (), GroupID : g . ID }
571
+ dbm . EXPECT (). GetGroupByID ( gomock . Any (), g . ID ). Return ( g , nil ). AnyTimes ()
572
+ dbm . EXPECT (). InsertGroupMember ( gomock . Any (), arg ). Return ( nil ). AnyTimes ()
573
+ check . Args ( arg ).Asserts (g , policy .ActionUpdate ).Returns ()
576
574
}))
577
- s .Run ("InsertUserGroupsByName" , s .Subtest (func (db database.Store , check * expects ) {
578
- o := dbgen .Organization (s .T (), db , database.Organization {})
579
- u1 := dbgen .User (s .T (), db , database.User {})
580
- g1 := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
581
- g2 := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
582
- check .Args (database.InsertUserGroupsByNameParams {
583
- OrganizationID : o .ID ,
584
- UserID : u1 .ID ,
585
- GroupNames : slice .New (g1 .Name , g2 .Name ),
586
- }).Asserts (rbac .ResourceGroup .InOrg (o .ID ), policy .ActionUpdate ).Returns ()
575
+
576
+ s .Run ("InsertUserGroupsByName" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
577
+ o := testutil .Fake (s .T (), faker , database.Organization {})
578
+ u1 := testutil .Fake (s .T (), faker , database.User {})
579
+ g1 := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
580
+ g2 := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
581
+ arg := database.InsertUserGroupsByNameParams {OrganizationID : o .ID , UserID : u1 .ID , GroupNames : slice .New (g1 .Name , g2 .Name )}
582
+ dbm .EXPECT ().InsertUserGroupsByName (gomock .Any (), arg ).Return (nil ).AnyTimes ()
583
+ check .Args (arg ).Asserts (rbac .ResourceGroup .InOrg (o .ID ), policy .ActionUpdate ).Returns ()
587
584
}))
588
- s . Run ( "InsertUserGroupsByID" , s . Subtest ( func ( db database. Store , check * expects ) {
589
- o := dbgen . Organization ( s . T (), db , database. Organization {})
590
- u1 := dbgen . User (s .T (), db , database.User {})
591
- g1 := dbgen . Group (s .T (), db , database.Group { OrganizationID : o . ID })
592
- g2 := dbgen . Group (s .T (), db , database.Group {OrganizationID : o .ID })
593
- g3 := dbgen . Group (s .T (), db , database.Group {OrganizationID : o .ID })
594
- _ = dbgen . GroupMember (s .T (), db , database.GroupMemberTable { GroupID : g1 . ID , UserID : u1 .ID })
585
+
586
+ s . Run ( "InsertUserGroupsByID" , s . Mocked ( func ( dbm * dbmock. MockStore , faker * gofakeit. Faker , check * expects ) {
587
+ o := testutil . Fake (s .T (), faker , database.Organization {})
588
+ u1 := testutil . Fake (s .T (), faker , database.User { })
589
+ g1 := testutil . Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
590
+ g2 := testutil . Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
591
+ g3 := testutil . Fake (s .T (), faker , database.Group { OrganizationID : o .ID })
595
592
returns := slice .New (g2 .ID , g3 .ID )
596
593
if ! dbtestutil .WillUsePostgres () {
597
594
returns = slice .New (g1 .ID , g2 .ID , g3 .ID )
598
595
}
599
- check .Args (database.InsertUserGroupsByIDParams {
600
- UserID : u1 .ID ,
601
- GroupIds : slice .New (g1 .ID , g2 .ID , g3 .ID ),
602
- }).Asserts (rbac .ResourceSystem , policy .ActionUpdate ).Returns (returns )
596
+ arg := database.InsertUserGroupsByIDParams {UserID : u1 .ID , GroupIds : slice .New (g1 .ID , g2 .ID , g3 .ID )}
597
+ dbm .EXPECT ().InsertUserGroupsByID (gomock .Any (), arg ).Return (returns , nil ).AnyTimes ()
598
+ check .Args (arg ).Asserts (rbac .ResourceSystem , policy .ActionUpdate ).Returns (returns )
603
599
}))
604
- s .Run ("RemoveUserFromAllGroups" , s .Subtest (func (db database.Store , check * expects ) {
605
- o := dbgen .Organization (s .T (), db , database.Organization {})
606
- u1 := dbgen .User (s .T (), db , database.User {})
607
- g1 := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
608
- g2 := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
609
- _ = dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g1 .ID , UserID : u1 .ID })
610
- _ = dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g2 .ID , UserID : u1 .ID })
600
+
601
+ s .Run ("RemoveUserFromAllGroups" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
602
+ u1 := testutil .Fake (s .T (), faker , database.User {})
603
+ dbm .EXPECT ().RemoveUserFromAllGroups (gomock .Any (), u1 .ID ).Return (nil ).AnyTimes ()
611
604
check .Args (u1 .ID ).Asserts (rbac .ResourceSystem , policy .ActionUpdate ).Returns ()
612
605
}))
613
- s .Run ("RemoveUserFromGroups" , s .Subtest (func (db database.Store , check * expects ) {
614
- o := dbgen .Organization (s .T (), db , database.Organization {})
615
- u1 := dbgen .User (s .T (), db , database.User {})
616
- g1 := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
617
- g2 := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
618
- _ = dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g1 .ID , UserID : u1 .ID })
619
- _ = dbgen .GroupMember (s .T (), db , database.GroupMemberTable {GroupID : g2 .ID , UserID : u1 .ID })
620
- check .Args (database.RemoveUserFromGroupsParams {
621
- UserID : u1 .ID ,
622
- GroupIds : []uuid.UUID {g1 .ID , g2 .ID },
623
- }).Asserts (rbac .ResourceSystem , policy .ActionUpdate ).Returns (slice .New (g1 .ID , g2 .ID ))
624
- }))
625
- s .Run ("UpdateGroupByID" , s .Subtest (func (db database.Store , check * expects ) {
626
- dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
627
- g := dbgen .Group (s .T (), db , database.Group {})
628
- check .Args (database.UpdateGroupByIDParams {
629
- ID : g .ID ,
630
- }).Asserts (g , policy .ActionUpdate )
631
- }))
632
- s .Run ("ValidateGroupIDs" , s .Subtest (func (db database.Store , check * expects ) {
633
- o := dbgen .Organization (s .T (), db , database.Organization {})
634
- g := dbgen .Group (s .T (), db , database.Group {OrganizationID : o .ID })
635
- check .Args ([]uuid.UUID {g .ID }).Asserts (rbac .ResourceSystem , policy .ActionRead )
606
+
607
+ s .Run ("RemoveUserFromGroups" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
608
+ o := testutil .Fake (s .T (), faker , database.Organization {})
609
+ u1 := testutil .Fake (s .T (), faker , database.User {})
610
+ g1 := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
611
+ g2 := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
612
+ arg := database.RemoveUserFromGroupsParams {UserID : u1 .ID , GroupIds : []uuid.UUID {g1 .ID , g2 .ID }}
613
+ dbm .EXPECT ().RemoveUserFromGroups (gomock .Any (), arg ).Return (slice .New (g1 .ID , g2 .ID ), nil ).AnyTimes ()
614
+ check .Args (arg ).Asserts (rbac .ResourceSystem , policy .ActionUpdate ).Returns (slice .New (g1 .ID , g2 .ID ))
615
+ }))
616
+
617
+ s .Run ("UpdateGroupByID" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
618
+ g := testutil .Fake (s .T (), faker , database.Group {})
619
+ arg := database.UpdateGroupByIDParams {ID : g .ID }
620
+ ret := testutil .Fake (s .T (), faker , database.Group {ID : g .ID })
621
+ dbm .EXPECT ().GetGroupByID (gomock .Any (), g .ID ).Return (g , nil ).AnyTimes ()
622
+ dbm .EXPECT ().UpdateGroupByID (gomock .Any (), arg ).Return (ret , nil ).AnyTimes ()
623
+ check .Args (arg ).Asserts (g , policy .ActionUpdate )
624
+ }))
625
+
626
+ s .Run ("ValidateGroupIDs" , s .Mocked (func (dbm * dbmock.MockStore , faker * gofakeit.Faker , check * expects ) {
627
+ o := testutil .Fake (s .T (), faker , database.Organization {})
628
+ g := testutil .Fake (s .T (), faker , database.Group {OrganizationID : o .ID })
629
+ ids := []uuid.UUID {g .ID }
630
+ dbm .EXPECT ().ValidateGroupIDs (gomock .Any (), ids ).Return (database.ValidateGroupIDsRow {}, nil ).AnyTimes ()
631
+ check .Args (ids ).Asserts (rbac .ResourceSystem , policy .ActionRead )
636
632
}))
637
633
}
638
634
0 commit comments