github.com/altipla-consulting/ravendb-go-client@v0.1.3/tests/ravendb_12790_test.go (about) 1 package tests 2 3 import ( 4 "github.com/altipla-consulting/ravendb-go-client" 5 "github.com/stretchr/testify/assert" 6 "testing" 7 ) 8 9 func ravendb12790_lazyQueryAgainstMissingIndex(t *testing.T, driver *RavenTestDriver) { 10 var err error 11 store := driver.getDocumentStoreMust(t) 12 defer store.Close() 13 14 { 15 session := openSessionMust(t, store) 16 document := &Document2{ 17 Name: "name", 18 } 19 err = session.Store(document) 20 assert.NoError(t, err) 21 22 err = session.SaveChanges() 23 assert.NoError(t, err) 24 25 session.Close() 26 } 27 28 // intentionally not creating the index that we query against 29 { 30 session := openSessionMust(t, store) 31 query := session.QueryIndex("DocumentIndex") 32 var results []*Document2 33 err = query.GetResults(&results) 34 assert.Error(t, err) 35 _, ok := err.(*ravendb.IndexDoesNotExistError) 36 assert.True(t, ok) 37 38 session.Close() 39 } 40 41 { 42 session := openSessionMust(t, store) 43 lazyQuery, err := session.QueryIndex("DocumentIndex").Lazily() 44 assert.NoError(t, err) 45 46 var results []*Document2 47 err = lazyQuery.GetValue(&results) 48 assert.Error(t, err) 49 _, ok := err.(*ravendb.IndexDoesNotExistError) 50 assert.True(t, ok) 51 52 session.Close() 53 } 54 55 } 56 57 // note: renamed because conflicts with another Document 58 type Document2 struct { 59 Name string 60 } 61 62 func TestRavenDb12790(t *testing.T) { 63 driver := createTestDriver(t) 64 destroy := func() { destroyDriver(t, driver) } 65 defer recoverTest(t, destroy) 66 67 ravendb12790_lazyQueryAgainstMissingIndex(t, driver) 68 }