MCPcopy Create free account
hub / github.com/danielmiessler/Fabric / TestValidateImageParameters

Function TestValidateImageParameters

internal/cli/flags_test.go:281–395  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

279}
280
281func TestValidateImageParameters(t *testing.T) {
282 t.Run("No image file and no parameters should pass", func(t *testing.T) {
283 err := validateImageParameters("", "", "", "", 0)
284 assert.NoError(t, err)
285 })
286
287 t.Run("Image parameters without image file should fail", func(t *testing.T) {
288 // Test each parameter individually
289 err := validateImageParameters("", "1024x1024", "", "", 0)
290 assert.Error(t, err)
291 assert.Contains(t, err.Error(), "image parameters")
292 assert.Contains(t, err.Error(), "can only be used with --image-file")
293
294 err = validateImageParameters("", "", "high", "", 0)
295 assert.Error(t, err)
296 assert.Contains(t, err.Error(), "image parameters")
297
298 err = validateImageParameters("", "", "", "transparent", 0)
299 assert.Error(t, err)
300 assert.Contains(t, err.Error(), "image parameters")
301
302 err = validateImageParameters("", "", "", "", 50)
303 assert.Error(t, err)
304 assert.Contains(t, err.Error(), "image parameters")
305
306 // Test multiple parameters
307 err = validateImageParameters("", "1024x1024", "high", "transparent", 50)
308 assert.Error(t, err)
309 assert.Contains(t, err.Error(), "image parameters")
310 })
311
312 t.Run("Valid size values should pass", func(t *testing.T) {
313 validSizes := []string{"1024x1024", "1536x1024", "1024x1536", "auto"}
314 for _, size := range validSizes {
315 err := validateImageParameters("/tmp/test.png", size, "", "", 0)
316 assert.NoError(t, err, "Size %s should be valid", size)
317 }
318 })
319
320 t.Run("Invalid size should fail", func(t *testing.T) {
321 err := validateImageParameters("/tmp/test.png", "invalid", "", "", 0)
322 assert.Error(t, err)
323 assert.Contains(t, err.Error(), "invalid image size")
324 })
325
326 t.Run("Valid quality values should pass", func(t *testing.T) {
327 validQualities := []string{"low", "medium", "high", "auto"}
328 for _, quality := range validQualities {
329 err := validateImageParameters("/tmp/test.png", "", quality, "", 0)
330 assert.NoError(t, err, "Quality %s should be valid", quality)
331 }
332 })
333
334 t.Run("Invalid quality should fail", func(t *testing.T) {
335 err := validateImageParameters("/tmp/test.png", "", "invalid", "", 0)
336 assert.Error(t, err)
337 assert.Contains(t, err.Error(), "invalid image quality")
338 })

Callers

nothing calls this directly

Calls 2

validateImageParametersFunction · 0.85
ErrorMethod · 0.80

Tested by

no test coverage detected