| 1425 | } |
| 1426 | |
| 1427 | func WorkspaceProxy(t testing.TB, db database.Store, orig database.WorkspaceProxy) (database.WorkspaceProxy, string) { |
| 1428 | secret, hashedSecret, err := apikey.GenerateSecret(64) |
| 1429 | require.NoError(t, err, "generate secret") |
| 1430 | |
| 1431 | proxy, err := db.InsertWorkspaceProxy(genCtx, database.InsertWorkspaceProxyParams{ |
| 1432 | ID: takeFirst(orig.ID, uuid.New()), |
| 1433 | Name: takeFirst(orig.Name, testutil.GetRandomName(t)), |
| 1434 | DisplayName: takeFirst(orig.DisplayName, testutil.GetRandomName(t)), |
| 1435 | Icon: takeFirst(orig.Icon, testutil.GetRandomName(t)), |
| 1436 | TokenHashedSecret: hashedSecret, |
| 1437 | CreatedAt: takeFirst(orig.CreatedAt, dbtime.Now()), |
| 1438 | UpdatedAt: takeFirst(orig.UpdatedAt, dbtime.Now()), |
| 1439 | DerpEnabled: takeFirst(orig.DerpEnabled, false), |
| 1440 | DerpOnly: takeFirst(orig.DerpEnabled, false), |
| 1441 | }) |
| 1442 | require.NoError(t, err, "insert proxy") |
| 1443 | |
| 1444 | // Also set these fields if the caller wants them. |
| 1445 | if orig.Url != "" || orig.WildcardHostname != "" { |
| 1446 | proxy, err = db.RegisterWorkspaceProxy(genCtx, database.RegisterWorkspaceProxyParams{ |
| 1447 | Url: orig.Url, |
| 1448 | WildcardHostname: orig.WildcardHostname, |
| 1449 | ID: proxy.ID, |
| 1450 | }) |
| 1451 | require.NoError(t, err, "update proxy") |
| 1452 | } |
| 1453 | return proxy, secret |
| 1454 | } |
| 1455 | |
| 1456 | func File(t testing.TB, db database.Store, orig database.File) database.File { |
| 1457 | file, err := db.InsertFile(genCtx, database.InsertFileParams{ |