@@ -733,6 +733,15 @@ func TestParameterValidation(t *testing.T) {
733
733
Value : "delta" , // not in option set
734
734
ExpectError : regexp .MustCompile ("Value must be a valid option" ),
735
735
},
736
+ {
737
+ Name : "NumberNotInOptions" ,
738
+ Parameter : provider.Parameter {
739
+ Type : "number" ,
740
+ Option : opts ("1" , "2" , "3" ),
741
+ },
742
+ Value : "0" , // not in option set
743
+ ExpectError : regexp .MustCompile ("Value must be a valid option" ),
744
+ },
736
745
{
737
746
Name : "NonUniqueOptionNames" ,
738
747
Parameter : provider.Parameter {
@@ -771,6 +780,55 @@ func TestParameterValidation(t *testing.T) {
771
780
Value : "not-a-number" ,
772
781
ExpectError : regexp .MustCompile ("Parameter value is not of type \" number\" " ),
773
782
},
783
+ {
784
+ Name : "NotListStringDefault" ,
785
+ Parameter : provider.Parameter {
786
+ Type : "list(string)" ,
787
+ Default : "not-a-list" ,
788
+ },
789
+ ExpectError : regexp .MustCompile ("not a valid list of strings" ),
790
+ },
791
+ {
792
+ Name : "NotListStringDefault" ,
793
+ Parameter : provider.Parameter {
794
+ Type : "list(string)" ,
795
+ },
796
+ Value : "not-a-list" ,
797
+ ExpectError : regexp .MustCompile ("not a valid list of strings" ),
798
+ },
799
+ {
800
+ Name : "DefaultListStringNotInOptions" ,
801
+ Parameter : provider.Parameter {
802
+ Type : "list(string)" ,
803
+ Default : `["red", "yellow", "black"]` ,
804
+ Option : opts ("red" , "blue" , "green" ),
805
+ FormType : provider .ParameterFormTypeMultiSelect ,
806
+ },
807
+ ExpectError : regexp .MustCompile ("is not a valid option, values \" yellow, black\" are missing from the options" ),
808
+ },
809
+ {
810
+ Name : "ListStringNotInOptions" ,
811
+ Parameter : provider.Parameter {
812
+ Type : "list(string)" ,
813
+ Default : `["red"]` ,
814
+ Option : opts ("red" , "blue" , "green" ),
815
+ FormType : provider .ParameterFormTypeMultiSelect ,
816
+ },
817
+ Value : `["red", "yellow", "black"]` ,
818
+ ExpectError : regexp .MustCompile ("is not a valid option, values \" yellow, black\" are missing from the options" ),
819
+ },
820
+ {
821
+ Name : "InvalidMiniumum" ,
822
+ Parameter : provider.Parameter {
823
+ Type : "number" ,
824
+ Default : "5" ,
825
+ Validation : []provider.Validation {{
826
+ Min : 10 ,
827
+ Error : "must be greater than 10" ,
828
+ }},
829
+ },
830
+ ExpectError : regexp .MustCompile ("must be greater than 10" ),
831
+ },
774
832
} {
775
833
tc := tc
776
834
t .Run (tc .Name , func (t * testing.T ) {
0 commit comments