package config

import (
	"testing"

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

func TestMeteringConfig_ToMeteringSDKConfig_AzureFields(t *testing.T) {
	cfg := &MeteringConfig{
		Type:     "azure",
		Prefix:   "p",
		Region:   "eastus",
		Bucket:   "container-1",
		Endpoint: "https://account-1.blob.core.windows.net",
		Azure: &MeteringAzureConfig{
			AccountName: "account-1",
		},
	}

	sdkCfg := cfg.ToMeteringSDKConfig()
	if assert.NotNil(t, sdkCfg) {
		assert.Equal(t, "azure", string(sdkCfg.Type))
		assert.Equal(t, "p", sdkCfg.Prefix)
		assert.Equal(t, "eastus", sdkCfg.Region)
		assert.Equal(t, "container-1", sdkCfg.Bucket)
		assert.Equal(t, "https://account-1.blob.core.windows.net", sdkCfg.Endpoint)
		if assert.NotNil(t, sdkCfg.Azure) {
			assert.Equal(t, "account-1", sdkCfg.Azure.AccountName)
			assert.Empty(t, sdkCfg.Azure.AccountKey)
			assert.Empty(t, sdkCfg.Azure.SASToken)
		}
	}
}
