29 lines
729 B
Go
29 lines
729 B
Go
package diagram
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestLatestMeasurementValueUsesMemberTimestamp(t *testing.T) {
|
|
value, err := latestMeasurementValue([]redis.Z{
|
|
{Member: "100", Score: 999},
|
|
{Member: "300", Score: 12},
|
|
{Member: "200", Score: 500},
|
|
}, "measurement-key")
|
|
|
|
require.NoError(t, err)
|
|
assert.Equal(t, float64(12), value)
|
|
}
|
|
|
|
func TestLatestMeasurementValueRejectsMissingOrInvalidTimestamps(t *testing.T) {
|
|
_, err := latestMeasurementValue(nil, "measurement-key")
|
|
require.Error(t, err)
|
|
|
|
_, err = latestMeasurementValue([]redis.Z{{Member: "invalid", Score: 1}}, "measurement-key")
|
|
require.Error(t, err)
|
|
}
|