@@ -15,28 +15,29 @@ import (
15
15
"github.com/olivere/elastic"
16
16
"github.com/sirupsen/logrus"
17
17
"github.com/stretchr/testify/assert"
18
+ "github.com/stretchr/testify/require"
18
19
)
19
20
20
21
const elasticURL = "http://localhost:9200"
21
22
const indexName = "rp_elastic_test"
22
23
23
24
func setup (t * testing.T ) (* sql.DB , * elastic.Client ) {
24
25
testDB , err := ioutil .ReadFile ("testdb.sql" )
25
- assert .NoError (t , err )
26
+ require .NoError (t , err )
26
27
27
28
db , err := sql .Open ("postgres" , "postgres://temba:temba@localhost:5432/elastic_test?sslmode=disable" )
28
- assert .NoError (t , err )
29
+ require .NoError (t , err )
29
30
30
31
_ , err = db .Exec (string (testDB ))
31
- assert .NoError (t , err )
32
+ require .NoError (t , err )
32
33
33
- client , err := elastic .NewClient (elastic .SetURL (elasticURL ), elastic .SetTraceLog (log .New (os .Stdout , "" , log .LstdFlags )))
34
- assert .NoError (t , err )
34
+ client , err := elastic .NewClient (elastic .SetURL (elasticURL ), elastic .SetTraceLog (log .New (os .Stdout , "" , log .LstdFlags )), elastic . SetSniff ( false ) )
35
+ require .NoError (t , err )
35
36
36
37
existing := FindPhysicalIndexes (elasticURL , indexName )
37
38
for _ , idx := range existing {
38
39
_ , err = client .DeleteIndex (idx ).Do (context .Background ())
39
- assert .NoError (t , err )
40
+ require .NoError (t , err )
40
41
}
41
42
42
43
logrus .SetLevel (logrus .DebugLevel )
@@ -99,7 +100,11 @@ func TestIndexing(t *testing.T) {
99
100
assertQuery (t , client , physicalName , elastic .NewRangeQuery ("created_on" ).Gt ("2017-01-01" ), []int64 {1 , 6 , 8 })
100
101
101
102
// last_seen_on range query
102
- assertQuery (t , client , physicalName , elastic .NewRangeQuery ("last_seen_on" ).Lt ("2019-01-01" ), []int64 {1 , 2 , 4 , 5 })
103
+ assertQuery (t , client , physicalName , elastic .NewRangeQuery ("last_seen_on" ).Lt ("2019-01-01" ), []int64 {3 , 4 })
104
+
105
+ // last_seen_on is set / not set queries
106
+ assertQuery (t , client , physicalName , elastic .NewExistsQuery ("last_seen_on" ), []int64 {1 , 2 , 3 , 4 , 5 , 6 })
107
+ assertQuery (t , client , physicalName , elastic .NewBoolQuery ().MustNot (elastic .NewExistsQuery ("last_seen_on" )), []int64 {7 , 8 , 9 })
103
108
104
109
// urn query
105
110
query := elastic .NewNestedQuery ("urns" , elastic .NewBoolQuery ().Must (
0 commit comments