package util

import (
	"testing"

	"github.com/stretchr/testify/assert"
	central "github.com/tidbcloud/central-sdk/proto/output"
)

func TestValidateCidr(t *testing.T) {
	trafficFilter1 := &central.TrafficFilterList{
		Cidrs: []*central.TrafficFilter{
			{
				Cidr:        "0.0.0.0/0",
				Description: "xxxttt",
			},
			{
				Cidr:        "0.0.0.0/0",
				Description: "xxxttt",
			},
		},
	}
	trafficFilter2 := &central.TrafficFilterList{
		Cidrs: []*central.TrafficFilter{
			{
				Cidr:        "0.0.0.0/0",
				Description: "xxxttt",
			},
			{
				Cidr:        "0.0.0.1/0",
				Description: "xxxttt",
			},
		},
	}

	// Cidr duplicate, update failed
	err := ValidateCidr(trafficFilter1)
	assert.NotNil(t, err)

	// Cidr invalid, update failed
	err = ValidateCidr(trafficFilter2)
	assert.NotNil(t, err)
}
