mirror of https://github.com/coder/coder.git
fix: filter workspace_build resource on start/stop action (#5809)
* fix: ufilter workspace_build resource on start/stop action * added preset filter for workspace_build filtering * cleaning up the preset filters
This commit is contained in:
parent
918c37c358
commit
0e58772f5b
|
@ -478,6 +478,10 @@ func actionFromString(actionString string) string {
|
|||
return actionString
|
||||
case codersdk.AuditActionDelete:
|
||||
return actionString
|
||||
case codersdk.AuditActionStart:
|
||||
return actionString
|
||||
case codersdk.AuditActionStop:
|
||||
return actionString
|
||||
default:
|
||||
}
|
||||
return ""
|
||||
|
|
|
@ -46,12 +46,15 @@ func TestAuditLogsFilter(t *testing.T) {
|
|||
|
||||
var (
|
||||
ctx = context.Background()
|
||||
client = coderdtest.New(t, nil)
|
||||
client = coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
|
||||
user = coderdtest.CreateFirstUser(t, client)
|
||||
version = coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, nil)
|
||||
template = coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID)
|
||||
)
|
||||
|
||||
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
|
||||
workspace := coderdtest.CreateWorkspace(t, client, user.OrganizationID, template.ID)
|
||||
|
||||
// Create two logs with "Create"
|
||||
err := client.CreateTestAuditLog(ctx, codersdk.CreateTestAuditLogRequest{
|
||||
Action: codersdk.AuditActionCreate,
|
||||
|
@ -77,6 +80,24 @@ func TestAuditLogsFilter(t *testing.T) {
|
|||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
// Create one log with "Start"
|
||||
err = client.CreateTestAuditLog(ctx, codersdk.CreateTestAuditLogRequest{
|
||||
Action: codersdk.AuditActionStart,
|
||||
ResourceType: codersdk.ResourceTypeWorkspaceBuild,
|
||||
ResourceID: workspace.LatestBuild.ID,
|
||||
Time: time.Date(2022, 8, 15, 14, 30, 45, 100, time.UTC), // 2022-8-15 14:30:45
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
// Create one log with "Stop"
|
||||
err = client.CreateTestAuditLog(ctx, codersdk.CreateTestAuditLogRequest{
|
||||
Action: codersdk.AuditActionStop,
|
||||
ResourceType: codersdk.ResourceTypeWorkspaceBuild,
|
||||
ResourceID: workspace.LatestBuild.ID,
|
||||
Time: time.Date(2022, 8, 15, 14, 30, 45, 100, time.UTC), // 2022-8-15 14:30:45
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
// Test cases
|
||||
testCases := []struct {
|
||||
Name string
|
||||
|
@ -106,12 +127,12 @@ func TestAuditLogsFilter(t *testing.T) {
|
|||
{
|
||||
Name: "FilterByEmail",
|
||||
SearchQuery: "email:" + coderdtest.FirstUserParams.Email,
|
||||
ExpectedResult: 3,
|
||||
ExpectedResult: 5,
|
||||
},
|
||||
{
|
||||
Name: "FilterByUsername",
|
||||
SearchQuery: "username:" + coderdtest.FirstUserParams.Username,
|
||||
ExpectedResult: 3,
|
||||
ExpectedResult: 5,
|
||||
},
|
||||
{
|
||||
Name: "FilterByResourceID",
|
||||
|
@ -121,17 +142,17 @@ func TestAuditLogsFilter(t *testing.T) {
|
|||
{
|
||||
Name: "FilterInvalidSingleValue",
|
||||
SearchQuery: "invalid",
|
||||
ExpectedResult: 3,
|
||||
ExpectedResult: 5,
|
||||
},
|
||||
{
|
||||
Name: "FilterWithInvalidResourceType",
|
||||
SearchQuery: "resource_type:invalid",
|
||||
ExpectedResult: 3,
|
||||
ExpectedResult: 5,
|
||||
},
|
||||
{
|
||||
Name: "FilterWithInvalidAction",
|
||||
SearchQuery: "action:invalid",
|
||||
ExpectedResult: 3,
|
||||
ExpectedResult: 5,
|
||||
},
|
||||
{
|
||||
Name: "FilterOnCreateSingleDay",
|
||||
|
@ -148,6 +169,16 @@ func TestAuditLogsFilter(t *testing.T) {
|
|||
SearchQuery: "action:create date_to:2022-08-15",
|
||||
ExpectedResult: 1,
|
||||
},
|
||||
{
|
||||
Name: "FilterOnWorkspaceBuildStart",
|
||||
SearchQuery: "resource_type:workspace_build action:start",
|
||||
ExpectedResult: 1,
|
||||
},
|
||||
{
|
||||
Name: "FilterOnWorkspaceBuildStop",
|
||||
SearchQuery: "resource_type:workspace_build action:stop",
|
||||
ExpectedResult: 1,
|
||||
},
|
||||
}
|
||||
|
||||
for _, testCase := range testCases {
|
||||
|
|
|
@ -35,9 +35,11 @@ const presetFilters = [
|
|||
name: "Created workspaces",
|
||||
},
|
||||
{ query: "resource_type:template action:create", name: "Added templates" },
|
||||
{ query: "resource_type:user action:create", name: "Added users" },
|
||||
{ query: "resource_type:template action:delete", name: "Deleted templates" },
|
||||
{ query: "resource_type:user action:delete", name: "Deleted users" },
|
||||
{
|
||||
query: "resource_type:workspace_build action:start",
|
||||
name: "Started builds",
|
||||
},
|
||||
]
|
||||
|
||||
export interface AuditPageViewProps {
|
||||
|
|
Loading…
Reference in New Issue