@@ -1099,3 +1099,65 @@ func TestTemplateExamples(t *testing.T) {
1099
1099
require .EqualValues (t , ls , ex )
1100
1100
})
1101
1101
}
1102
+
1103
+ func TestTemplateVersionVariables (t * testing.T ) {
1104
+ t .Parallel ()
1105
+
1106
+ templateVariables := []* proto.TemplateVariable {
1107
+ {
1108
+ Name : "first_variable" ,
1109
+ Description : "This is the first variable" ,
1110
+ Type : "string" ,
1111
+ Required : true ,
1112
+ Sensitive : true ,
1113
+ },
1114
+ {
1115
+ Name : "second_variable" ,
1116
+ Description : "This is the second variable" ,
1117
+ DefaultValue : "123" ,
1118
+ Type : "number" ,
1119
+ },
1120
+ }
1121
+
1122
+ echoResponses := & echo.Responses {
1123
+ Parse : []* proto.Parse_Response {
1124
+ {
1125
+ Type : & proto.Parse_Response_Complete {
1126
+ Complete : & proto.Parse_Complete {
1127
+ TemplateVariables : templateVariables ,
1128
+ },
1129
+ },
1130
+ },
1131
+ },
1132
+ ProvisionPlan : echo .ProvisionComplete ,
1133
+ ProvisionApply : []* proto.Provision_Response {{
1134
+ Type : & proto.Provision_Response_Complete {
1135
+ Complete : & proto.Provision_Complete {},
1136
+ },
1137
+ }},
1138
+ }
1139
+
1140
+ client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
1141
+ user := coderdtest .CreateFirstUser (t , client )
1142
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , echoResponses )
1143
+ templateVersion := coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
1144
+
1145
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitShort )
1146
+ defer cancel ()
1147
+
1148
+ actualVariables , err := client .TemplateVersionVariables (ctx , templateVersion .ID )
1149
+ require .NoError (t , err )
1150
+
1151
+ require .Len (t , actualVariables , 2 )
1152
+ for i := range templateVariables {
1153
+ require .Equal (t , templateVariables [i ].Name , actualVariables [i ].Name )
1154
+ require .Equal (t , templateVariables [i ].Description , actualVariables [i ].Description )
1155
+ require .Equal (t , templateVariables [i ].Type , actualVariables [i ].Type )
1156
+ require .Equal (t , templateVariables [i ].DefaultValue , actualVariables [i ].DefaultValue )
1157
+ require .Equal (t , templateVariables [i ].Required , actualVariables [i ].Required )
1158
+ require .Equal (t , templateVariables [i ].Sensitive , actualVariables [i ].Sensitive )
1159
+ }
1160
+
1161
+ require .Equal (t , "" , actualVariables [0 ].Value )
1162
+ require .Equal (t , templateVariables [1 ].DefaultValue , actualVariables [1 ].Value )
1163
+ }
0 commit comments