(t *testing.T)
| 549 | } |
| 550 | |
| 551 | func TestCmdAddonSearch(t *testing.T) { |
| 552 | if !github.HasGitHubToken() { |
| 553 | t.Skip("Skipping because DDEV_GITHUB_TOKEN is not set") |
| 554 | } |
| 555 | assert := asrt.New(t) |
| 556 | |
| 557 | // Test search for redis |
| 558 | out, err := exec.RunHostCommand(DdevBin, "add-on", "search", "redis") |
| 559 | assert.NoError(err, "failed ddev add-on search redis: %v (%s)", err, out) |
| 560 | assert.Contains(out, "ddev/ddev-redis") |
| 561 | assert.Contains(out, "add-ons found matching 'redis'") |
| 562 | |
| 563 | // Test search with multiple keywords |
| 564 | out, err = exec.RunHostCommand(DdevBin, "add-on", "search", "redis", "cache") |
| 565 | assert.NoError(err, "failed ddev add-on search redis cache: %v (%s)", err, out) |
| 566 | assert.Contains(out, "ddev/ddev-redis") |
| 567 | assert.Contains(out, "add-ons found matching 'redis cache'") |
| 568 | |
| 569 | // Test search with quotes |
| 570 | out, err = exec.RunHostCommand(DdevBin, "add-on", "search", "redis insight") |
| 571 | assert.NoError(err, "failed ddev add-on search 'redis insight': %v (%s)", err, out) |
| 572 | assert.Contains(out, "ddev/ddev-redis-insight") |
| 573 | assert.Contains(out, "add-ons found matching 'redis insight'") |
| 574 | |
| 575 | // Test search with no results |
| 576 | out, err = exec.RunHostCommand(DdevBin, "add-on", "search", "nonexistentservice") |
| 577 | assert.NoError(err, "failed ddev add-on search nonexistentservice: %v (%s)", err, out) |
| 578 | assert.Contains(out, "No add-ons found matching 'nonexistentservice'") |
| 579 | |
| 580 | // Test search |
| 581 | out, err = exec.RunHostCommand(DdevBin, "add-on", "search", "redis") |
| 582 | assert.NoError(err, "failed ddev add-on search redis: %v (%s)", err, out) |
| 583 | assert.Contains(out, "add-ons found matching 'redis'") |
| 584 | } |
nothing calls this directly
no test coverage detected