chore: Use dbgen in unit test (#6111)

* chore: Use dbgen in unit test

- organizationparam_test
- templateparam_test

* Use dbgen in all unit tests vs insert methods

* fixup! Use dbgen in all unit tests vs insert methods

---------

Co-authored-by: Cian Johnston <cian@coder.com>
This commit is contained in:
Steven Masley
2023-02-08 13:47:05 -06:00
committed by GitHub
parent 7a1731b620
commit 8dba66c535
12 changed files with 166 additions and 476 deletions

View File

@ -20,6 +20,7 @@ import (
"github.com/coder/coder/buildinfo"
"github.com/coder/coder/coderd/database"
"github.com/coder/coder/coderd/database/dbfake"
"github.com/coder/coder/coderd/database/dbgen"
"github.com/coder/coder/coderd/telemetry"
)
@ -37,76 +38,35 @@ func TestTelemetry(t *testing.T) {
db := dbfake.New()
ctx := context.Background()
_, err = db.InsertAPIKey(ctx, database.InsertAPIKeyParams{
ID: uuid.NewString(),
LastUsed: database.Now(),
Scope: database.APIKeyScopeAll,
LoginType: database.LoginTypePassword,
})
assert.NoError(t, err)
_, err = db.InsertParameterSchema(ctx, database.InsertParameterSchemaParams{
ID: uuid.New(),
CreatedAt: database.Now(),
_, _ = dbgen.APIKey(t, db, database.APIKey{})
_ = dbgen.ParameterSchema(t, db, database.ParameterSchema{
DefaultSourceScheme: database.ParameterSourceSchemeNone,
DefaultDestinationScheme: database.ParameterDestinationSchemeNone,
ValidationTypeSystem: database.ParameterTypeSystemNone,
})
assert.NoError(t, err)
_, err = db.InsertProvisionerJob(ctx, database.InsertProvisionerJobParams{
ID: uuid.New(),
CreatedAt: database.Now(),
_ = dbgen.ProvisionerJob(t, db, database.ProvisionerJob{
Provisioner: database.ProvisionerTypeTerraform,
StorageMethod: database.ProvisionerStorageMethodFile,
Type: database.ProvisionerJobTypeTemplateVersionDryRun,
})
assert.NoError(t, err)
_, err = db.InsertTemplate(ctx, database.InsertTemplateParams{
ID: uuid.New(),
CreatedAt: database.Now(),
_ = dbgen.Template(t, db, database.Template{
Provisioner: database.ProvisionerTypeTerraform,
})
assert.NoError(t, err)
_, err = db.InsertTemplateVersion(ctx, database.InsertTemplateVersionParams{
ID: uuid.New(),
CreatedAt: database.Now(),
})
assert.NoError(t, err)
_, err = db.InsertUser(ctx, database.InsertUserParams{
ID: uuid.New(),
CreatedAt: database.Now(),
LoginType: database.LoginTypePassword,
})
assert.NoError(t, err)
_, err = db.InsertWorkspace(ctx, database.InsertWorkspaceParams{
ID: uuid.New(),
CreatedAt: database.Now(),
})
assert.NoError(t, err)
_, err = db.InsertWorkspaceApp(ctx, database.InsertWorkspaceAppParams{
ID: uuid.New(),
CreatedAt: database.Now(),
_ = dbgen.TemplateVersion(t, db, database.TemplateVersion{})
_ = dbgen.User(t, db, database.User{})
_ = dbgen.Workspace(t, db, database.Workspace{})
_ = dbgen.WorkspaceApp(t, db, database.WorkspaceApp{
SharingLevel: database.AppSharingLevelOwner,
Health: database.WorkspaceAppHealthDisabled,
})
assert.NoError(t, err)
_, err = db.InsertWorkspaceAgent(ctx, database.InsertWorkspaceAgentParams{
ID: uuid.New(),
CreatedAt: database.Now(),
})
assert.NoError(t, err)
_, err = db.InsertWorkspaceBuild(ctx, database.InsertWorkspaceBuildParams{
ID: uuid.New(),
CreatedAt: database.Now(),
_ = dbgen.WorkspaceAgent(t, db, database.WorkspaceAgent{})
_ = dbgen.WorkspaceBuild(t, db, database.WorkspaceBuild{
Transition: database.WorkspaceTransitionStart,
Reason: database.BuildReasonAutostart,
})
assert.NoError(t, err)
_, err = db.InsertWorkspaceResource(ctx, database.InsertWorkspaceResourceParams{
ID: uuid.New(),
CreatedAt: database.Now(),
_ = dbgen.WorkspaceResource(t, db, database.WorkspaceResource{
Transition: database.WorkspaceTransitionStart,
})
assert.NoError(t, err)
_, err = db.InsertLicense(ctx, database.InsertLicenseParams{
UploadedAt: database.Now(),
JWT: "",
@ -133,13 +93,9 @@ func TestTelemetry(t *testing.T) {
t.Run("HashedEmail", func(t *testing.T) {
t.Parallel()
db := dbfake.New()
_, err := db.InsertUser(context.Background(), database.InsertUserParams{
ID: uuid.New(),
Email: "kyle@coder.com",
CreatedAt: database.Now(),
LoginType: database.LoginTypePassword,
_ = dbgen.User(t, db, database.User{
Email: "kyle@coder.com",
})
require.NoError(t, err)
_, snapshot := collectSnapshot(t, db)
require.Len(t, snapshot.Users, 1)
require.Equal(t, snapshot.Users[0].EmailHashed, "bb44bf07cf9a2db0554bba63a03d822c927deae77df101874496df5a6a3e896d@coder.com")