package config

import (
	"testing"

	"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/client/netmap"
	"github.com/stretchr/testify/require"
)

func Test_ValidateConfig(t *testing.T) {
	testArgs := make(map[string]any)

	testArgs[netmap.MaxECDataCountConfig] = int64(11)
	require.Error(t, validateConfig(testArgs, false))

	testArgs[netmap.MaxECParityCountConfig] = int64(256)
	require.Error(t, validateConfig(testArgs, false))
	require.NoError(t, validateConfig(testArgs, true))

	testArgs[netmap.MaxECParityCountConfig] = int64(-1)
	require.Error(t, validateConfig(testArgs, false))

	testArgs[netmap.MaxECParityCountConfig] = int64(55)
	require.NoError(t, validateConfig(testArgs, false))

	testArgs[netmap.HomomorphicHashingDisabledKey] = "1"
	require.Error(t, validateConfig(testArgs, false))

	testArgs[netmap.HomomorphicHashingDisabledKey] = true
	require.NoError(t, validateConfig(testArgs, false))

	testArgs["not-well-known-configuration-key"] = "key"
	require.NoError(t, validateConfig(testArgs, false))
}