1// Copyright 2012-present 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 5package elastic 6 7import ( 8 "context" 9 "testing" 10) 11 12func TestSearchTemplatesLifecycle(t *testing.T) { 13 client := setupTestClientAndCreateIndex(t) 14 15 // Template 16 tmpl := `{"template":{"query":{"match":{"title":"{{query_string}}"}}}}` 17 18 // Create template 19 cresp, err := client.PutTemplate().Id("elastic-test").BodyString(tmpl).Do(context.TODO()) 20 if err != nil { 21 t.Fatal(err) 22 } 23 if cresp == nil { 24 t.Fatalf("expected response != nil; got: %v", cresp) 25 } 26 if !cresp.Acknowledged { 27 t.Errorf("expected acknowledged = %v; got: %v", true, cresp.Acknowledged) 28 } 29 30 // Get template 31 resp, err := client.GetTemplate().Id("elastic-test").Do(context.TODO()) 32 if err != nil { 33 t.Fatal(err) 34 } 35 if resp == nil { 36 t.Fatalf("expected response != nil; got: %v", resp) 37 } 38 if resp.Template == "" { 39 t.Errorf("expected template != %q; got: %q", "", resp.Template) 40 } 41 42 // Delete template 43 dresp, err := client.DeleteTemplate().Id("elastic-test").Do(context.TODO()) 44 if err != nil { 45 t.Fatal(err) 46 } 47 if dresp == nil { 48 t.Fatalf("expected response != nil; got: %v", dresp) 49 } 50 if !dresp.Acknowledged { 51 t.Fatalf("expected acknowledged = %v; got: %v", true, dresp.Acknowledged) 52 } 53} 54