github.com/Finschia/finschia-sdk@v0.48.1/store/types/pruning_test.go (about)

     1  package types
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestPruningOptions_Validate(t *testing.T) {
    10  	testCases := []struct {
    11  		keepRecent uint64
    12  		keepEvery  uint64
    13  		interval   uint64
    14  		expectErr  bool
    15  	}{
    16  		{100, 500, 10, false}, // default
    17  		{0, 0, 10, false},     // everything
    18  		{0, 1, 0, false},      // nothing
    19  		{0, 10, 10, false},
    20  		{100, 0, 0, true}, // invalid interval
    21  		{0, 1, 5, true},   // invalid interval
    22  	}
    23  
    24  	for _, tc := range testCases {
    25  		po := NewPruningOptions(tc.keepRecent, tc.keepEvery, tc.interval)
    26  		err := po.Validate()
    27  		require.Equal(t, tc.expectErr, err != nil, "options: %v, err: %s", po, err)
    28  	}
    29  }