|
- package service
-
- import (
- "encoding/base64"
- "testing"
-
- "github.com/stretchr/testify/require"
- )
-
- func TestParseAudioUsesFormatSpecificSampleRates(t *testing.T) {
- pcm := base64.StdEncoding.EncodeToString(make([]byte, 48_000))
- duration, err := parseAudio(pcm, "pcm16")
- require.NoError(t, err)
- require.Equal(t, 1.0, duration)
-
- g711 := base64.StdEncoding.EncodeToString(make([]byte, 8_000))
- duration, err = parseAudio(g711, "g711_ulaw")
- require.NoError(t, err)
- require.Equal(t, 1.0, duration)
- }
-
- func TestParseAudioAndDecodeBase64AudioDataRejectInvalidEncoding(t *testing.T) {
- _, err := parseAudio("not base64", "pcm16")
- require.Error(t, err)
-
- _, err = DecodeBase64AudioData("not base64")
- require.Error(t, err)
- }
-
- func TestDecodeBase64AudioDataStripsDataURLPrefix(t *testing.T) {
- decoded, err := DecodeBase64AudioData("data:audio/pcm;base64,AAE=")
-
- require.NoError(t, err)
- require.Equal(t, "AAE=", decoded)
- }
-
- func TestCountAudioTokensUsesConfiguredInputAndOutputRates(t *testing.T) {
- oneSecondPCM := base64.StdEncoding.EncodeToString(make([]byte, 48_000))
-
- inputTokens, err := CountAudioTokenInput(oneSecondPCM, "pcm16")
- require.NoError(t, err)
- require.Equal(t, 27, inputTokens)
-
- outputTokens, err := CountAudioTokenOutput(oneSecondPCM, "pcm16")
- require.NoError(t, err)
- require.Equal(t, 13, outputTokens)
-
- inputTokens, err = CountAudioTokenInput("", "pcm16")
- require.NoError(t, err)
- require.Zero(t, inputTokens)
- }
|