Skip to content

Commit

Permalink
use package level require/assert in tests (#382)
Browse files Browse the repository at this point in the history
  • Loading branch information
sentriz authored Sep 25, 2023
1 parent 548ab4f commit 39fb8e7
Show file tree
Hide file tree
Showing 8 changed files with 337 additions and 372 deletions.
14 changes: 6 additions & 8 deletions db/db_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ func TestGetSetting(t *testing.T) {
key := SettingKey(randKey())
value := "howdy"

require := require.New(t)

testDB, err := NewMock()
if err != nil {
t.Fatalf("error creating db: %v", err)
Expand All @@ -36,16 +34,16 @@ func TestGetSetting(t *testing.T) {
t.Fatalf("error migrating db: %v", err)
}

require.NoError(testDB.SetSetting(key, value))
require.NoError(t, testDB.SetSetting(key, value))

actual, err := testDB.GetSetting(key)
require.NoError(err)
require.Equal(value, actual)
require.NoError(t, err)
require.Equal(t, value, actual)

require.NoError(testDB.SetSetting(key, value))
require.NoError(t, testDB.SetSetting(key, value))
actual, err = testDB.GetSetting(key)
require.NoError(err)
require.Equal(value, actual)
require.NoError(t, err)
require.Equal(t, value, actual)
}

func TestMain(m *testing.M) {
Expand Down
134 changes: 66 additions & 68 deletions jukebox/jukebox_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,8 @@ func TestPlaySkipReset(t *testing.T) {

t.Parallel()
j := newJukebox(t)
require := require.New(t)

require.NoError(j.SetPlaylist([]string{
require.NoError(t, j.SetPlaylist([]string{
testPath("tr_0.mp3"),
testPath("tr_1.mp3"),
testPath("tr_2.mp3"),
Expand All @@ -49,56 +48,56 @@ func TestPlaySkipReset(t *testing.T) {
}))

status, err := j.GetStatus()
require.NoError(err)
require.Equal(0, status.CurrentIndex)
require.Equal(testPath("tr_0.mp3"), status.CurrentFilename)
require.Equal(5, status.Length)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 0, status.CurrentIndex)
require.Equal(t, testPath("tr_0.mp3"), status.CurrentFilename)
require.Equal(t, 5, status.Length)
require.Equal(t, true, status.Playing)

items, err := j.GetPlaylist()
require.NoError(err)
require.NoError(t, err)

itemsSorted := append([]string(nil), items...)
sort.Strings(itemsSorted)
require.Equal(itemsSorted, items)
require.Equal(t, itemsSorted, items)

require.NoError(j.Play())
require.NoError(t, j.Play())

status, err = j.GetStatus()
require.NoError(err)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, true, status.Playing)

require.NoError(j.Pause())
require.NoError(t, j.Pause())

status, err = j.GetStatus()
require.NoError(err)
require.Equal(false, status.Playing)
require.NoError(t, err)
require.Equal(t, false, status.Playing)

require.NoError(j.Play())
require.NoError(t, j.Play())

// skip to 2
require.NoError(j.SkipToPlaylistIndex(2, 0))
require.NoError(t, j.SkipToPlaylistIndex(2, 0))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(2, status.CurrentIndex)
require.Equal(testPath("tr_2.mp3"), status.CurrentFilename)
require.Equal(5, status.Length)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 2, status.CurrentIndex)
require.Equal(t, testPath("tr_2.mp3"), status.CurrentFilename)
require.Equal(t, 5, status.Length)
require.Equal(t, true, status.Playing)

// skip to 3
require.NoError(j.SkipToPlaylistIndex(3, 0))
require.NoError(t, j.SkipToPlaylistIndex(3, 0))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(3, status.CurrentIndex)
require.Equal(testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(5, status.Length)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 3, status.CurrentIndex)
require.Equal(t, testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(t, 5, status.Length)
require.Equal(t, true, status.Playing)

// just add one more by overwriting the playlist like some clients do
// we should keep the current track unchaned if we find it
require.NoError(j.SetPlaylist([]string{
require.NoError(t, j.SetPlaylist([]string{
"testdata/tr_0.mp3",
"testdata/tr_1.mp3",
"testdata/tr_2.mp3",
Expand All @@ -108,50 +107,50 @@ func TestPlaySkipReset(t *testing.T) {
}))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(3, status.CurrentIndex) // index unchanged
require.Equal(testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(6, status.Length) // we added one more track
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 3, status.CurrentIndex) // index unchanged
require.Equal(t, testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(t, 6, status.Length) // we added one more track
require.Equal(t, true, status.Playing)

// skip to 3 again
require.NoError(j.SkipToPlaylistIndex(3, 0))
require.NoError(t, j.SkipToPlaylistIndex(3, 0))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(3, status.CurrentIndex)
require.Equal(testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(6, status.Length)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 3, status.CurrentIndex)
require.Equal(t, testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(t, 6, status.Length)
require.Equal(t, true, status.Playing)

// remove all but 3
require.NoError(j.SetPlaylist([]string{
require.NoError(t, j.SetPlaylist([]string{
"testdata/tr_0.mp3",
"testdata/tr_1.mp3",
"testdata/tr_2.mp3",
"testdata/tr_3.mp3",
}))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(3, status.CurrentIndex) // index unchanged
require.Equal(testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(4, status.Length)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 3, status.CurrentIndex) // index unchanged
require.Equal(t, testPath("tr_3.mp3"), status.CurrentFilename)
require.Equal(t, 4, status.Length)
require.Equal(t, true, status.Playing)

// skip to 2 (5s long) in the middle of the track
require.NoError(j.SkipToPlaylistIndex(2, 2))
require.NoError(t, j.SkipToPlaylistIndex(2, 2))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(2, status.CurrentIndex) // index unchanged
require.Equal(testPath("tr_2.mp3"), status.CurrentFilename)
require.Equal(4, status.Length)
require.Equal(true, status.Playing)
require.Equal(2, status.Position) // at new position
require.NoError(t, err)
require.Equal(t, 2, status.CurrentIndex) // index unchanged
require.Equal(t, testPath("tr_2.mp3"), status.CurrentFilename)
require.Equal(t, 4, status.Length)
require.Equal(t, true, status.Playing)
require.Equal(t, 2, status.Position) // at new position

// overwrite completely
require.NoError(j.SetPlaylist([]string{
require.NoError(t, j.SetPlaylist([]string{
"testdata/tr_5.mp3",
"testdata/tr_6.mp3",
"testdata/tr_7.mp3",
Expand All @@ -160,33 +159,32 @@ func TestPlaySkipReset(t *testing.T) {
}))

status, err = j.GetStatus()
require.NoError(err)
require.Equal(0, status.CurrentIndex) // index unchanged
require.Equal(testPath("tr_5.mp3"), status.CurrentFilename)
require.Equal(5, status.Length)
require.Equal(true, status.Playing)
require.NoError(t, err)
require.Equal(t, 0, status.CurrentIndex) // index unchanged
require.Equal(t, testPath("tr_5.mp3"), status.CurrentFilename)
require.Equal(t, 5, status.Length)
require.Equal(t, true, status.Playing)
}

func TestVolume(t *testing.T) {
t.Parallel()
j := newJukebox(t)
require := require.New(t)

vol, err := j.GetVolumePct()
require.NoError(err)
require.Equal(100.0, vol)
require.NoError(t, err)
require.Equal(t, 100.0, vol)

require.NoError(j.SetVolumePct(69.0))
require.NoError(t, j.SetVolumePct(69.0))

vol, err = j.GetVolumePct()
require.NoError(err)
require.Equal(69.0, vol)
require.NoError(t, err)
require.Equal(t, 69.0, vol)

require.NoError(j.SetVolumePct(0.0))
require.NoError(t, j.SetVolumePct(0.0))

vol, err = j.GetVolumePct()
require.NoError(err)
require.Equal(0.0, vol)
require.NoError(t, err)
require.Equal(t, 0.0, vol)
}

func testPath(path string) string {
Expand Down
30 changes: 14 additions & 16 deletions playlist/playlist_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,18 @@ import (
func TestPlaylist(t *testing.T) {
t.Parallel()

require := require.New(t)

tmp := t.TempDir()
store, err := playlist.NewStore(tmp)
require.NoError(err)
require.NoError(t, err)

playlistIDs, err := store.List()
require.NoError(err)
require.Empty(playlistIDs)
require.NoError(t, err)
require.Empty(t, playlistIDs)

for _, playlistID := range playlistIDs {
playlist, err := store.Read(playlistID)
require.NoError(err)
require.NotZero(playlist.UpdatedAt)
require.NoError(t, err)
require.NotZero(t, playlist.UpdatedAt)
}

before := playlist.Playlist{
Expand All @@ -42,18 +40,18 @@ It has multiple lines 👍
}

newPath := playlist.NewPath(before.UserID, before.Name)
require.NoError(store.Write(newPath, &before))
require.NoError(t, store.Write(newPath, &before))

after, err := store.Read(newPath)
require.NoError(err)
require.NoError(t, err)

require.Equal(after.UserID, before.UserID)
require.Equal(after.Name, before.Name)
require.Equal(after.Comment, before.Comment)
require.Equal(after.Items, before.Items)
require.Equal(after.IsPublic, before.IsPublic)
require.Equal(t, after.UserID, before.UserID)
require.Equal(t, after.Name, before.Name)
require.Equal(t, after.Comment, before.Comment)
require.Equal(t, after.Items, before.Items)
require.Equal(t, after.IsPublic, before.IsPublic)

playlistIDs, err = store.List()
require.NoError(err)
require.True(len(playlistIDs) == 1)
require.NoError(t, err)
require.True(t, len(playlistIDs) == 1)
}
29 changes: 14 additions & 15 deletions podcasts/podcasts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ func TestPodcastsAndEpisodesWithSameName(t *testing.T) {
t.Skip("requires network access")

m := mockfs.New(t)
require := require.New(t)

base := t.TempDir()
podcasts := New(m.DB(), base, m.TagReader())
Expand All @@ -34,33 +33,33 @@ func TestPodcastsAndEpisodesWithSameName(t *testing.T) {
}

podcast, err := podcasts.AddNewPodcast("file://testdata/rss.new", newFeed)
require.NoError(err)
require.NoError(t, err)

require.Equal(podcast.RootDir, filepath.Join(base, "InternetBox"))
require.Equal(t, podcast.RootDir, filepath.Join(base, "InternetBox"))

podcast, err = podcasts.AddNewPodcast("file://testdata/rss.new", newFeed)
require.NoError(err)
require.NoError(t, err)

// check we made a unique podcast name
require.Equal(podcast.RootDir, filepath.Join(base, "InternetBox (1)"))
require.Equal(t, podcast.RootDir, filepath.Join(base, "InternetBox (1)"))

podcastEpisodes, err := podcasts.GetNewestPodcastEpisodes(10)
require.NoError(err)
require.Greater(len(podcastEpisodes), 0)
require.NoError(t, err)
require.Greater(t, len(podcastEpisodes), 0)

var pe []*db.PodcastEpisode
require.NoError(m.DB().Order("id").Find(&pe, "podcast_id=? AND title=?", podcast.ID, "Episode 126").Error)
require.Len(pe, 2)
require.NoError(t, m.DB().Order("id").Find(&pe, "podcast_id=? AND title=?", podcast.ID, "Episode 126").Error)
require.Len(t, pe, 2)

require.NoError(podcasts.DownloadEpisode(pe[0].ID))
require.NoError(podcasts.DownloadEpisode(pe[1].ID))
require.NoError(t, podcasts.DownloadEpisode(pe[0].ID))
require.NoError(t, podcasts.DownloadEpisode(pe[1].ID))

require.NoError(m.DB().Order("id").Preload("Podcast").Find(&pe, "podcast_id=? AND title=?", podcast.ID, "Episode 126").Error)
require.Len(pe, 2)
require.NoError(t, m.DB().Order("id").Preload("Podcast").Find(&pe, "podcast_id=? AND title=?", podcast.ID, "Episode 126").Error)
require.Len(t, pe, 2)

// check we made a unique podcast episode names
require.Equal("InternetBoxEpisode126.mp3", pe[0].Filename)
require.Equal("InternetBoxEpisode126 (1).mp3", pe[1].Filename)
require.Equal(t, "InternetBoxEpisode126.mp3", pe[0].Filename)
require.Equal(t, "InternetBoxEpisode126 (1).mp3", pe[1].Filename)
}

func TestGetMoreRecentEpisodes(t *testing.T) {
Expand Down
Loading

0 comments on commit 39fb8e7

Please sign in to comment.