@@ -73,3 +73,64 @@ func TestScriptNeverRuns(t *testing.T) {
73
73
}},
74
74
})
75
75
}
76
+
77
+ func TestScriptStartBlocksLoginRequiresRunOnStart (t * testing.T ) {
78
+ t .Parallel ()
79
+
80
+ resource .Test (t , resource.TestCase {
81
+ Providers : map [string ]* schema.Provider {
82
+ "coder" : provider .New (),
83
+ },
84
+ IsUnitTest : true ,
85
+ Steps : []resource.TestStep {{
86
+ Config : `
87
+ provider "coder" {
88
+ }
89
+ resource "coder_script" "example" {
90
+ agent_id = ""
91
+ display_name = "Hey"
92
+ script = "Wow"
93
+ run_on_stop = true
94
+ start_blocks_login = true
95
+ }
96
+ ` ,
97
+ ExpectError : regexp .MustCompile (`start_blocks_login can only be set if run_on_start is true` ),
98
+ }},
99
+ })
100
+ resource .Test (t , resource.TestCase {
101
+ Providers : map [string ]* schema.Provider {
102
+ "coder" : provider .New (),
103
+ },
104
+ IsUnitTest : true ,
105
+ Steps : []resource.TestStep {{
106
+ Config : `
107
+ provider "coder" {
108
+ }
109
+ resource "coder_script" "example" {
110
+ agent_id = ""
111
+ display_name = "Hey"
112
+ script = "Wow"
113
+ start_blocks_login = true
114
+ run_on_start = true
115
+ }
116
+ ` ,
117
+ Check : func (state * terraform.State ) error {
118
+ require .Len (t , state .Modules , 1 )
119
+ require .Len (t , state .Modules [0 ].Resources , 1 )
120
+ script := state .Modules [0 ].Resources ["coder_script.example" ]
121
+ require .NotNil (t , script )
122
+ t .Logf ("script attributes: %#v" , script .Primary .Attributes )
123
+ for key , expected := range map [string ]string {
124
+ "agent_id" : "" ,
125
+ "display_name" : "Hey" ,
126
+ "script" : "Wow" ,
127
+ "start_blocks_login" : "true" ,
128
+ "run_on_start" : "true" ,
129
+ } {
130
+ require .Equal (t , expected , script .Primary .Attributes [key ])
131
+ }
132
+ return nil
133
+ },
134
+ }},
135
+ })
136
+ }
0 commit comments