github.com/derat/nup@v0.0.0-20230418113745-15592ba7c620/cmd/nup/update/json_test.go (about) 1 // Copyright 2020 Daniel Erat. 2 // All rights reserved. 3 4 package update 5 6 import ( 7 "testing" 8 9 "github.com/derat/nup/server/db" 10 "github.com/derat/nup/test" 11 ) 12 13 func TestJSON(t *testing.T) { 14 dir := t.TempDir() 15 songs := []db.Song{test.LegacySong1, test.LegacySong2} 16 ch := make(chan songOrErr) 17 p, err := test.WriteSongsToJSONFile(dir, songs...) 18 if err != nil { 19 t.Error("Failed writing JSON file: ", err) 20 } 21 num, err := readSongsFromJSONFile(p, ch) 22 if err != nil { 23 t.Error("Failed reading songs from JSON: ", err) 24 } 25 actual, err := getSongsFromChannel(ch, num) 26 if err != nil { 27 t.Error("Failed getting songs from channel: ", err) 28 } 29 if err := test.CompareSongs(songs, actual, test.IgnoreOrder); err != nil { 30 t.Error("Bad songs: ", err) 31 } 32 }