github.com/altipla-consulting/ravendb-go-client@v0.1.3/tests/get_statistics_command_test.go (about)

     1  package tests
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/altipla-consulting/ravendb-go-client"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func getStatisticsCommandTestCanGetStats(t *testing.T, driver *RavenTestDriver) {
    11  	var err error
    12  	store := driver.getDocumentStoreMust(t)
    13  	defer store.Close()
    14  
    15  	executor := store.GetRequestExecutor("")
    16  
    17  	sampleData := ravendb.NewCreateSampleDataOperation()
    18  	err = store.Maintenance().Send(sampleData)
    19  	assert.NoError(t, err)
    20  
    21  	err = driver.waitForIndexing(store, store.GetDatabase(), 0)
    22  	assert.NoError(t, err)
    23  	command := ravendb.NewGetStatisticsCommand("")
    24  	assert.NoError(t, err)
    25  	err = executor.ExecuteCommand(command, nil)
    26  	assert.NoError(t, err)
    27  	stats := command.Result
    28  	assert.NotNil(t, stats)
    29  	assert.True(t, stats.LastDocEtag > 0)
    30  	assert.Equal(t, stats.CountOfIndexes, 3)
    31  	assert.Equal(t, stats.CountOfDocuments, int64(1059))
    32  	assert.True(t, stats.CountOfRevisionDocuments > 0)
    33  	assert.Equal(t, stats.CountOfDocumentsConflicts, int64(0))
    34  	assert.Equal(t, stats.CountOfConflicts, int64(0))
    35  	assert.Equal(t, stats.CountOfUniqueAttachments, int64(17))
    36  	assert.NotEqual(t, stats.DatabaseChangeVector, "")
    37  	assert.NotEqual(t, stats.DatabaseID, "")
    38  	assert.NotNil(t, stats.Pager)
    39  	assert.NotNil(t, stats.GetLastIndexingTime())
    40  	assert.NotNil(t, stats.Indexes)
    41  	assert.NotEqual(t, stats.SizeOnDisk.HumaneSize, "")
    42  	assert.NotEqual(t, stats.SizeOnDisk.SizeInBytes, 0)
    43  
    44  	indexes := stats.Indexes
    45  	for _, indexInformation := range indexes {
    46  		assert.NotEqual(t, indexInformation.Name, "")
    47  		assert.False(t, indexInformation.IsStale)
    48  		assert.NotNil(t, indexInformation.State)
    49  		assert.NotEqual(t, indexInformation.LockMode, "")
    50  		assert.NotEqual(t, indexInformation.Priority, "")
    51  		assert.NotEqual(t, indexInformation.Type, "")
    52  		assert.NotNil(t, indexInformation.GetLastIndexingTime())
    53  	}
    54  }
    55  
    56  func TestGetStatisticsCommand(t *testing.T) {
    57  	driver := createTestDriver(t)
    58  	destroy := func() { destroyDriver(t, driver) }
    59  	defer recoverTest(t, destroy)
    60  
    61  	getStatisticsCommandTestCanGetStats(t, driver)
    62  }