@@ -14,7 +14,6 @@ import (
14
14
"slices"
15
15
"sort"
16
16
"strings"
17
- "sync"
18
17
"time"
19
18
20
19
"github.com/google/uuid"
@@ -23,9 +22,10 @@ import (
23
22
"golang.org/x/exp/maps"
24
23
"golang.org/x/xerrors"
25
24
25
+ "github.com/coder/coder/v2/coderd/notifications/types"
26
+
26
27
"github.com/coder/coder/v2/coderd/database"
27
28
"github.com/coder/coder/v2/coderd/database/dbtime"
28
- "github.com/coder/coder/v2/coderd/notifications/types"
29
29
"github.com/coder/coder/v2/coderd/rbac"
30
30
"github.com/coder/coder/v2/coderd/rbac/regosql"
31
31
"github.com/coder/coder/v2/coderd/util/slice"
@@ -51,127 +51,7 @@ var (
51
51
52
52
// New returns an in-memory fake of the database.
53
53
func New () database.Store {
54
- q := & FakeQuerier {
55
- mutex : & sync.RWMutex {},
56
- data : & data {
57
- apiKeys : make ([]database.APIKey , 0 ),
58
- auditLogs : make ([]database.AuditLog , 0 ),
59
- customRoles : make ([]database.CustomRole , 0 ),
60
- dbcryptKeys : make ([]database.DBCryptKey , 0 ),
61
- externalAuthLinks : make ([]database.ExternalAuthLink , 0 ),
62
- files : make ([]database.File , 0 ),
63
- gitSSHKey : make ([]database.GitSSHKey , 0 ),
64
- groups : make ([]database.Group , 0 ),
65
- groupMembers : make ([]database.GroupMemberTable , 0 ),
66
- licenses : make ([]database.License , 0 ),
67
- locks : map [int64 ]struct {}{},
68
- notificationMessages : make ([]database.NotificationMessage , 0 ),
69
- notificationPreferences : make ([]database.NotificationPreference , 0 ),
70
- organizationMembers : make ([]database.OrganizationMember , 0 ),
71
- organizations : make ([]database.Organization , 0 ),
72
- inboxNotifications : make ([]database.InboxNotification , 0 ),
73
- parameterSchemas : make ([]database.ParameterSchema , 0 ),
74
- presets : make ([]database.TemplateVersionPreset , 0 ),
75
- presetParameters : make ([]database.TemplateVersionPresetParameter , 0 ),
76
- presetPrebuildSchedules : make ([]database.TemplateVersionPresetPrebuildSchedule , 0 ),
77
- provisionerDaemons : make ([]database.ProvisionerDaemon , 0 ),
78
- provisionerJobs : make ([]database.ProvisionerJob , 0 ),
79
- provisionerJobLogs : make ([]database.ProvisionerJobLog , 0 ),
80
- provisionerKeys : make ([]database.ProvisionerKey , 0 ),
81
- runtimeConfig : map [string ]string {},
82
- telemetryItems : make ([]database.TelemetryItem , 0 ),
83
- templateVersions : make ([]database.TemplateVersionTable , 0 ),
84
- templateVersionTerraformValues : make ([]database.TemplateVersionTerraformValue , 0 ),
85
- templates : make ([]database.TemplateTable , 0 ),
86
- users : make ([]database.User , 0 ),
87
- userConfigs : make ([]database.UserConfig , 0 ),
88
- userStatusChanges : make ([]database.UserStatusChange , 0 ),
89
- workspaceAgents : make ([]database.WorkspaceAgent , 0 ),
90
- workspaceResources : make ([]database.WorkspaceResource , 0 ),
91
- workspaceModules : make ([]database.WorkspaceModule , 0 ),
92
- workspaceResourceMetadata : make ([]database.WorkspaceResourceMetadatum , 0 ),
93
- workspaceAgentStats : make ([]database.WorkspaceAgentStat , 0 ),
94
- workspaceAgentLogs : make ([]database.WorkspaceAgentLog , 0 ),
95
- workspaceBuilds : make ([]database.WorkspaceBuild , 0 ),
96
- workspaceApps : make ([]database.WorkspaceApp , 0 ),
97
- workspaceAppAuditSessions : make ([]database.WorkspaceAppAuditSession , 0 ),
98
- workspaces : make ([]database.WorkspaceTable , 0 ),
99
- workspaceProxies : make ([]database.WorkspaceProxy , 0 ),
100
- },
101
- }
102
- // Always start with a default org. Matching migration 198.
103
- defaultOrg , err := q .InsertOrganization (context .Background (), database.InsertOrganizationParams {
104
- ID : uuid .New (),
105
- Name : "coder" ,
106
- DisplayName : "Coder" ,
107
- Description : "Builtin default organization." ,
108
- Icon : "" ,
109
- CreatedAt : dbtime .Now (),
110
- UpdatedAt : dbtime .Now (),
111
- })
112
- if err != nil {
113
- panic (xerrors .Errorf ("failed to create default organization: %w" , err ))
114
- }
115
-
116
- _ , err = q .InsertAllUsersGroup (context .Background (), defaultOrg .ID )
117
- if err != nil {
118
- panic (xerrors .Errorf ("failed to create default group: %w" , err ))
119
- }
120
-
121
- q .defaultProxyDisplayName = "Default"
122
- q .defaultProxyIconURL = "/emojis/1f3e1.png"
123
-
124
- _ , err = q .InsertProvisionerKey (context .Background (), database.InsertProvisionerKeyParams {
125
- ID : codersdk .ProvisionerKeyUUIDBuiltIn ,
126
- OrganizationID : defaultOrg .ID ,
127
- CreatedAt : dbtime .Now (),
128
- HashedSecret : []byte {},
129
- Name : codersdk .ProvisionerKeyNameBuiltIn ,
130
- Tags : map [string ]string {},
131
- })
132
- if err != nil {
133
- panic (xerrors .Errorf ("failed to create built-in provisioner key: %w" , err ))
134
- }
135
- _ , err = q .InsertProvisionerKey (context .Background (), database.InsertProvisionerKeyParams {
136
- ID : codersdk .ProvisionerKeyUUIDUserAuth ,
137
- OrganizationID : defaultOrg .ID ,
138
- CreatedAt : dbtime .Now (),
139
- HashedSecret : []byte {},
140
- Name : codersdk .ProvisionerKeyNameUserAuth ,
141
- Tags : map [string ]string {},
142
- })
143
- if err != nil {
144
- panic (xerrors .Errorf ("failed to create user-auth provisioner key: %w" , err ))
145
- }
146
- _ , err = q .InsertProvisionerKey (context .Background (), database.InsertProvisionerKeyParams {
147
- ID : codersdk .ProvisionerKeyUUIDPSK ,
148
- OrganizationID : defaultOrg .ID ,
149
- CreatedAt : dbtime .Now (),
150
- HashedSecret : []byte {},
151
- Name : codersdk .ProvisionerKeyNamePSK ,
152
- Tags : map [string ]string {},
153
- })
154
- if err != nil {
155
- panic (xerrors .Errorf ("failed to create psk provisioner key: %w" , err ))
156
- }
157
-
158
- q .mutex .Lock ()
159
- // We can't insert this user using the interface, because it's a system user.
160
- q .data .users = append (q .data .users , database.User {
161
- ID : database .PrebuildsSystemUserID ,
162
- Email : "prebuilds@coder.com" ,
163
- Username : "prebuilds" ,
164
- CreatedAt : dbtime .Now (),
165
- UpdatedAt : dbtime .Now (),
166
- Status : "active" ,
167
- LoginType : "none" ,
168
- HashedPassword : []byte {},
169
- IsSystem : true ,
170
- Deleted : false ,
171
- })
172
- q .mutex .Unlock ()
173
-
174
- return q
54
+ panic ("dbmem created" )
175
55
}
176
56
177
57
type rwMutex interface {
0 commit comments