@@ -839,7 +839,7 @@ func TestParameterValidation(t *testing.T) {
839839 t .Run (tc .Name , func (t * testing.T ) {
840840 t .Parallel ()
841841 value := & tc .Value
842- _ , diags := tc .Parameter .ValidateInput (value , provider . ValidationModeDefault )
842+ _ , diags := tc .Parameter .ValidateInput (value )
843843 if tc .ExpectError != nil {
844844 require .True (t , diags .HasError ())
845845 errMsg := fmt .Sprintf ("%+v" , diags [0 ]) // close enough
@@ -881,7 +881,6 @@ func TestParameterValidationEnforcement(t *testing.T) {
881881 OutputValue string
882882 Optional bool
883883 CreateError * regexp.Regexp
884- ImportError * regexp.Regexp
885884 }
886885
887886 rows := make ([]row , 0 )
@@ -913,18 +912,6 @@ func TestParameterValidationEnforcement(t *testing.T) {
913912 }
914913 }
915914
916- var imerr * regexp.Regexp
917- if columns [10 ] != "" {
918- if columns [10 ] == "=" {
919- imerr = rerr
920- } else {
921- imerr , err = regexp .Compile (columns [10 ])
922- if err != nil {
923- t .Fatalf ("failed to parse error column %q: %v" , columns [10 ], err )
924- }
925- }
926- }
927-
928915 var options []string
929916 if columns [4 ] != "" {
930917 options = strings .Split (columns [4 ], "," )
@@ -972,7 +959,6 @@ func TestParameterValidationEnforcement(t *testing.T) {
972959 OutputValue : columns [7 ],
973960 Optional : optional ,
974961 CreateError : rerr ,
975- ImportError : imerr ,
976962 })
977963 }
978964
@@ -991,10 +977,8 @@ func TestParameterValidationEnforcement(t *testing.T) {
991977 t .Setenv (provider .ParameterEnvironmentVariable ("parameter" ), row .InputValue )
992978 }
993979
994- if row .CreateError != nil && row .ImportError != nil {
995- if row .OutputValue != "" {
996- t .Errorf ("output value %q should not be set if both errors are set" , row .OutputValue )
997- }
980+ if row .CreateError != nil && row .OutputValue != "" {
981+ t .Errorf ("output value %q should not be set if both errors are set" , row .OutputValue )
998982 }
999983
1000984 var cfg strings.Builder
@@ -1036,57 +1020,42 @@ func TestParameterValidationEnforcement(t *testing.T) {
10361020 }
10371021
10381022 cfg .WriteString ("}\n " )
1023+ resource .Test (t , resource.TestCase {
1024+ ProviderFactories : coderFactory (),
1025+ IsUnitTest : true ,
1026+ Steps : []resource.TestStep {{
1027+ Config : cfg .String (),
1028+ ExpectError : row .CreateError ,
1029+ Check : func (state * terraform.State ) error {
1030+ require .Len (t , state .Modules , 1 )
1031+ require .Len (t , state .Modules [0 ].Resources , 1 )
1032+ param := state .Modules [0 ].Resources ["data.coder_parameter.parameter" ]
1033+ require .NotNil (t , param )
10391034
1040- for _ , mode := range []provider.ValidationMode {provider .ValidationModeDefault , provider .ValidationModeTemplateImport } {
1041- name := string (mode )
1042- if mode == provider .ValidationModeDefault {
1043- name = "create"
1044- }
1045- t .Run (name , func (t * testing.T ) {
1046- t .Setenv ("CODER_VALIDATION_MODE" , string (mode ))
1047- rerr := row .CreateError
1048- if mode == provider .ValidationModeTemplateImport {
1049- rerr = row .ImportError
1050- }
1051-
1052- resource .Test (t , resource.TestCase {
1053- ProviderFactories : coderFactory (),
1054- IsUnitTest : true ,
1055- Steps : []resource.TestStep {{
1056- Config : cfg .String (),
1057- ExpectError : rerr ,
1058- Check : func (state * terraform.State ) error {
1059- require .Len (t , state .Modules , 1 )
1060- require .Len (t , state .Modules [0 ].Resources , 1 )
1061- param := state .Modules [0 ].Resources ["data.coder_parameter.parameter" ]
1062- require .NotNil (t , param )
1035+ if row .Default == "" {
1036+ _ , ok := param .Primary .Attributes ["default" ]
1037+ require .False (t , ok , "default should not be set" )
1038+ } else {
1039+ require .Equal (t , strings .Trim (row .Default , `"` ), param .Primary .Attributes ["default" ])
1040+ }
10631041
1064- if row .Default == "" {
1065- _ , ok := param .Primary .Attributes ["default " ]
1066- require .False (t , ok , "default should not be set" )
1067- } else {
1068- require .Equal (t , strings .Trim (row .Default , `"` ), param .Primary .Attributes ["default " ])
1069- }
1042+ if row .OutputValue == "" {
1043+ _ , ok := param .Primary .Attributes ["value " ]
1044+ require .False (t , ok , "output value should not be set" )
1045+ } else {
1046+ require .Equal (t , strings .Trim (row .OutputValue , `"` ), param .Primary .Attributes ["value " ])
1047+ }
10701048
1071- if row .OutputValue == "" {
1072- _ , ok := param .Primary .Attributes ["value" ]
1073- require .False (t , ok , "output value should not be set" )
1074- } else {
1075- require .Equal (t , strings .Trim (row .OutputValue , `"` ), param .Primary .Attributes ["value" ])
1076- }
1049+ for key , expected := range map [string ]string {
1050+ "optional" : strconv .FormatBool (row .Optional ),
1051+ } {
1052+ require .Equal (t , expected , param .Primary .Attributes [key ], "optional" )
1053+ }
10771054
1078- for key , expected := range map [string ]string {
1079- "optional" : strconv .FormatBool (row .Optional ),
1080- } {
1081- require .Equal (t , expected , param .Primary .Attributes [key ], "optional" )
1082- }
1083-
1084- return nil
1085- },
1086- }},
1087- })
1088- })
1089- }
1055+ return nil
1056+ },
1057+ }},
1058+ })
10901059 })
10911060 }
10921061 }
0 commit comments