search_hints_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package entities
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. "github.com/stretchr/testify/require"
  6. )
  7. func TestListSearchHintsReturnsLightweightIdentities(testContext *testing.T) {
  8. ClearEntitiesOfType("search_hint_host")
  9. ClearEntitiesOfType("search_hint_app")
  10. testContext.Cleanup(func() {
  11. ClearEntitiesOfType("search_hint_host")
  12. ClearEntitiesOfType("search_hint_app")
  13. })
  14. AddEntity("search_hint_host", "0", map[string]any{
  15. "name": "web01",
  16. "secret": "should-not-be-copied-by-search-hints",
  17. "hostname": "192.168.1.10",
  18. })
  19. AddEntity("search_hint_app", "app-1", map[string]any{
  20. "title": "Frontend",
  21. })
  22. hints := ListSearchHints()
  23. byKey := map[string]SearchHint{}
  24. for _, hint := range hints {
  25. byKey[hint.Type+":"+hint.UniqueKey] = hint
  26. }
  27. host, hostFound := byKey["search_hint_host:0"]
  28. require.True(testContext, hostFound)
  29. assert.Equal(testContext, "web01", host.Title)
  30. assert.Equal(testContext, "search_hint_host", host.Type)
  31. assert.Equal(testContext, "0", host.UniqueKey)
  32. app, appFound := byKey["search_hint_app:app-1"]
  33. require.True(testContext, appFound)
  34. assert.Equal(testContext, "Frontend", app.Title)
  35. }