fix(store): keep failing_checks_block as a deprecated storage field, run the new subtests in parallel
5 files · +21 -5
M gen/ermite/storage/merge_request.pb.go +16 -3 generated file: collapsed
M internal/adapters/rpc/mergerequest_test.go +1 -0
| @@ -241,6 +241,7 @@ func TestMergeRequestServiceMarkReady(t *testing.T) { | |||
| 241 | 241 | {name: "without mr:write", err: domain.ErrForbidden, code: connect.CodePermissionDenied}, | |
| 242 | 242 | } { | |
| 243 | 243 | t.Run(tt.name, func(t *testing.T) { | |
| 244 | + | t.Parallel() | |
| 244 | 245 | mrs := mocks.NewMergeRequestService(t) | |
| 245 | 246 | title, err := domain.ParseMRTitle("Ready") | |
| 246 | 247 | require.NoError(t, err) | |
| @@ -241,6 +241,7 @@ func TestMergeRequestServiceMarkReady(t *testing.T) { | |||||
| 241 | {name: "without mr:write", err: domain.ErrForbidden, code: connect.CodePermissionDenied}, | 241 | {name: "without mr:write", err: domain.ErrForbidden, code: connect.CodePermissionDenied}, | ||
| 242 | } { | 242 | } { | ||
| 243 | t.Run(tt.name, func(t *testing.T) { | 243 | t.Run(tt.name, func(t *testing.T) { | ||
| 244 | + | t.Parallel() | |||
| 244 | mrs := mocks.NewMergeRequestService(t) | 245 | mrs := mocks.NewMergeRequestService(t) | ||
| 245 | title, err := domain.ParseMRTitle("Ready") | 246 | title, err := domain.ParseMRTitle("Ready") | ||
| 246 | require.NoError(t, err) | 247 | require.NoError(t, err) | ||
M internal/adapters/web/mr_test.go +1 -0
| @@ -302,6 +302,7 @@ func TestMergeIgnoreChecks(t *testing.T) { | |||
| 302 | 302 | t.Parallel() | |
| 303 | 303 | for _, kind := range []string{"bad", "running", "ok", ""} { | |
| 304 | 304 | t.Run(kind, func(t *testing.T) { | |
| 305 | + | t.Parallel() | |
| 305 | 306 | box := (&Server{}).mergeBox(&repoData{repo: repoWithModes(domain.MergeModes()...)}, 3, "feat", "abc", true, mergeabilityView(domain.Mergeability{State: domain.MergeabilityUpToDate}, "main")) | |
| 306 | 307 | html := renderToString(t, mergeMenu(MRPage{Box: box, ChecksSum: ChecksSummary{Kind: kind}})) | |
| 307 | 308 | if kind == "bad" || kind == "running" { | |
| @@ -302,6 +302,7 @@ func TestMergeIgnoreChecks(t *testing.T) { | |||||
| 302 | t.Parallel() | 302 | t.Parallel() | ||
| 303 | for _, kind := range []string{"bad", "running", "ok", ""} { | 303 | for _, kind := range []string{"bad", "running", "ok", ""} { | ||
| 304 | t.Run(kind, func(t *testing.T) { | 304 | t.Run(kind, func(t *testing.T) { | ||
| 305 | + | t.Parallel() | |||
| 305 | box := (&Server{}).mergeBox(&repoData{repo: repoWithModes(domain.MergeModes()...)}, 3, "feat", "abc", true, mergeabilityView(domain.Mergeability{State: domain.MergeabilityUpToDate}, "main")) | 306 | box := (&Server{}).mergeBox(&repoData{repo: repoWithModes(domain.MergeModes()...)}, 3, "feat", "abc", true, mergeabilityView(domain.Mergeability{State: domain.MergeabilityUpToDate}, "main")) | ||
| 306 | html := renderToString(t, mergeMenu(MRPage{Box: box, ChecksSum: ChecksSummary{Kind: kind}})) | 307 | html := renderToString(t, mergeMenu(MRPage{Box: box, ChecksSum: ChecksSummary{Kind: kind}})) | ||
| 307 | if kind == "bad" || kind == "running" { | 308 | if kind == "bad" || kind == "running" { | ||
M internal/adapters/web/summary_actions_test.go +1 -0
| @@ -133,6 +133,7 @@ func TestMRChecksLiveMergeControls(t *testing.T) { | |||
| 133 | 133 | head := strings.Repeat("a", domain.ObjectIDLen) | |
| 134 | 134 | for _, kind := range []string{"bad", "running", "ok", ""} { | |
| 135 | 135 | t.Run(kind, func(t *testing.T) { | |
| 136 | + | t.Parallel() | |
| 136 | 137 | runs := mocks.NewRunService(t) | |
| 137 | 138 | var checks []ports.CheckView | |
| 138 | 139 | if kind != "" { | |
| @@ -133,6 +133,7 @@ func TestMRChecksLiveMergeControls(t *testing.T) { | |||||
| 133 | head := strings.Repeat("a", domain.ObjectIDLen) | 133 | head := strings.Repeat("a", domain.ObjectIDLen) | ||
| 134 | for _, kind := range []string{"bad", "running", "ok", ""} { | 134 | for _, kind := range []string{"bad", "running", "ok", ""} { | ||
| 135 | t.Run(kind, func(t *testing.T) { | 135 | t.Run(kind, func(t *testing.T) { | ||
| 136 | + | t.Parallel() | |||
| 136 | runs := mocks.NewRunService(t) | 137 | runs := mocks.NewRunService(t) | ||
| 137 | var checks []ports.CheckView | 138 | var checks []ports.CheckView | ||
| 138 | if kind != "" { | 139 | if kind != "" { | ||
M proto/ermite/storage/merge_request.proto +2 -2
| @@ -22,8 +22,8 @@ enum MergeMode { | |||
| 22 | 22 | message RepoSettings { | |
| 23 | 23 | // Never empty once stored. | |
| 24 | 24 | repeated MergeMode allowed_merge_modes = 1; | |
| 25 | - | reserved 2; | |
| 26 | - | reserved "failing_checks_block"; | |
| 25 | + | // Unused: never read, never written. | |
| 26 | + | bool failing_checks_block = 2 [deprecated = true]; | |
| 27 | 27 | // Who may write issues; unspecified reads as off. | |
| 28 | 28 | IssuesMode issues = 3; | |
| 29 | 29 | // Set on every write since merge commits exist: the modes are the explicit | |
| @@ -22,8 +22,8 @@ enum MergeMode { | |||||
| 22 | message RepoSettings { | 22 | message RepoSettings { | ||
| 23 | // Never empty once stored. | 23 | // Never empty once stored. | ||
| 24 | repeated MergeMode allowed_merge_modes = 1; | 24 | repeated MergeMode allowed_merge_modes = 1; | ||
| 25 | - | reserved 2; | 25 | + | // Unused: never read, never written. |
| 26 | - | reserved "failing_checks_block"; | 26 | + | bool failing_checks_block = 2 [deprecated = true]; |
| 27 | // Who may write issues; unspecified reads as off. | 27 | // Who may write issues; unspecified reads as off. | ||
| 28 | IssuesMode issues = 3; | 28 | IssuesMode issues = 3; | ||
| 29 | // Set on every write since merge commits exist: the modes are the explicit | 29 | // Set on every write since merge commits exist: the modes are the explicit | ||