MCPcopy
hub / github.com/github/github-mcp-server / TestOptionalStringArrayParam

Function TestOptionalStringArrayParam

pkg/github/params_test.go:485–550  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

483}
484
485func TestOptionalStringArrayParam(t *testing.T) {
486 tests := []struct {
487 name string
488 params map[string]any
489 paramName string
490 expected []string
491 expectError bool
492 }{
493 {
494 name: "parameter not in request",
495 params: map[string]any{},
496 paramName: "flag",
497 expected: []string{},
498 expectError: false,
499 },
500 {
501 name: "valid any array parameter",
502 params: map[string]any{
503 "flag": []any{"v1", "v2"},
504 },
505 paramName: "flag",
506 expected: []string{"v1", "v2"},
507 expectError: false,
508 },
509 {
510 name: "valid string array parameter",
511 params: map[string]any{
512 "flag": []string{"v1", "v2"},
513 },
514 paramName: "flag",
515 expected: []string{"v1", "v2"},
516 expectError: false,
517 },
518 {
519 name: "wrong type parameter",
520 params: map[string]any{
521 "flag": 1,
522 },
523 paramName: "flag",
524 expected: []string{},
525 expectError: true,
526 },
527 {
528 name: "wrong slice type parameter",
529 params: map[string]any{
530 "flag": []any{"foo", 2},
531 },
532 paramName: "flag",
533 expected: []string{},
534 expectError: true,
535 },
536 }
537
538 for _, tc := range tests {
539 t.Run(tc.name, func(t *testing.T) {
540 result, err := OptionalStringArrayParam(tc.params, tc.paramName)
541
542 if tc.expectError {

Callers

nothing calls this directly

Calls 2

OptionalStringArrayParamFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected