use go:embed to simplify testdata loading

This commit is contained in:
Philipp Wolfer 2023-12-10 14:11:54 +01:00
parent c4193f42a1
commit dd501df5c5
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
4 changed files with 35 additions and 25 deletions

View file

@ -16,8 +16,8 @@ Scotty. If not, see <https://www.gnu.org/licenses/>.
package deezer_test
import (
_ "embed"
"encoding/json"
"os"
"testing"
"time"
@ -28,6 +28,13 @@ import (
"go.uploadedlobster.com/scotty/internal/config"
)
var (
//go:embed testdata/listen.json
testListen []byte
//go:embed testdata/track.json
testTrack []byte
)
func TestFromConfig(t *testing.T) {
c := viper.New()
c.Set("client-id", "someclientid")
@ -38,10 +45,8 @@ func TestFromConfig(t *testing.T) {
}
func TestListenAsListen(t *testing.T) {
data, err := os.ReadFile("testdata/listen.json")
require.NoError(t, err)
track := deezer.Listen{}
err = json.Unmarshal(data, &track)
err := json.Unmarshal(testListen, &track)
require.NoError(t, err)
listen := track.AsListen()
assert.Equal(t, time.Unix(1700753817, 0), listen.ListenedAt)
@ -55,10 +60,8 @@ func TestListenAsListen(t *testing.T) {
}
func TestLovedTrackAsLove(t *testing.T) {
data, err := os.ReadFile("testdata/track.json")
require.NoError(t, err)
track := deezer.LovedTrack{}
err = json.Unmarshal(data, &track)
err := json.Unmarshal(testTrack, &track)
require.NoError(t, err)
love := track.AsLove()
assert.Equal(t, time.Unix(1700743848, 0), love.Created)