@@ -44,7 +44,7 @@ func NewGenerator(t *testing.T, db database.Store) *Generator {
44
44
// specified.
45
45
func (g * Generator ) PrimaryOrg (ctx context.Context ) database.Organization {
46
46
if g .primaryOrg == nil {
47
- org := g .Organization (ctx , "primary-org" , database.Organization {
47
+ org := g .Organization (ctx , database.Organization {
48
48
ID : g .Lookup (primaryOrgName ),
49
49
Name : primaryOrgName ,
50
50
Description : "This is the default primary organization for all tests" ,
@@ -81,11 +81,8 @@ func (g *Generator) RandomName() string {
81
81
}
82
82
}
83
83
84
- func (g * Generator ) APIKey (ctx context.Context , name string , seed database.APIKey ) (key database.APIKey , token string ) {
85
- if name == "" {
86
- name = g .RandomName ()
87
- }
88
-
84
+ func (g * Generator ) APIKey (ctx context.Context , seed database.APIKey ) (key database.APIKey , token string ) {
85
+ name := g .RandomName ()
89
86
out := g .Populate (ctx , map [string ]interface {}{
90
87
name : seed ,
91
88
})
@@ -96,40 +93,44 @@ func (g *Generator) APIKey(ctx context.Context, name string, seed database.APIKe
96
93
return key , fmt .Sprintf ("%s-%s" , key .ID , secret )
97
94
}
98
95
99
- func (g * Generator ) WorkspaceResource (ctx context.Context , name string , seed database.WorkspaceResource ) database.WorkspaceResource {
100
- return populate (ctx , g , name , seed )
96
+ func (g * Generator ) UserLink (ctx context.Context , seed database.UserLink ) database.UserLink {
97
+ return populate (ctx , g , "" , seed )
98
+ }
99
+
100
+ func (g * Generator ) WorkspaceResource (ctx context.Context , seed database.WorkspaceResource ) database.WorkspaceResource {
101
+ return populate (ctx , g , "" , seed )
101
102
}
102
103
103
- func (g * Generator ) Job (ctx context.Context , name string , seed database.ProvisionerJob ) database.ProvisionerJob {
104
- return populate (ctx , g , name , seed )
104
+ func (g * Generator ) Job (ctx context.Context , seed database.ProvisionerJob ) database.ProvisionerJob {
105
+ return populate (ctx , g , "" , seed )
105
106
}
106
107
107
- func (g * Generator ) Group (ctx context.Context , name string , seed database.Group ) database.Group {
108
- return populate (ctx , g , name , seed )
108
+ func (g * Generator ) Group (ctx context.Context , seed database.Group ) database.Group {
109
+ return populate (ctx , g , "" , seed )
109
110
}
110
111
111
- func (g * Generator ) Organization (ctx context.Context , name string , seed database.Organization ) database.Organization {
112
- return populate (ctx , g , name , seed )
112
+ func (g * Generator ) Organization (ctx context.Context , seed database.Organization ) database.Organization {
113
+ return populate (ctx , g , "" , seed )
113
114
}
114
115
115
- func (g * Generator ) Workspace (ctx context.Context , name string , seed database.Workspace ) database.Workspace {
116
- return populate (ctx , g , name , seed )
116
+ func (g * Generator ) Workspace (ctx context.Context , seed database.Workspace ) database.Workspace {
117
+ return populate (ctx , g , "" , seed )
117
118
}
118
119
119
- func (g * Generator ) Template (ctx context.Context , name string , seed database.Template ) database.Template {
120
- return populate (ctx , g , name , seed )
120
+ func (g * Generator ) Template (ctx context.Context , seed database.Template ) database.Template {
121
+ return populate (ctx , g , "" , seed )
121
122
}
122
123
123
- func (g * Generator ) TemplateVersion (ctx context.Context , name string , seed database.TemplateVersion ) database.TemplateVersion {
124
- return populate (ctx , g , name , seed )
124
+ func (g * Generator ) TemplateVersion (ctx context.Context , seed database.TemplateVersion ) database.TemplateVersion {
125
+ return populate (ctx , g , "" , seed )
125
126
}
126
127
127
- func (g * Generator ) WorkspaceBuild (ctx context.Context , name string , seed database.WorkspaceBuild ) database.WorkspaceBuild {
128
- return populate (ctx , g , name , seed )
128
+ func (g * Generator ) WorkspaceBuild (ctx context.Context , seed database.WorkspaceBuild ) database.WorkspaceBuild {
129
+ return populate (ctx , g , "" , seed )
129
130
}
130
131
131
- func (g * Generator ) User (ctx context.Context , name string , seed database.User ) database.User {
132
- return populate (ctx , g , name , seed )
132
+ func (g * Generator ) User (ctx context.Context , seed database.User ) database.User {
133
+ return populate (ctx , g , "" , seed )
133
134
}
134
135
135
136
func (g * Generator ) Populate (ctx context.Context , seed map [string ]interface {}) map [string ]interface {} {
@@ -144,8 +145,9 @@ func (g *Generator) Populate(ctx context.Context, seed map[string]interface{}) m
144
145
hashed := sha256 .Sum256 ([]byte (secret ))
145
146
146
147
key , err := db .InsertAPIKey (ctx , database.InsertAPIKeyParams {
147
- ID : takeFirst (orig .ID , id ),
148
- LifetimeSeconds : takeFirst (orig .LifetimeSeconds , 3600 ),
148
+ ID : takeFirst (orig .ID , id ),
149
+ // 0 defaults to 86400 at the db layer
150
+ LifetimeSeconds : takeFirst (orig .LifetimeSeconds , 0 ),
149
151
HashedSecret : takeFirstBytes (orig .HashedSecret , hashed [:]),
150
152
IPAddress : pqtype.Inet {},
151
153
UserID : takeFirst (orig .UserID , uuid .New ()),
@@ -291,6 +293,20 @@ func (g *Generator) Populate(ctx context.Context, seed map[string]interface{}) m
291
293
require .NoError (t , err , "insert resource" )
292
294
293
295
seed [name ] = resource
296
+
297
+ case database.UserLink :
298
+ link , err := db .InsertUserLink (ctx , database.InsertUserLinkParams {
299
+ UserID : takeFirst (orig .UserID , uuid .New ()),
300
+ LoginType : takeFirst (orig .LoginType , database .LoginTypeGithub ),
301
+ LinkedID : takeFirst (orig .LinkedID ),
302
+ OAuthAccessToken : takeFirst (orig .OAuthAccessToken , uuid .NewString ()),
303
+ OAuthRefreshToken : takeFirst (orig .OAuthAccessToken , uuid .NewString ()),
304
+ OAuthExpiry : takeFirstTime (orig .OAuthExpiry , time .Now ().Add (time .Hour * 24 )),
305
+ })
306
+
307
+ require .NoError (t , err , "insert link" )
308
+
309
+ seed [name ] = link
294
310
}
295
311
}
296
312
return seed
0 commit comments