index_get_test.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. // Copyright 2012-2015 Oliver Eilhard. All rights reserved.
  2. // Use of this source code is governed by a MIT-license.
  3. // See http://olivere.mit-license.org/license.txt for details.
  4. package elastic
  5. import (
  6. "testing"
  7. )
  8. func TestIndexGetURL(t *testing.T) {
  9. client := setupTestClientAndCreateIndex(t)
  10. tests := []struct {
  11. Indices []string
  12. Features []string
  13. Expected string
  14. }{
  15. {
  16. []string{},
  17. []string{},
  18. "/_all",
  19. },
  20. {
  21. []string{},
  22. []string{"_mappings"},
  23. "/_all/_mappings",
  24. },
  25. {
  26. []string{"twitter"},
  27. []string{"_mappings", "_settings"},
  28. "/twitter/_mappings%2C_settings",
  29. },
  30. {
  31. []string{"store-1", "store-2"},
  32. []string{"_mappings", "_settings"},
  33. "/store-1%2Cstore-2/_mappings%2C_settings",
  34. },
  35. }
  36. for _, test := range tests {
  37. path, _, err := client.IndexGet().Index(test.Indices...).Feature(test.Features...).buildURL()
  38. if err != nil {
  39. t.Fatal(err)
  40. }
  41. if path != test.Expected {
  42. t.Errorf("expected %q; got: %q", test.Expected, path)
  43. }
  44. }
  45. }
  46. func TestIndexGetService(t *testing.T) {
  47. client := setupTestClientAndCreateIndex(t)
  48. esversion, err := client.ElasticsearchVersion(DefaultURL)
  49. if err != nil {
  50. t.Fatal(err)
  51. }
  52. if esversion < "1.4.0" {
  53. t.Skip("Index Get API is available since 1.4")
  54. return
  55. }
  56. res, err := client.IndexGet().Index(testIndexName).Do()
  57. if err != nil {
  58. t.Fatal(err)
  59. }
  60. if res == nil {
  61. t.Fatalf("expected result; got: %v", res)
  62. }
  63. info, found := res[testIndexName]
  64. if !found {
  65. t.Fatalf("expected index %q to be found; got: %v", testIndexName, found)
  66. }
  67. if info == nil {
  68. t.Fatalf("expected index %q to be != nil; got: %v", testIndexName, info)
  69. }
  70. if info.Mappings == nil {
  71. t.Errorf("expected mappings to be != nil; got: %v", info.Mappings)
  72. }
  73. if info.Settings == nil {
  74. t.Errorf("expected settings to be != nil; got: %v", info.Settings)
  75. }
  76. }