(t *testing.T)
| 2251 | } |
| 2252 | |
| 2253 | func TestTemplateFilterHasExternalAgent(t *testing.T) { |
| 2254 | t.Parallel() |
| 2255 | |
| 2256 | db, pubsub := dbtestutil.NewDB(t) |
| 2257 | client := coderdtest.New(t, &coderdtest.Options{ |
| 2258 | Database: db, |
| 2259 | Pubsub: pubsub, |
| 2260 | IncludeProvisionerDaemon: true, |
| 2261 | }) |
| 2262 | user := coderdtest.CreateFirstUser(t, client) |
| 2263 | |
| 2264 | jobWithExternalAgent := dbgen.ProvisionerJob(t, db, pubsub, database.ProvisionerJob{ |
| 2265 | OrganizationID: user.OrganizationID, |
| 2266 | InitiatorID: user.UserID, |
| 2267 | Tags: database.StringMap{}, |
| 2268 | Type: database.ProvisionerJobTypeTemplateVersionImport, |
| 2269 | }) |
| 2270 | jobWithoutExternalAgent := dbgen.ProvisionerJob(t, db, pubsub, database.ProvisionerJob{ |
| 2271 | OrganizationID: user.OrganizationID, |
| 2272 | InitiatorID: user.UserID, |
| 2273 | Tags: database.StringMap{}, |
| 2274 | Type: database.ProvisionerJobTypeTemplateVersionImport, |
| 2275 | }) |
| 2276 | versionWithExternalAgent := dbgen.TemplateVersion(t, db, database.TemplateVersion{ |
| 2277 | OrganizationID: user.OrganizationID, |
| 2278 | CreatedBy: user.UserID, |
| 2279 | HasExternalAgent: sql.NullBool{Bool: true, Valid: true}, |
| 2280 | JobID: jobWithExternalAgent.ID, |
| 2281 | }) |
| 2282 | versionWithoutExternalAgent := dbgen.TemplateVersion(t, db, database.TemplateVersion{ |
| 2283 | OrganizationID: user.OrganizationID, |
| 2284 | CreatedBy: user.UserID, |
| 2285 | HasExternalAgent: sql.NullBool{Bool: false, Valid: true}, |
| 2286 | JobID: jobWithoutExternalAgent.ID, |
| 2287 | }) |
| 2288 | templateWithExternalAgent := coderdtest.CreateTemplate(t, client, user.OrganizationID, versionWithExternalAgent.ID) |
| 2289 | templateWithoutExternalAgent := coderdtest.CreateTemplate(t, client, user.OrganizationID, versionWithoutExternalAgent.ID) |
| 2290 | |
| 2291 | ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) |
| 2292 | defer cancel() |
| 2293 | |
| 2294 | templates, err := client.Templates(ctx, codersdk.TemplateFilter{ |
| 2295 | SearchQuery: "has_external_agent:true", |
| 2296 | }) |
| 2297 | require.NoError(t, err) |
| 2298 | require.Len(t, templates, 1) |
| 2299 | require.Equal(t, templateWithExternalAgent.ID, templates[0].ID) |
| 2300 | |
| 2301 | templates, err = client.Templates(ctx, codersdk.TemplateFilter{ |
| 2302 | SearchQuery: "has_external_agent:false", |
| 2303 | }) |
| 2304 | require.NoError(t, err) |
| 2305 | require.Len(t, templates, 1) |
| 2306 | require.Equal(t, templateWithoutExternalAgent.ID, templates[0].ID) |
| 2307 | } |
nothing calls this directly
no test coverage detected