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 12// TODO(oe): Find out why this test fails on Travis CI. 13/* 14func TestIndicesOpenAndClose(t *testing.T) { 15 client := setupTestClient(t) 16 17 // Create index 18 createIndex, err := client.CreateIndex(testIndexName).Do(context.TODO()) 19 if err != nil { 20 t.Fatal(err) 21 } 22 if !createIndex.Acknowledged { 23 t.Errorf("expected CreateIndexResult.Acknowledged %v; got %v", true, createIndex.Acknowledged) 24 } 25 defer func() { 26 // Delete index 27 deleteIndex, err := client.DeleteIndex(testIndexName).Do(context.TODO()) 28 if err != nil { 29 t.Fatal(err) 30 } 31 if !deleteIndex.Acknowledged { 32 t.Errorf("expected DeleteIndexResult.Acknowledged %v; got %v", true, deleteIndex.Acknowledged) 33 } 34 }() 35 36 waitForYellow := func() { 37 // Wait for status yellow 38 res, err := client.ClusterHealth().WaitForStatus("yellow").Timeout("15s").Do(context.TODO()) 39 if err != nil { 40 t.Fatal(err) 41 } 42 if res != nil && res.TimedOut { 43 t.Fatalf("cluster time out waiting for status %q", "yellow") 44 } 45 } 46 47 // Wait for cluster 48 waitForYellow() 49 50 // Close index 51 cresp, err := client.CloseIndex(testIndexName).Do(context.TODO()) 52 if err != nil { 53 t.Fatal(err) 54 } 55 if !cresp.Acknowledged { 56 t.Fatalf("expected close index of %q to be acknowledged\n", testIndexName) 57 } 58 59 // Wait for cluster 60 waitForYellow() 61 62 // Open index again 63 oresp, err := client.OpenIndex(testIndexName).Do(context.TODO()) 64 if err != nil { 65 t.Fatal(err) 66 } 67 if !oresp.Acknowledged { 68 t.Fatalf("expected open index of %q to be acknowledged\n", testIndexName) 69 } 70} 71*/ 72 73func TestIndicesCloseValidate(t *testing.T) { 74 client := setupTestClient(t) 75 76 // No index name -> fail with error 77 res, err := NewIndicesCloseService(client).Do(context.TODO()) 78 if err == nil { 79 t.Fatalf("expected IndicesClose to fail without index name") 80 } 81 if res != nil { 82 t.Fatalf("expected result to be == nil; got: %v", res) 83 } 84} 85