package global

import (
	"encoding/json"
	"testing"
	"time"

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

func TestCoverage(t *testing.T) {
	trueAnser := `{"labels":{"project_id":"","cluster_id":"","component_id":""},"amount":0.000574231177675254,"cost":0.000011,"service_name":"Cloud Storage"}`

	addr := &Item{}
	in := map[string]interface{}{"amount": 0.000574231177675254, "service_name": "Cloud Storage", "cost": 1.1e-05}
	err := Coverage(in, addr)
	if err != nil {
		panic(err)
	}
	jsonStr, err := json.Marshal(addr)
	if err != nil {
		panic(err)
	}
	assert.Equal(t, trueAnser, string(jsonStr))
}

func TestTimeFormatCheck(t *testing.T) {
	_, err := time.Parse(TIME_TEMPLATE, "2022-01-11 19:00:00")
	assert.NoError(t, err)

	_, err = time.Parse(TIME_TEMPLATE, "2022-01-11 19:00:00 UTC")
	assert.NotNil(t, err)
	t.Log(err)

	_, err = time.Parse(TIME_TEMPLATE, "2022-01-11Z19:00:00 UTC")
	assert.NotNil(t, err)
	t.Log(err)
}
