Skip to content

Commit 9d14bc9

Browse files
authored
Add untyped union deserialization (#776)
* update Typed API with untyped union deserialization * add integration test for mget * add integration test for msearch * fix: internal_tag has precedence over untyped unions
1 parent 46b1523 commit 9d14bc9

File tree

2,918 files changed

+8229
-5449
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,918 files changed

+8229
-5449
lines changed

elasticsearch_integration_test.go

+48
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,21 @@ func TestTypedClient(t *testing.T) {
399399
t.Fatalf("could not retrieve document: %s", err)
400400
}
401401

402+
mgetResponse, err := es.Mget().Index(indexName).Ids("1", "2").Do(context.Background())
403+
if err != nil {
404+
t.Fatalf("could not mget documents: %s", err)
405+
}
406+
for _, doc := range mgetResponse.Docs {
407+
switch d := doc.(type) {
408+
case *types.GetResult:
409+
if d.Found != true {
410+
t.Fatalf("error while doing reading mget response")
411+
}
412+
case *types.MultiGetError:
413+
t.Fatalf("document should exist at this point")
414+
}
415+
}
416+
402417
// Try to retrieve a faulty index name
403418
if ok, _ := es.Get("non-existent-index", "9999").IsSuccess(context.Background()); ok {
404419
t.Fatalf("index shouldn't exist")
@@ -466,6 +481,39 @@ func TestTypedClient(t *testing.T) {
466481
}
467482
}
468483
}
484+
485+
msearch := es.Msearch()
486+
_ = msearch.AddSearch(types.MultisearchHeader{Index: []string{indexName}}, types.MultisearchBody{Query: &types.Query{
487+
Match: map[string]types.MatchQuery{
488+
"name": {Query: "Foo"},
489+
},
490+
}})
491+
_ = msearch.AddSearch(types.MultisearchHeader{Index: []string{indexName}}, types.MultisearchBody{Aggregations: map[string]types.Aggregations{
492+
"total_prices": {
493+
Sum: &types.SumAggregation{
494+
Field: some.String("price"),
495+
},
496+
},
497+
}})
498+
_ = msearch.AddSearch(types.MultisearchHeader{Index: []string{"non-existent-index"}}, types.MultisearchBody{Query: &types.Query{Match: map[string]types.MatchQuery{
499+
"foo": {Query: "bzz"},
500+
}}})
501+
msearchRes, err := msearch.Do(context.Background())
502+
if err != nil {
503+
t.Fatal(err)
504+
}
505+
for _, response := range msearchRes.Responses {
506+
switch r := response.(type) {
507+
case *types.MultiSearchItem:
508+
if *r.Status != 200 {
509+
t.Fatalf("error while reading multisearch response")
510+
}
511+
case *types.ErrorResponseBase:
512+
if r.Status != 404 {
513+
t.Fatalf("expected 404 index_not_found_exception, got: %v", r)
514+
}
515+
}
516+
}
469517
})
470518

471519
t.Run("Term query from JSON", func(t *testing.T) {

typedapi/api._.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/delete/delete.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/delete/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/get/get.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/get/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/status/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/status/status.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/submit/request.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/submit/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/asyncsearch/submit/submit.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/deleteautoscalingpolicy/delete_autoscaling_policy.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/deleteautoscalingpolicy/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/getautoscalingcapacity/get_autoscaling_capacity.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/getautoscalingcapacity/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/getautoscalingpolicy/get_autoscaling_policy.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/getautoscalingpolicy/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/putautoscalingpolicy/put_autoscaling_policy.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/putautoscalingpolicy/request.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/autoscaling/putautoscalingpolicy/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/cat/aliases/aliases.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/cat/aliases/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/cat/allocation/allocation.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/cat/allocation/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/cat/componenttemplates/component_templates.go

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

typedapi/cat/componenttemplates/response.go

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)