diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-01-29 14:17:40 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-29 14:17:40 -0800 |
commit | 961c04cae992eadb42d286d2f85f8a675bdc68c8 (patch) | |
tree | 3408f2d06f847e966c53485e2d54c692cdd037c1 /vendor/gopkg.in/olivere/elastic.v5/setup_test.go | |
parent | 8d66523ba7d9a77129844be476732ebfd5272d64 (diff) | |
download | chat-961c04cae992eadb42d286d2f85f8a675bdc68c8.tar.gz chat-961c04cae992eadb42d286d2f85f8a675bdc68c8.tar.bz2 chat-961c04cae992eadb42d286d2f85f8a675bdc68c8.zip |
Upgrading server dependancies (#8154)
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/setup_test.go')
-rw-r--r-- | vendor/gopkg.in/olivere/elastic.v5/setup_test.go | 235 |
1 files changed, 206 insertions, 29 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/setup_test.go b/vendor/gopkg.in/olivere/elastic.v5/setup_test.go index df2206a14..480ae5d20 100644 --- a/vendor/gopkg.in/olivere/elastic.v5/setup_test.go +++ b/vendor/gopkg.in/olivere/elastic.v5/setup_test.go @@ -16,6 +16,7 @@ import ( const ( testIndexName = "elastic-test" testIndexName2 = "elastic-test2" + testIndexName3 = "elastic-test3" testMapping = ` { "settings":{ @@ -23,12 +24,49 @@ const ( "number_of_replicas":0 }, "mappings":{ - "_default_": { - "_all": { - "enabled": true + "doc":{ + "properties":{ + "user":{ + "type":"keyword" + }, + "message":{ + "type":"text", + "store": true, + "fielddata": true + }, + "tags":{ + "type":"keyword" + }, + "location":{ + "type":"geo_point" + }, + "suggest_field":{ + "type":"completion", + "contexts":[ + { + "name":"user_name", + "type":"category" + } + ] + } } - }, - "tweet":{ + } + } +} +` + + testNoSourceIndexName = "elastic-nosource-test" + testNoSourceMapping = ` +{ + "settings":{ + "number_of_shards":1, + "number_of_replicas":0 + }, + "mappings":{ + "doc":{ + "_source": { + "enabled": false + }, "properties":{ "user":{ "type":"keyword" @@ -48,19 +86,51 @@ const ( "type":"completion", "contexts":[ { - "name": "user_name", - "type": "category" + "name":"user_name", + "type":"category" } ] } } + } + } +} +` + + testJoinIndex = "elastic-joins" + testJoinMapping = ` + { + "settings":{ + "number_of_shards":1, + "number_of_replicas":0 }, - "comment":{ - "_parent": { - "type": "tweet" + "mappings":{ + "doc":{ + "properties":{ + "message":{ + "type":"text" + }, + "my_join_field": { + "type": "join", + "relations": { + "question": "answer" + } + } + } } - }, - "order":{ + } + } +` + + testOrderIndex = "elastic-orders" + testOrderMapping = ` +{ + "settings":{ + "number_of_shards":1, + "number_of_replicas":0 + }, + "mappings":{ + "doc":{ "properties":{ "article":{ "type":"text" @@ -76,18 +146,49 @@ const ( "format": "YYYY-MM-dd" } } - }, - "doctype":{ + } + } +} +` + + /* + testDoctypeIndex = "elastic-doctypes" + testDoctypeMapping = ` + { + "settings":{ + "number_of_shards":1, + "number_of_replicas":0 + }, + "mappings":{ + "doc":{ + "properties":{ + "message":{ + "type":"text", + "store": true, + "fielddata": true + } + } + } + } + } + ` + */ + + testQueryIndex = "elastic-queries" + testQueryMapping = ` +{ + "settings":{ + "number_of_shards":1, + "number_of_replicas":0 + }, + "mappings":{ + "doc":{ "properties":{ "message":{ "type":"text", "store": true, "fielddata": true - } - } - }, - "queries":{ - "properties": { + }, "query": { "type": "percolator" } @@ -123,6 +224,16 @@ func (c comment) String() string { return fmt.Sprintf("comment{User:%q,Comment:%q}", c.User, c.Comment) } +type joinDoc struct { + Message string `json:"message"` + JoinField interface{} `json:"my_join_field,omitempty"` +} + +type joinField struct { + Name string `json:"name"` + Parent string `json:"parent,omitempty"` +} + type order struct { Article string `json:"article"` Manufacturer string `json:"manufacturer"` @@ -173,6 +284,12 @@ func setupTestClient(t logger, options ...ClientOptionFunc) (client *Client) { client.DeleteIndex(testIndexName).Do(context.TODO()) client.DeleteIndex(testIndexName2).Do(context.TODO()) + client.DeleteIndex(testIndexName3).Do(context.TODO()) + client.DeleteIndex(testOrderIndex).Do(context.TODO()) + client.DeleteIndex(testNoSourceIndexName).Do(context.TODO()) + //client.DeleteIndex(testDoctypeIndex).Do(context.TODO()) + client.DeleteIndex(testQueryIndex).Do(context.TODO()) + client.DeleteIndex(testJoinIndex).Do(context.TODO()) return client } @@ -198,6 +315,24 @@ func setupTestClientAndCreateIndex(t logger, options ...ClientOptionFunc) *Clien t.Errorf("expected result to be != nil; got: %v", createIndex2) } + // Create no source index + createNoSourceIndex, err := client.CreateIndex(testNoSourceIndexName).Body(testNoSourceMapping).Do(context.TODO()) + if err != nil { + t.Fatal(err) + } + if createNoSourceIndex == nil { + t.Errorf("expected result to be != nil; got: %v", createNoSourceIndex) + } + + // Create order index + createOrderIndex, err := client.CreateIndex(testOrderIndex).Body(testOrderMapping).Do(context.TODO()) + if err != nil { + t.Fatal(err) + } + if createOrderIndex == nil { + t.Errorf("expected result to be != nil; got: %v", createOrderIndex) + } + return client } @@ -212,24 +347,26 @@ func setupTestClientAndCreateIndexAndAddDocs(t logger, options ...ClientOptionFu tweet1 := tweet{User: "olivere", Message: "Welcome to Golang and Elasticsearch."} tweet2 := tweet{User: "olivere", Message: "Another unrelated topic."} tweet3 := tweet{User: "sandrae", Message: "Cycling is fun."} - comment1 := comment{User: "nico", Comment: "You bet."} + //comment1 := comment{User: "nico", Comment: "You bet."} - _, err := client.Index().Index(testIndexName).Type("tweet").Id("1").BodyJson(&tweet1).Do(context.TODO()) + _, err := client.Index().Index(testIndexName).Type("doc").Id("1").BodyJson(&tweet1).Do(context.TODO()) if err != nil { t.Fatal(err) } - _, err = client.Index().Index(testIndexName).Type("tweet").Id("2").BodyJson(&tweet2).Do(context.TODO()) + _, err = client.Index().Index(testIndexName).Type("doc").Id("2").BodyJson(&tweet2).Do(context.TODO()) if err != nil { t.Fatal(err) } - _, err = client.Index().Index(testIndexName).Type("tweet").Id("3").Routing("someroutingkey").BodyJson(&tweet3).Do(context.TODO()) - if err != nil { - t.Fatal(err) - } - _, err = client.Index().Index(testIndexName).Type("comment").Id("1").Parent("3").BodyJson(&comment1).Do(context.TODO()) + _, err = client.Index().Index(testIndexName).Type("doc").Id("3").Routing("someroutingkey").BodyJson(&tweet3).Do(context.TODO()) if err != nil { t.Fatal(err) } + /* + _, err = client.Index().Index(testIndexName).Type("comment").Id("1").Parent("3").BodyJson(&comment1).Do(context.TODO()) + if err != nil { + t.Fatal(err) + } + */ // Add orders var orders []order @@ -243,20 +380,44 @@ func setupTestClientAndCreateIndexAndAddDocs(t logger, options ...ClientOptionFu orders = append(orders, order{Article: "T-Shirt", Manufacturer: "h&m", Price: 19, Time: "2015-06-18"}) for i, o := range orders { id := fmt.Sprintf("%d", i) - _, err = client.Index().Index(testIndexName).Type("order").Id(id).BodyJson(&o).Do(context.TODO()) + _, err = client.Index().Index(testOrderIndex).Type("doc").Id(id).BodyJson(&o).Do(context.TODO()) if err != nil { t.Fatal(err) } } // Flush - _, err = client.Flush().Index(testIndexName).Do(context.TODO()) + _, err = client.Flush().Index(testIndexName, testOrderIndex).Do(context.TODO()) if err != nil { t.Fatal(err) } return client } +func setupTestClientAndCreateIndexAndAddDocsNoSource(t logger, options ...ClientOptionFunc) *Client { + client := setupTestClientAndCreateIndex(t, options...) + + // Add tweets + tweet1 := tweet{User: "olivere", Message: "Welcome to Golang and Elasticsearch."} + tweet2 := tweet{User: "olivere", Message: "Another unrelated topic."} + + _, err := client.Index().Index(testNoSourceIndexName).Type("doc").Id("1").BodyJson(&tweet1).Do(context.TODO()) + if err != nil { + t.Fatal(err) + } + _, err = client.Index().Index(testNoSourceIndexName).Type("doc").Id("2").BodyJson(&tweet2).Do(context.TODO()) + if err != nil { + t.Fatal(err) + } + // Flush + _, err = client.Flush().Index(testNoSourceIndexName).Do(context.TODO()) + if err != nil { + t.Fatal(err) + } + + return client +} + var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") func randomString(n int) string { @@ -266,3 +427,19 @@ func randomString(n int) string { } return string(b) } + +type lexicographically struct { + strings []string +} + +func (l lexicographically) Len() int { + return len(l.strings) +} + +func (l lexicographically) Less(i, j int) bool { + return l.strings[i] < l.strings[j] +} + +func (l lexicographically) Swap(i, j int) { + l.strings[i], l.strings[j] = l.strings[j], l.strings[i] +} |