@@ -129,3 +129,64 @@ func TestHealthz(t *testing.T) {
129
129
130
130
assert .Equal (t , "OK" , string (body ))
131
131
}
132
+
133
+ func TestSwagger (t * testing.T ) {
134
+ t .Parallel ()
135
+
136
+ const swaggerEndpoint = "/swagger"
137
+ t .Run ("endpoint enabled" , func (t * testing.T ) {
138
+ t .Parallel ()
139
+
140
+ client := coderdtest .New (t , & coderdtest.Options {
141
+ SwaggerEndpointEnabled : true ,
142
+ })
143
+
144
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitMedium )
145
+ defer cancel ()
146
+
147
+ resp , err := requestWithRetries (ctx , t , client , http .MethodGet , swaggerEndpoint , nil )
148
+ require .NoError (t , err )
149
+
150
+ body , err := io .ReadAll (resp .Body )
151
+ require .NoError (t , err )
152
+ defer resp .Body .Close ()
153
+
154
+ require .Contains (t , string (body ), "Swagger UI" )
155
+ })
156
+ t .Run ("doc.json exposed" , func (t * testing.T ) {
157
+ t .Parallel ()
158
+
159
+ client := coderdtest .New (t , & coderdtest.Options {
160
+ SwaggerEndpointEnabled : true ,
161
+ })
162
+
163
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitMedium )
164
+ defer cancel ()
165
+
166
+ resp , err := requestWithRetries (ctx , t , client , http .MethodGet , swaggerEndpoint + "/doc.json" , nil )
167
+ require .NoError (t , err )
168
+
169
+ body , err := io .ReadAll (resp .Body )
170
+ require .NoError (t , err )
171
+ defer resp .Body .Close ()
172
+
173
+ require .Contains (t , string (body ), `"swagger": "2.0"` )
174
+ })
175
+ t .Run ("endpoint disabled by default" , func (t * testing.T ) {
176
+ t .Parallel ()
177
+
178
+ client := coderdtest .New (t , nil )
179
+
180
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitMedium )
181
+ defer cancel ()
182
+
183
+ resp , err := requestWithRetries (ctx , t , client , http .MethodGet , swaggerEndpoint , nil )
184
+ require .NoError (t , err )
185
+
186
+ body , err := io .ReadAll (resp .Body )
187
+ require .NoError (t , err )
188
+ defer resp .Body .Close ()
189
+
190
+ require .Equal (t , "<pre>\n </pre>\n " , string (body ))
191
+ })
192
+ }
0 commit comments