@@ -859,6 +859,78 @@ func (s *MethodTestSuite) TestOrganization() {
859859 rbac .ResourceAssignOrgRole .InOrg (o .ID ), policy .ActionAssign ,
860860 rbac .ResourceOrganizationMember .InOrg (o .ID ).WithID (u .ID ), policy .ActionCreate )
861861 }))
862+ s .Run ("InsertPreset" , s .Subtest (func (db database.Store , check * expects ) {
863+ org := dbgen .Organization (s .T (), db , database.Organization {})
864+ user := dbgen .User (s .T (), db , database.User {})
865+ template := dbgen .Template (s .T (), db , database.Template {
866+ CreatedBy : user .ID ,
867+ OrganizationID : org .ID ,
868+ })
869+ templateVersion := dbgen .TemplateVersion (s .T (), db , database.TemplateVersion {
870+ TemplateID : uuid.NullUUID {UUID : template .ID , Valid : true },
871+ OrganizationID : org .ID ,
872+ CreatedBy : user .ID ,
873+ })
874+ workspace := dbgen .Workspace (s .T (), db , database.WorkspaceTable {
875+ OrganizationID : org .ID ,
876+ OwnerID : user .ID ,
877+ TemplateID : template .ID ,
878+ })
879+ job := dbgen .ProvisionerJob (s .T (), db , nil , database.ProvisionerJob {
880+ OrganizationID : org .ID ,
881+ })
882+ workspaceBuild := dbgen .WorkspaceBuild (s .T (), db , database.WorkspaceBuild {
883+ WorkspaceID : workspace .ID ,
884+ TemplateVersionID : templateVersion .ID ,
885+ InitiatorID : user .ID ,
886+ JobID : job .ID ,
887+ })
888+ insertPresetParams := database.InsertPresetParams {
889+ ID : uuid .New (),
890+ TemplateVersionID : workspaceBuild .TemplateVersionID ,
891+ Name : "test" ,
892+ }
893+ check .Args (insertPresetParams ).Asserts (rbac .ResourceTemplate , policy .ActionUpdate )
894+ }))
895+ s .Run ("InsertPresetParameters" , s .Subtest (func (db database.Store , check * expects ) {
896+ org := dbgen .Organization (s .T (), db , database.Organization {})
897+ user := dbgen .User (s .T (), db , database.User {})
898+ template := dbgen .Template (s .T (), db , database.Template {
899+ CreatedBy : user .ID ,
900+ OrganizationID : org .ID ,
901+ })
902+ templateVersion := dbgen .TemplateVersion (s .T (), db , database.TemplateVersion {
903+ TemplateID : uuid.NullUUID {UUID : template .ID , Valid : true },
904+ OrganizationID : org .ID ,
905+ CreatedBy : user .ID ,
906+ })
907+ workspace := dbgen .Workspace (s .T (), db , database.WorkspaceTable {
908+ OrganizationID : org .ID ,
909+ OwnerID : user .ID ,
910+ TemplateID : template .ID ,
911+ })
912+ job := dbgen .ProvisionerJob (s .T (), db , nil , database.ProvisionerJob {
913+ OrganizationID : org .ID ,
914+ })
915+ workspaceBuild := dbgen .WorkspaceBuild (s .T (), db , database.WorkspaceBuild {
916+ WorkspaceID : workspace .ID ,
917+ TemplateVersionID : templateVersion .ID ,
918+ InitiatorID : user .ID ,
919+ JobID : job .ID ,
920+ })
921+ insertPresetParams := database.InsertPresetParams {
922+ TemplateVersionID : workspaceBuild .TemplateVersionID ,
923+ Name : "test" ,
924+ }
925+ preset , err := db .InsertPreset (context .Background (), insertPresetParams )
926+ require .NoError (s .T (), err )
927+ insertPresetParametersParams := database.InsertPresetParametersParams {
928+ TemplateVersionPresetID : preset .ID ,
929+ Names : []string {"test" },
930+ Values : []string {"test" },
931+ }
932+ check .Args (insertPresetParametersParams ).Asserts (rbac .ResourceTemplate , policy .ActionUpdate )
933+ }))
862934 s .Run ("DeleteOrganizationMember" , s .Subtest (func (db database.Store , check * expects ) {
863935 o := dbgen .Organization (s .T (), db , database.Organization {})
864936 u := dbgen .User (s .T (), db , database.User {})
@@ -3695,6 +3767,98 @@ func (s *MethodTestSuite) TestSystemFunctions() {
36953767 ErrorsWithInMemDB (sql .ErrNoRows ).
36963768 Returns ([]database.ParameterSchema {})
36973769 }))
3770+ s .Run ("GetPresetByWorkspaceBuildID" , s .Subtest (func (db database.Store , check * expects ) {
3771+ org := dbgen .Organization (s .T (), db , database.Organization {})
3772+ user := dbgen .User (s .T (), db , database.User {})
3773+ template := dbgen .Template (s .T (), db , database.Template {
3774+ CreatedBy : user .ID ,
3775+ OrganizationID : org .ID ,
3776+ })
3777+ templateVersion := dbgen .TemplateVersion (s .T (), db , database.TemplateVersion {
3778+ TemplateID : uuid.NullUUID {UUID : template .ID , Valid : true },
3779+ OrganizationID : org .ID ,
3780+ CreatedBy : user .ID ,
3781+ })
3782+ preset , err := db .InsertPreset (context .Background (), database.InsertPresetParams {
3783+ TemplateVersionID : templateVersion .ID ,
3784+ Name : "test" ,
3785+ })
3786+ require .NoError (s .T (), err )
3787+ workspace := dbgen .Workspace (s .T (), db , database.WorkspaceTable {
3788+ OrganizationID : org .ID ,
3789+ OwnerID : user .ID ,
3790+ TemplateID : template .ID ,
3791+ })
3792+ job := dbgen .ProvisionerJob (s .T (), db , nil , database.ProvisionerJob {
3793+ OrganizationID : org .ID ,
3794+ })
3795+ workspaceBuild := dbgen .WorkspaceBuild (s .T (), db , database.WorkspaceBuild {
3796+ WorkspaceID : workspace .ID ,
3797+ TemplateVersionID : templateVersion .ID ,
3798+ TemplateVersionPresetID : uuid.NullUUID {UUID : preset .ID , Valid : true },
3799+ InitiatorID : user .ID ,
3800+ JobID : job .ID ,
3801+ })
3802+ _ , err = db .GetPresetByWorkspaceBuildID (context .Background (), workspaceBuild .ID )
3803+ require .NoError (s .T (), err )
3804+ check .Args (workspaceBuild .ID ).Asserts (rbac .ResourceTemplate , policy .ActionRead )
3805+ }))
3806+ s .Run ("GetPresetParametersByTemplateVersionID" , s .Subtest (func (db database.Store , check * expects ) {
3807+ ctx := context .Background ()
3808+ org := dbgen .Organization (s .T (), db , database.Organization {})
3809+ user := dbgen .User (s .T (), db , database.User {})
3810+ template := dbgen .Template (s .T (), db , database.Template {
3811+ CreatedBy : user .ID ,
3812+ OrganizationID : org .ID ,
3813+ })
3814+ templateVersion := dbgen .TemplateVersion (s .T (), db , database.TemplateVersion {
3815+ TemplateID : uuid.NullUUID {UUID : template .ID , Valid : true },
3816+ OrganizationID : org .ID ,
3817+ CreatedBy : user .ID ,
3818+ })
3819+ preset , err := db .InsertPreset (ctx , database.InsertPresetParams {
3820+ ID : uuid .New (),
3821+ TemplateVersionID : templateVersion .ID ,
3822+ Name : "test" ,
3823+ })
3824+ require .NoError (s .T (), err )
3825+ _ , err = db .InsertPresetParameters (ctx , database.InsertPresetParametersParams {
3826+ ID : uuid .New (),
3827+ TemplateVersionPresetID : preset .ID ,
3828+ Names : []string {"test" },
3829+ Values : []string {"test" },
3830+ })
3831+ require .NoError (s .T (), err )
3832+ presetParameters , err := db .GetPresetParametersByTemplateVersionID (ctx , templateVersion .ID )
3833+ require .NoError (s .T (), err )
3834+
3835+ check .Args (templateVersion .ID ).Asserts (template .RBACObject (), policy .ActionRead ).Returns (presetParameters )
3836+ }))
3837+ s .Run ("GetPresetsByTemplateVersionID" , s .Subtest (func (db database.Store , check * expects ) {
3838+ ctx := context .Background ()
3839+ org := dbgen .Organization (s .T (), db , database.Organization {})
3840+ user := dbgen .User (s .T (), db , database.User {})
3841+ template := dbgen .Template (s .T (), db , database.Template {
3842+ CreatedBy : user .ID ,
3843+ OrganizationID : org .ID ,
3844+ })
3845+ templateVersion := dbgen .TemplateVersion (s .T (), db , database.TemplateVersion {
3846+ TemplateID : uuid.NullUUID {UUID : template .ID , Valid : true },
3847+ OrganizationID : org .ID ,
3848+ CreatedBy : user .ID ,
3849+ })
3850+
3851+ _ , err := db .InsertPreset (ctx , database.InsertPresetParams {
3852+ TemplateVersionID : templateVersion .ID ,
3853+ Name : "test" ,
3854+ })
3855+ require .NoError (s .T (), err )
3856+
3857+ presets , err := db .GetPresetsByTemplateVersionID (ctx , templateVersion .ID )
3858+ require .NoError (s .T (), err )
3859+
3860+ check .Args (templateVersion .ID ).Asserts (template .RBACObject (), policy .ActionRead ).Returns (presets )
3861+ }))
36983862 s .Run ("GetWorkspaceAppsByAgentIDs" , s .Subtest (func (db database.Store , check * expects ) {
36993863 dbtestutil .DisableForeignKeysAndTriggers (s .T (), db )
37003864 aWs := dbgen .Workspace (s .T (), db , database.WorkspaceTable {})
0 commit comments