diff options
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/snapshot_create_test.go')
-rw-r--r-- | vendor/gopkg.in/olivere/elastic.v5/snapshot_create_test.go | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/snapshot_create_test.go b/vendor/gopkg.in/olivere/elastic.v5/snapshot_create_test.go new file mode 100644 index 000000000..d3fafc50d --- /dev/null +++ b/vendor/gopkg.in/olivere/elastic.v5/snapshot_create_test.go @@ -0,0 +1,63 @@ +package elastic + +import ( + "net/url" + "reflect" + "testing" +) + +func TestSnapshotValidate(t *testing.T) { + var client *Client + + err := NewSnapshotCreateService(client).Validate() + got := err.Error() + expected := "missing required fields: [Repository Snapshot]" + if got != expected { + t.Errorf("expected %q; got: %q", expected, got) + } +} + +func TestSnapshotPutURL(t *testing.T) { + client := setupTestClient(t) + + tests := []struct { + Repository string + Snapshot string + Pretty bool + MasterTimeout string + WaitForCompletion bool + ExpectedPath string + ExpectedParams url.Values + }{ + { + Repository: "repo", + Snapshot: "snapshot_of_sunday", + Pretty: true, + MasterTimeout: "60s", + WaitForCompletion: true, + ExpectedPath: "/_snapshot/repo/snapshot_of_sunday", + ExpectedParams: url.Values{ + "pretty": []string{"1"}, + "master_timeout": []string{"60s"}, + "wait_for_completion": []string{"true"}, + }, + }, + } + + for _, test := range tests { + path, params, err := client.SnapshotCreate(test.Repository, test.Snapshot). + Pretty(test.Pretty). + MasterTimeout(test.MasterTimeout). + WaitForCompletion(test.WaitForCompletion). + buildURL() + if err != nil { + t.Fatal(err) + } + if path != test.ExpectedPath { + t.Errorf("expected %q; got: %q", test.ExpectedPath, path) + } + if !reflect.DeepEqual(params, test.ExpectedParams) { + t.Errorf("expected %q; got: %q", test.ExpectedParams, params) + } + } +} |