package util

import (
	"testing"

	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

func Test(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "Util Suite")
}

var _ = Describe("Util", func() {

	It("OverlayToml", func() {
		base := map[string]interface{}{
			"config": map[string]interface{}{
				"raftstore": map[string]interface{}{
					"apply-pool-size": 1,
					"store-pool-size": 1,
				},
			},
		}
		overlay := `[raftstore]
apply-pool-size = 2
store-pool-size = 2
`
		err := OverlayToml(base, overlay, "config")
		Expect(err).To(Succeed())
		raftstoreConfig, err := GetChild(base, "config", "raftstore")
		Expect(err).To(Succeed())
		Expect(raftstoreConfig["apply-pool-size"]).To(Equal(int64(2)))
		Expect(raftstoreConfig["store-pool-size"]).To(Equal(int64(2)))
	})
})
