github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/tests/ravendb_12790_test.go (about)

     1  package tests
     2  
     3  import (
     4  	"github.com/ravendb/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  }