get_template_test.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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 TestGetPutDeleteTemplate(t *testing.T) {
  9. client := setupTestClientAndCreateIndex(t)
  10. // This is a search template, not an index template!
  11. tmpl := `{
  12. "template": {
  13. "query" : { "term" : { "{{my_field}}" : "{{my_value}}" } },
  14. "size" : "{{my_size}}"
  15. },
  16. "params":{
  17. "my_field" : "user",
  18. "my_value" : "olivere",
  19. "my_size" : 5
  20. }
  21. }`
  22. putres, err := client.PutTemplate().Id("elastic-template").BodyString(tmpl).Do()
  23. if err != nil {
  24. t.Fatalf("expected no error; got: %v", err)
  25. }
  26. if putres == nil {
  27. t.Fatalf("expected response; got: %v", putres)
  28. }
  29. if !putres.Created {
  30. t.Fatalf("expected template to be created; got: %v", putres.Created)
  31. }
  32. // Always delete template
  33. defer client.DeleteTemplate().Id("elastic-template").Do()
  34. // Get template
  35. getres, err := client.GetTemplate().Id("elastic-template").Do()
  36. if err != nil {
  37. t.Fatalf("expected no error; got: %v", err)
  38. }
  39. if getres == nil {
  40. t.Fatalf("expected response; got: %v", getres)
  41. }
  42. if getres.Template == "" {
  43. t.Errorf("expected template %q; got: %q", tmpl, getres.Template)
  44. }
  45. }