Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
loki/pkg/kafka/config_test.go

42 lines
1.1 KiB

package kafka
import (
"testing"
"github.com/go-kit/log"
"github.com/stretchr/testify/require"
"github.com/twmb/franz-go/pkg/kfake"
"github.com/twmb/franz-go/pkg/kmsg"
)
func TestSetDefaultNumberOfPartitionsForAutocreatedTopics(t *testing.T) {
cluster, err := kfake.NewCluster(kfake.NumBrokers(1))
require.NoError(t, err)
t.Cleanup(cluster.Close)
addrs := cluster.ListenAddrs()
require.Len(t, addrs, 1)
cfg := Config{
Address: addrs[0],
AutoCreateTopicDefaultPartitions: 100,
}
cluster.ControlKey(kmsg.AlterConfigs.Int16(), func(request kmsg.Request) (kmsg.Response, error, bool) {
r := request.(*kmsg.AlterConfigsRequest)
require.Len(t, r.Resources, 1)
res := r.Resources[0]
require.Equal(t, kmsg.ConfigResourceTypeBroker, res.ResourceType)
require.Len(t, res.Configs, 1)
cfg := res.Configs[0]
require.Equal(t, "num.partitions", cfg.Name)
require.NotNil(t, *cfg.Value)
require.Equal(t, "100", *cfg.Value)
return &kmsg.AlterConfigsResponse{}, nil, true
})
cfg.SetDefaultNumberOfPartitionsForAutocreatedTopics(log.NewNopLogger())
}