fix: add workspace_proxy type to auditlog friendly strings (#9194)

* fix: add workspace_proxy type to auditlog friendly strings
* add unit test and organization type
This commit is contained in:
Steven Masley
2023-08-21 10:53:41 -05:00
committed by GitHub
parent 07188b123a
commit b2ca3ebaa3
6 changed files with 38 additions and 4 deletions
+6 -2
View File
@@ -9281,7 +9281,9 @@ const docTemplate = `{
"api_key",
"group",
"license",
"convert_login"
"convert_login",
"workspace_proxy",
"organization"
],
"x-enum-varnames": [
"ResourceTypeTemplate",
@@ -9293,7 +9295,9 @@ const docTemplate = `{
"ResourceTypeAPIKey",
"ResourceTypeGroup",
"ResourceTypeLicense",
"ResourceTypeConvertLogin"
"ResourceTypeConvertLogin",
"ResourceTypeWorkspaceProxy",
"ResourceTypeOrganization"
]
},
"codersdk.Response": {
+6 -2
View File
@@ -8354,7 +8354,9 @@
"api_key",
"group",
"license",
"convert_login"
"convert_login",
"workspace_proxy",
"organization"
],
"x-enum-varnames": [
"ResourceTypeTemplate",
@@ -8366,7 +8368,9 @@
"ResourceTypeAPIKey",
"ResourceTypeGroup",
"ResourceTypeLicense",
"ResourceTypeConvertLogin"
"ResourceTypeConvertLogin",
"ResourceTypeWorkspaceProxy",
"ResourceTypeOrganization"
]
},
"codersdk.Response": {
+14
View File
@@ -5,10 +5,24 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/codersdk"
)
// TestAuditDBEnumsCovered ensures that all enums in the database are covered by the codersdk enums
// for audit log strings.
func TestAuditDBEnumsCovered(t *testing.T) {
t.Parallel()
dbTypes := database.AllResourceTypeValues()
for _, ty := range dbTypes {
str := codersdk.ResourceType(ty).FriendlyString()
require.NotEqualf(t, "unknown", str, "ResourceType %q not covered by codersdk.ResourceType", ty)
}
}
// TestViewSubsetTemplate ensures TemplateTable is a subset of Template
func TestViewSubsetTemplate(t *testing.T) {
t.Parallel()
+6
View File
@@ -24,6 +24,8 @@ const (
ResourceTypeGroup ResourceType = "group"
ResourceTypeLicense ResourceType = "license"
ResourceTypeConvertLogin ResourceType = "convert_login"
ResourceTypeWorkspaceProxy ResourceType = "workspace_proxy"
ResourceTypeOrganization ResourceType = "organization"
)
func (r ResourceType) FriendlyString() string {
@@ -50,6 +52,10 @@ func (r ResourceType) FriendlyString() string {
return "license"
case ResourceTypeConvertLogin:
return "login type conversion"
case ResourceTypeWorkspaceProxy:
return "workspace proxy"
case ResourceTypeOrganization:
return "organization"
default:
return "unknown"
}
+2
View File
@@ -3987,6 +3987,8 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
| `group` |
| `license` |
| `convert_login` |
| `workspace_proxy` |
| `organization` |
## codersdk.Response
+4
View File
@@ -1785,22 +1785,26 @@ export type ResourceType =
| "git_ssh_key"
| "group"
| "license"
| "organization"
| "template"
| "template_version"
| "user"
| "workspace"
| "workspace_build"
| "workspace_proxy"
export const ResourceTypes: ResourceType[] = [
"api_key",
"convert_login",
"git_ssh_key",
"group",
"license",
"organization",
"template",
"template_version",
"user",
"workspace",
"workspace_build",
"workspace_proxy",
]
// From codersdk/serversentevents.go