Skip to content

Commit 5d6c547

Browse files
committed
Column: validation error
1 parent b6c3cde commit 5d6c547

15 files changed

+278
-245
lines changed

coderd/database/databasefake/databasefake.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2442,6 +2442,7 @@ func (q *fakeQuerier) InsertTemplateVersionParameter(_ context.Context, arg data
24422442
DefaultValue: arg.DefaultValue,
24432443
Icon: arg.Icon,
24442444
Options: arg.Options,
2445+
ValidationError: arg.ValidationError,
24452446
ValidationRegex: arg.ValidationRegex,
24462447
ValidationMin: arg.ValidationMin,
24472448
ValidationMax: arg.ValidationMax,

coderd/database/dump.sql

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ALTER TABLE template_version_parameters DROP COLUMN validation_error;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ALTER TABLE template_version_parameters ADD COLUMN validation_error text NOT NULL;
2+
3+
COMMENT ON COLUMN template_version_parameters.validation_error
4+
IS 'Validation: error displayed when the regex does not match.';

coderd/database/models.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 10 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/templateversionparameters.sql

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ INSERT INTO
1111
options,
1212
validation_regex,
1313
validation_min,
14-
validation_max
14+
validation_max,
15+
validation_error
1516
)
1617
VALUES
1718
(
@@ -25,7 +26,8 @@ VALUES
2526
$8,
2627
$9,
2728
$10,
28-
$11
29+
$11,
30+
$12
2931
) RETURNING *;
3032

3133
-- name: GetTemplateVersionParameters :many

coderd/provisionerdserver/provisionerdserver.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -647,6 +647,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
647647
Icon: richParameter.Icon,
648648
Options: options,
649649
ValidationRegex: richParameter.ValidationRegex,
650+
ValidationError: richParameter.ValidationError,
650651
ValidationMin: richParameter.ValidationMin,
651652
ValidationMax: richParameter.ValidationMax,
652653
})

coderd/templateversions.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1414,6 +1414,7 @@ func convertTemplateVersionParameter(param database.TemplateVersionParameter) (c
14141414
ValidationRegex: param.ValidationRegex,
14151415
ValidationMin: param.ValidationMin,
14161416
ValidationMax: param.ValidationMax,
1417+
ValidationError: param.ValidationError,
14171418
}, nil
14181419
}
14191420

coderd/workspacebuilds_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -883,12 +883,11 @@ func TestWorkspaceBuildValidateRichParameters(t *testing.T) {
883883
{Name: boolParameterName, Type: "bool", Mutable: true},
884884
}
885885

886-
/* FIXME
887886
regexRichParameters := []*proto.RichParameter{
888-
{Name: stringParameterName, Type: "string", Mutable: true, ValidationRegex: "[a-z]+"},
887+
{Name: stringParameterName, Type: "string", Mutable: true, ValidationRegex: "^[a-z]+$", ValidationError: "this is error"},
889888
{Name: numberParameterName, Type: "number", Mutable: true},
890889
{Name: boolParameterName, Type: "bool", Mutable: true},
891-
}*/
890+
}
892891

893892
tests := []struct {
894893
parameterName string
@@ -904,17 +903,18 @@ func TestWorkspaceBuildValidateRichParameters(t *testing.T) {
904903
{stringParameterName, "", false, stringRichParameters},
905904
{stringParameterName, "foobar", true, stringRichParameters},
906905

907-
/* FIXME can't validate build parameter "string_parameter": an error must be specified with a regex validation
908906
{stringParameterName, "abcd", true, regexRichParameters},
909-
{stringParameterName, "abcd1", false, regexRichParameters},*/
907+
{stringParameterName, "abcd1", false, regexRichParameters},
910908

911909
{boolParameterName, "true", true, boolRichParameters},
912910
{boolParameterName, "false", true, boolRichParameters},
913-
// FIXME {boolParameterName, "cat", false, boolRichParameters},
911+
{boolParameterName, "cat", false, boolRichParameters},
914912
}
915913

916914
for _, tc := range tests {
917915
t.Run(tc.parameterName+"-"+tc.value, func(t *testing.T) {
916+
t.Parallel()
917+
918918
client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
919919
user := coderdtest.CreateFirstUser(t, client)
920920
version := coderdtest.CreateTemplateVersion(t, client, user.OrganizationID, prepareEchoResponses(tc.richParameters))
@@ -928,7 +928,6 @@ func TestWorkspaceBuildValidateRichParameters(t *testing.T) {
928928
workspaceBuild := coderdtest.AwaitWorkspaceBuildJob(t, client, workspace.LatestBuild.ID)
929929
require.Equal(t, codersdk.WorkspaceStatusRunning, workspaceBuild.Status)
930930

931-
// Update build parameters
932931
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
933932
defer cancel()
934933

0 commit comments

Comments
 (0)