package dbhubsdk

import (
	"context"
	"testing"

	config2 "dataservices/commons/config"
	"dataservices/commons/constants"

	"github.com/stretchr/testify/require"
)

func TestStaticRouteUserMetaProvider(t *testing.T) {
	oldConf := config2.Global().ServerlessConf
	defer func() {
		config2.Global().ServerlessConf = oldConf
	}()

	config2.Global().ServerlessConf = config2.ServerlessConfig{
		Provider: constants.ClusterCloudProviderAliCloud,
		StaticRoutes: []config2.ServerlessRouteItem{
			{
				Host:   "gateway.example.com",
				Port:   4000,
				UseTLS: true,
			},
		},
	}

	provider := NewStaticRouteUserMetaProvider()
	meta, err := provider.GetUserMeta(context.Background(), 1, 2)
	require.NoError(t, err)
	require.Equal(t, "gateway.example.com", meta.Host)
	require.Equal(t, 4000, meta.Port)
	require.NotNil(t, meta.UseTLS)
	require.True(t, *meta.UseTLS)
	require.Equal(t, constants.ClusterCloudProviderAliCloud, meta.Cloud)
}
