Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5e19e2a

Browse files
committed
revert test removal'
1 parent2cb01cc commit5e19e2a

File tree

1 file changed

+160
-160
lines changed

1 file changed

+160
-160
lines changed

‎provider/parameter_test.go

Lines changed: 160 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,166 @@ data "coder_parameter" "region" {
689689
}
690690
}
691691

692-
<<<<<<<HEAD
692+
funcTestParameterValidation(t*testing.T) {
693+
t.Parallel()
694+
opts:=func(vals...string) []provider.Option {
695+
options:=make([]provider.Option,0,len(vals))
696+
for_,val:=rangevals {
697+
options=append(options, provider.Option{
698+
Name:val,
699+
Value:val,
700+
})
701+
}
702+
returnoptions
703+
}
704+
705+
for_,tc:=range []struct {
706+
Namestring
707+
Parameter provider.Parameter
708+
Valuestring
709+
ExpectError*regexp.Regexp
710+
}{
711+
{
712+
Name:"ValidStringParameter",
713+
Parameter: provider.Parameter{
714+
Type:"string",
715+
},
716+
Value:"alpha",
717+
},
718+
// Test invalid states
719+
{
720+
Name:"InvalidFormType",
721+
Parameter: provider.Parameter{
722+
Type:"string",
723+
Option:opts("alpha","bravo","charlie"),
724+
FormType:provider.ParameterFormTypeSlider,
725+
},
726+
Value:"alpha",
727+
ExpectError:regexp.MustCompile("Invalid form_type for parameter"),
728+
},
729+
{
730+
Name:"NotInOptions",
731+
Parameter: provider.Parameter{
732+
Type:"string",
733+
Option:opts("alpha","bravo","charlie"),
734+
},
735+
Value:"delta",// not in option set
736+
ExpectError:regexp.MustCompile("Value must be a valid option"),
737+
},
738+
{
739+
Name:"NumberNotInOptions",
740+
Parameter: provider.Parameter{
741+
Type:"number",
742+
Option:opts("1","2","3"),
743+
},
744+
Value:"0",// not in option set
745+
ExpectError:regexp.MustCompile("Value must be a valid option"),
746+
},
747+
{
748+
Name:"NonUniqueOptionNames",
749+
Parameter: provider.Parameter{
750+
Type:"string",
751+
Option:opts("alpha","alpha"),
752+
},
753+
Value:"alpha",
754+
ExpectError:regexp.MustCompile("Option names must be unique"),
755+
},
756+
{
757+
Name:"NonUniqueOptionValues",
758+
Parameter: provider.Parameter{
759+
Type:"string",
760+
Option: []provider.Option{
761+
{Name:"Alpha",Value:"alpha"},
762+
{Name:"AlphaAgain",Value:"alpha"},
763+
},
764+
},
765+
Value:"alpha",
766+
ExpectError:regexp.MustCompile("Option values must be unique"),
767+
},
768+
{
769+
Name:"IncorrectValueTypeOption",
770+
Parameter: provider.Parameter{
771+
Type:"number",
772+
Option:opts("not-a-number"),
773+
},
774+
Value:"5",
775+
ExpectError:regexp.MustCompile("is not a number"),
776+
},
777+
{
778+
Name:"IncorrectValueType",
779+
Parameter: provider.Parameter{
780+
Type:"number",
781+
},
782+
Value:"not-a-number",
783+
ExpectError:regexp.MustCompile("Parameter value is not of type\"number\""),
784+
},
785+
{
786+
Name:"NotListStringDefault",
787+
Parameter: provider.Parameter{
788+
Type:"list(string)",
789+
Default:"not-a-list",
790+
},
791+
ExpectError:regexp.MustCompile("not a valid list of strings"),
792+
},
793+
{
794+
Name:"NotListStringDefault",
795+
Parameter: provider.Parameter{
796+
Type:"list(string)",
797+
},
798+
Value:"not-a-list",
799+
ExpectError:regexp.MustCompile("not a valid list of strings"),
800+
},
801+
{
802+
Name:"DefaultListStringNotInOptions",
803+
Parameter: provider.Parameter{
804+
Type:"list(string)",
805+
Default:`["red", "yellow", "black"]`,
806+
Option:opts("red","blue","green"),
807+
FormType:provider.ParameterFormTypeMultiSelect,
808+
},
809+
ExpectError:regexp.MustCompile("is not a valid option, values\"yellow, black\" are missing from the options"),
810+
},
811+
{
812+
Name:"ListStringNotInOptions",
813+
Parameter: provider.Parameter{
814+
Type:"list(string)",
815+
Default:`["red"]`,
816+
Option:opts("red","blue","green"),
817+
FormType:provider.ParameterFormTypeMultiSelect,
818+
},
819+
Value:`["red", "yellow", "black"]`,
820+
ExpectError:regexp.MustCompile("is not a valid option, values\"yellow, black\" are missing from the options"),
821+
},
822+
{
823+
Name:"InvalidMiniumum",
824+
Parameter: provider.Parameter{
825+
Type:"number",
826+
Default:"5",
827+
Validation: []provider.Validation{{
828+
Min:10,
829+
Error:"must be greater than 10",
830+
}},
831+
},
832+
ExpectError:regexp.MustCompile("must be greater than 10"),
833+
},
834+
} {
835+
tc:=tc
836+
t.Run(tc.Name,func(t*testing.T) {
837+
t.Parallel()
838+
diags:=tc.Parameter.Valid(tc.Value)
839+
iftc.ExpectError!=nil {
840+
require.True(t,diags.HasError())
841+
errMsg:=fmt.Sprintf("%+v",diags[0])// close enough
842+
require.Truef(t,tc.ExpectError.MatchString(errMsg),"got: %s",errMsg)
843+
}else {
844+
if!assert.False(t,diags.HasError()) {
845+
t.Logf("got: %+v",diags[0])
846+
}
847+
}
848+
})
849+
}
850+
}
851+
693852
// TestParameterValidationEnforcement tests various parameter states and the
694853
// validation enforcement that should be applied to them. The table is described
695854
// by a markdown table. This is done so that the test cases can be more easily
@@ -898,165 +1057,6 @@ func TestParameterValidationEnforcement(t *testing.T) {
8981057
})
8991058
})
9001059
}
901-
=======
902-
funcTestParameterValidation(t*testing.T) {
903-
t.Parallel()
904-
opts:=func(vals...string) []provider.Option {
905-
options:=make([]provider.Option,0,len(vals))
906-
for_,val:=rangevals {
907-
options=append(options, provider.Option{
908-
Name:val,
909-
Value:val,
910-
})
911-
}
912-
returnoptions
913-
}
914-
915-
for_,tc:=range []struct {
916-
Namestring
917-
Parameter provider.Parameter
918-
Valuestring
919-
ExpectError*regexp.Regexp
920-
}{
921-
{
922-
Name:"ValidStringParameter",
923-
Parameter: provider.Parameter{
924-
Type:"string",
925-
},
926-
Value:"alpha",
927-
},
928-
// Test invalid states
929-
{
930-
Name:"InvalidFormType",
931-
Parameter: provider.Parameter{
932-
Type:"string",
933-
Option:opts("alpha","bravo","charlie"),
934-
FormType:provider.ParameterFormTypeSlider,
935-
},
936-
Value:"alpha",
937-
ExpectError:regexp.MustCompile("Invalid form_type for parameter"),
938-
},
939-
{
940-
Name:"NotInOptions",
941-
Parameter: provider.Parameter{
942-
Type:"string",
943-
Option:opts("alpha","bravo","charlie"),
944-
},
945-
Value:"delta",// not in option set
946-
ExpectError:regexp.MustCompile("Value must be a valid option"),
947-
},
948-
{
949-
Name:"NumberNotInOptions",
950-
Parameter: provider.Parameter{
951-
Type:"number",
952-
Option:opts("1","2","3"),
953-
},
954-
Value:"0",// not in option set
955-
ExpectError:regexp.MustCompile("Value must be a valid option"),
956-
},
957-
{
958-
Name:"NonUniqueOptionNames",
959-
Parameter: provider.Parameter{
960-
Type:"string",
961-
Option:opts("alpha","alpha"),
962-
},
963-
Value:"alpha",
964-
ExpectError:regexp.MustCompile("Option names must be unique"),
965-
},
966-
{
967-
Name:"NonUniqueOptionValues",
968-
Parameter: provider.Parameter{
969-
Type:"string",
970-
Option: []provider.Option{
971-
{Name:"Alpha",Value:"alpha"},
972-
{Name:"AlphaAgain",Value:"alpha"},
973-
},
974-
},
975-
Value:"alpha",
976-
ExpectError:regexp.MustCompile("Option values must be unique"),
977-
},
978-
{
979-
Name:"IncorrectValueTypeOption",
980-
Parameter: provider.Parameter{
981-
Type:"number",
982-
Option:opts("not-a-number"),
983-
},
984-
Value:"5",
985-
ExpectError:regexp.MustCompile("is not a number"),
986-
},
987-
{
988-
Name:"IncorrectValueType",
989-
Parameter: provider.Parameter{
990-
Type:"number",
991-
},
992-
Value:"not-a-number",
993-
ExpectError:regexp.MustCompile("Parameter value is not of type\"number\""),
994-
},
995-
{
996-
Name:"NotListStringDefault",
997-
Parameter: provider.Parameter{
998-
Type:"list(string)",
999-
Default:"not-a-list",
1000-
},
1001-
ExpectError:regexp.MustCompile("not a valid list of strings"),
1002-
},
1003-
{
1004-
Name:"NotListStringDefault",
1005-
Parameter: provider.Parameter{
1006-
Type:"list(string)",
1007-
},
1008-
Value:"not-a-list",
1009-
ExpectError:regexp.MustCompile("not a valid list of strings"),
1010-
},
1011-
{
1012-
Name:"DefaultListStringNotInOptions",
1013-
Parameter: provider.Parameter{
1014-
Type:"list(string)",
1015-
Default:`["red", "yellow", "black"]`,
1016-
Option:opts("red","blue","green"),
1017-
FormType:provider.ParameterFormTypeMultiSelect,
1018-
},
1019-
ExpectError:regexp.MustCompile("is not a valid option, values\"yellow, black\" are missing from the options"),
1020-
},
1021-
{
1022-
Name:"ListStringNotInOptions",
1023-
Parameter: provider.Parameter{
1024-
Type:"list(string)",
1025-
Default:`["red"]`,
1026-
Option:opts("red","blue","green"),
1027-
FormType:provider.ParameterFormTypeMultiSelect,
1028-
},
1029-
Value:`["red", "yellow", "black"]`,
1030-
ExpectError:regexp.MustCompile("is not a valid option, values\"yellow, black\" are missing from the options"),
1031-
},
1032-
{
1033-
Name:"InvalidMiniumum",
1034-
Parameter: provider.Parameter{
1035-
Type:"number",
1036-
Default:"5",
1037-
Validation: []provider.Validation{{
1038-
Min:10,
1039-
Error:"must be greater than 10",
1040-
}},
1041-
},
1042-
ExpectError:regexp.MustCompile("must be greater than 10"),
1043-
},
1044-
} {
1045-
tc:=tc
1046-
t.Run(tc.Name,func(t*testing.T) {
1047-
t.Parallel()
1048-
diags:=tc.Parameter.Valid(tc.Value)
1049-
iftc.ExpectError!=nil {
1050-
require.True(t,diags.HasError())
1051-
errMsg:=fmt.Sprintf("%+v",diags[0])// close enough
1052-
require.Truef(t,tc.ExpectError.MatchString(errMsg),"got: %s",errMsg)
1053-
}else {
1054-
if!assert.False(t,diags.HasError()) {
1055-
t.Logf("got: %+v",diags[0])
1056-
}
1057-
}
1058-
})
1059-
>>>>>>>c640b02 (beginaddinginvalidunittests)
10601060
}
10611061
}
10621062

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp