@@ -21,28 +21,38 @@ import (
2121 ti "go.opentelemetry.io/obi/pkg/test/integration"
2222)
2323
24- func testPythonElasticsearch (t * testing.T ) {
25- url := "http://localhost:8381"
26- comm := "python3.12"
27- index := "test_index"
24+ const (
25+ comm = "python3.12"
26+ testIndex = "test_index"
27+ testServerURL = "http://localhost:8381"
28+ )
2829
29- waitForTestComponentsRoute (t , url , "/health" )
30- testElasticsearchSearch (t , comm , url , index )
30+ func testPythonElasticsearch (t * testing.T , dbSystemName string ) {
31+ var url string
32+ switch dbSystemName {
33+ case "elasticsearch" :
34+ url = "http://elasticsearchserver:9200"
35+ case "opensearch" :
36+ url = "http://opensearchserver:9200"
37+ }
38+ queryParam := "?host_url=" + url
39+ waitForTestComponentsNoMetrics (t , testServerURL + "/health" + queryParam )
40+ testElasticsearchSearch (t , dbSystemName , queryParam )
3141 // populate the server is optional, the elasticsearch request will fail
3242 // but we will have the span
33- testElasticsearchMsearch (t , comm , url )
34- testElasticsearchBulk (t , comm , url )
35- testElasticsearchDoc (t , comm , url , index )
43+ testElasticsearchMsearch (t , dbSystemName , queryParam )
44+ testElasticsearchBulk (t , dbSystemName , queryParam )
45+ testElasticsearchDoc (t , dbSystemName , queryParam )
3646}
3747
38- func testElasticsearchSearch (t * testing.T , comm , url , index string ) {
48+ func testElasticsearchSearch (t * testing.T , dbSystemName , queryParam string ) {
3949 queryText := "{\" query\" : {\" match\" : {\" name\" : \" OBI\" }}}"
4050 urlPath := "/search"
41- ti .DoHTTPGet (t , url + urlPath , 200 )
42- assertElasticsearchOperation (t , comm , "search" , queryText , index )
51+ ti .DoHTTPGet (t , testServerURL + urlPath + queryParam , 200 )
52+ assertElasticsearchOperation (t , dbSystemName , "search" , queryText , testIndex )
4353}
4454
45- func assertElasticsearchOperation (t * testing.T , comm , op , queryText , index string ) {
55+ func assertElasticsearchOperation (t * testing.T , dbSystemName , op , queryText , index string ) {
4656 params := neturl.Values {}
4757 params .Add ("service" , comm )
4858 var operationName string
@@ -85,31 +95,31 @@ func assertElasticsearchOperation(t *testing.T, comm, op, queryText, index strin
8595
8696 tag , found = jaeger .FindIn (span .Tags , "db.system.name" )
8797 assert .True (t , found )
88- assert .Equal (t , "elasticsearch" , tag .Value )
98+ assert .Equal (t , dbSystemName , tag .Value )
8999
90100 tag , found = jaeger .FindIn (span .Tags , "elasticsearch.node.name" )
91101 assert .True (t , found )
92102 assert .Empty (t , tag .Value )
93103 }, test .Interval (100 * time .Millisecond ))
94104}
95105
96- func testElasticsearchMsearch (t * testing.T , comm , url string ) {
106+ func testElasticsearchMsearch (t * testing.T , dbSystemName , queryParam string ) {
97107 queryText := "[{}, {\" query\" : {\" match\" : {\" message\" : \" this is a test\" }}}, {\" index\" : \" my-index-000002\" }, {\" query\" : {\" match_all\" : {}}}]"
98108 urlPath := "/msearch"
99- ti .DoHTTPGet (t , url + urlPath , 200 )
100- assertElasticsearchOperation (t , comm , "msearch" , queryText , "" )
109+ ti .DoHTTPGet (t , testServerURL + urlPath + queryParam , 200 )
110+ assertElasticsearchOperation (t , dbSystemName , "msearch" , queryText , "" )
101111}
102112
103- func testElasticsearchBulk (t * testing.T , comm , url string ) {
113+ func testElasticsearchBulk (t * testing.T , dbSystemName , queryParam string ) {
104114 queryText := "[{\" index\" : {\" _index\" : \" test\" , \" _id\" : \" 1\" }}, {\" field1\" : \" value1\" }, {\" delete\" : {\" _index\" : \" test\" , \" _id\" : \" 2\" }}, {\" create\" : {\" _index\" : \" test\" , \" _id\" : \" 3\" }}, {\" field1\" : \" value3\" }, {\" update\" : {\" _id\" : \" 1\" , \" _index\" : \" test\" }}, {\" doc\" : {\" field2\" : \" value2\" }}]"
105115 urlPath := "/bulk"
106- ti .DoHTTPGet (t , url + urlPath , 200 )
107- assertElasticsearchOperation (t , comm , "bulk" , queryText , "" )
116+ ti .DoHTTPGet (t , testServerURL + urlPath + queryParam , 200 )
117+ assertElasticsearchOperation (t , dbSystemName , "bulk" , queryText , "" )
108118}
109119
110- func testElasticsearchDoc (t * testing.T , comm , url , index string ) {
120+ func testElasticsearchDoc (t * testing.T , dbSystemName , queryParam string ) {
111121 queryText := ""
112122 urlPath := "/doc"
113- ti .DoHTTPGet (t , url + urlPath , 200 )
114- assertElasticsearchOperation (t , comm , "doc" , queryText , index )
123+ ti .DoHTTPGet (t , testServerURL + urlPath + queryParam , 200 )
124+ assertElasticsearchOperation (t , dbSystemName , "doc" , queryText , testIndex )
115125}
0 commit comments