From 622998add12734a6c2b5d79918338a4d6dca7ce6 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Tue, 9 May 2017 14:13:24 +0100 Subject: PLT-6398: Add dependency on go elastic search library. (#6340) --- .../olivere/elastic.v5/indices_rollover_test.go | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 vendor/gopkg.in/olivere/elastic.v5/indices_rollover_test.go (limited to 'vendor/gopkg.in/olivere/elastic.v5/indices_rollover_test.go') diff --git a/vendor/gopkg.in/olivere/elastic.v5/indices_rollover_test.go b/vendor/gopkg.in/olivere/elastic.v5/indices_rollover_test.go new file mode 100644 index 000000000..77ac1e851 --- /dev/null +++ b/vendor/gopkg.in/olivere/elastic.v5/indices_rollover_test.go @@ -0,0 +1,116 @@ +// Copyright 2012-present Oliver Eilhard. All rights reserved. +// Use of this source code is governed by a MIT-license. +// See http://olivere.mit-license.org/license.txt for details. + +package elastic + +import ( + "encoding/json" + "testing" +) + +func TestIndicesRolloverBuildURL(t *testing.T) { + client := setupTestClient(t) + + tests := []struct { + Alias string + NewIndex string + Expected string + }{ + { + "logs_write", + "", + "/logs_write/_rollover", + }, + { + "logs_write", + "my_new_index_name", + "/logs_write/_rollover/my_new_index_name", + }, + } + + for i, test := range tests { + path, _, err := client.RolloverIndex(test.Alias).NewIndex(test.NewIndex).buildURL() + if err != nil { + t.Errorf("case #%d: %v", i+1, err) + continue + } + if path != test.Expected { + t.Errorf("case #%d: expected %q; got: %q", i+1, test.Expected, path) + } + } +} + +func TestIndicesRolloverBodyConditions(t *testing.T) { + client := setupTestClient(t) + svc := NewIndicesRolloverService(client). + Conditions(map[string]interface{}{ + "max_age": "7d", + "max_docs": 1000, + }) + data, err := json.Marshal(svc.getBody()) + if err != nil { + t.Fatalf("marshaling to JSON failed: %v", err) + } + got := string(data) + expected := `{"conditions":{"max_age":"7d","max_docs":1000}}` + if got != expected { + t.Errorf("expected\n%s\n,got:\n%s", expected, got) + } +} + +func TestIndicesRolloverBodyAddCondition(t *testing.T) { + client := setupTestClient(t) + svc := NewIndicesRolloverService(client). + AddCondition("max_age", "7d"). + AddCondition("max_docs", 1000) + data, err := json.Marshal(svc.getBody()) + if err != nil { + t.Fatalf("marshaling to JSON failed: %v", err) + } + got := string(data) + expected := `{"conditions":{"max_age":"7d","max_docs":1000}}` + if got != expected { + t.Errorf("expected\n%s\n,got:\n%s", expected, got) + } +} + +func TestIndicesRolloverBodyAddPredefinedConditions(t *testing.T) { + client := setupTestClient(t) + svc := NewIndicesRolloverService(client). + AddMaxIndexAgeCondition("2d"). + AddMaxIndexDocsCondition(1000000) + data, err := json.Marshal(svc.getBody()) + if err != nil { + t.Fatalf("marshaling to JSON failed: %v", err) + } + got := string(data) + expected := `{"conditions":{"max_age":"2d","max_docs":1000000}}` + if got != expected { + t.Errorf("expected\n%s\n,got:\n%s", expected, got) + } +} + +func TestIndicesRolloverBodyComplex(t *testing.T) { + client := setupTestClient(t) + svc := NewIndicesRolloverService(client). + AddMaxIndexAgeCondition("2d"). + AddMaxIndexDocsCondition(1000000). + AddSetting("index.number_of_shards", 2). + AddMapping("tweet", map[string]interface{}{ + "properties": map[string]interface{}{ + "user": map[string]interface{}{ + "type": "keyword", + }, + }, + }) + data, err := json.Marshal(svc.getBody()) + if err != nil { + t.Fatalf("marshaling to JSON failed: %v", err) + } + got := string(data) + expected := `{"conditions":{"max_age":"2d","max_docs":1000000},"mappings":{"tweet":{"properties":{"user":{"type":"keyword"}}}},"settings":{"index.number_of_shards":2}}` + if got != expected { + t.Errorf("expected\n%s\n,got:\n%s", expected, got) + } +} -- cgit v1.2.3-1-g7c22