delete_test.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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 TestDelete(t *testing.T) {
  9. client := setupTestClientAndCreateIndex(t)
  10. tweet1 := tweet{User: "olivere", Message: "Welcome to Golang and Elasticsearch."}
  11. tweet2 := tweet{User: "olivere", Message: "Another unrelated topic."}
  12. tweet3 := tweet{User: "sandrae", Message: "Cycling is fun."}
  13. // Add all documents
  14. _, err := client.Index().Index(testIndexName).Type("tweet").Id("1").BodyJson(&tweet1).Do()
  15. if err != nil {
  16. t.Fatal(err)
  17. }
  18. _, err = client.Index().Index(testIndexName).Type("tweet").Id("2").BodyJson(&tweet2).Do()
  19. if err != nil {
  20. t.Fatal(err)
  21. }
  22. _, err = client.Index().Index(testIndexName).Type("tweet").Id("3").BodyJson(&tweet3).Do()
  23. if err != nil {
  24. t.Fatal(err)
  25. }
  26. _, err = client.Flush().Index(testIndexName).Do()
  27. if err != nil {
  28. t.Fatal(err)
  29. }
  30. // Count documents
  31. count, err := client.Count(testIndexName).Do()
  32. if err != nil {
  33. t.Fatal(err)
  34. }
  35. if count != 3 {
  36. t.Errorf("expected Count = %d; got %d", 3, count)
  37. }
  38. // Delete document 1
  39. res, err := client.Delete().Index(testIndexName).Type("tweet").Id("1").Do()
  40. if err != nil {
  41. t.Fatal(err)
  42. }
  43. if res.Found != true {
  44. t.Errorf("expected Found = true; got %v", res.Found)
  45. }
  46. _, err = client.Flush().Index(testIndexName).Do()
  47. if err != nil {
  48. t.Fatal(err)
  49. }
  50. count, err = client.Count(testIndexName).Do()
  51. if err != nil {
  52. t.Fatal(err)
  53. }
  54. if count != 2 {
  55. t.Errorf("expected Count = %d; got %d", 2, count)
  56. }
  57. // Delete non existent document 99
  58. res, err = client.Delete().Index(testIndexName).Type("tweet").Id("99").Refresh(true).Do()
  59. if err != nil {
  60. t.Fatal(err)
  61. }
  62. if res.Found != false {
  63. t.Errorf("expected Found = false; got %v", res.Found)
  64. }
  65. count, err = client.Count(testIndexName).Do()
  66. if err != nil {
  67. t.Fatal(err)
  68. }
  69. if count != 2 {
  70. t.Errorf("expected Count = %d; got %d", 2, count)
  71. }
  72. }