package config import ( "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func TestValidateDefaults(t *testing.T) { cfg := WalConfig{} err := cfg.Validate() require.NoError(t, err, "default WalConfig should pass validation") d := Defaults() assert.Equal(t, d.MaxSegmentSize, cfg.MaxSegmentSize, "MaxSegmentSize should be defaulted") assert.Equal(t, d.BlockSize, cfg.BlockSize, "BlockSize should be defaulted") assert.Equal(t, d.SyncMode, cfg.SyncMode, "SyncMode should be defaulted") assert.Equal(t, d.MaxBatchEntries, cfg.MaxBatchEntries, "MaxBatchEntries should be defaulted") assert.Equal(t, d.MaxBatchSize, cfg.MaxBatchSize, "MaxBatchSize should be defaulted") assert.Equal(t, d.MaxKeyBytes, cfg.MaxKeyBytes, "MaxKeyBytes should be defaulted") assert.Equal(t, d.MaxInlineValue, cfg.MaxInlineValue, "MaxInlineValue should be defaulted") assert.Equal(t, d.MemTableSize, cfg.MemTableSize, "MemTableSize should be defaulted") assert.Equal(t, d.MaxImmutableCount, cfg.MaxImmutableCount, "MaxImmutableCount should be defaulted") } func TestValidateSegmentTooSmall(t *testing.T) { cfg := WalConfig{MaxSegmentSize: 1024} err := cfg.Validate() require.Error(t, err, "MaxSegmentSize=1024 should fail validation") assert.Contains(t, err.Error(), "too small") }