2020-01-09 23:09:05 +01:00
//+build linux darwin
// TODO Fix snapshot tests in Windows
// Response Snapshot tests. Only run in Linux and macOS, as they fail in Windows
// Probably because of EOL char differences
2016-03-03 02:00:55 +01:00
package responses_test
2016-03-02 23:23:26 +01:00
import (
2020-01-09 23:09:05 +01:00
"encoding/json"
"encoding/xml"
2016-03-09 16:09:15 +01:00
"time"
2020-01-30 20:43:24 +01:00
"github.com/deluan/navidrome/consts"
2020-01-24 01:44:08 +01:00
. "github.com/deluan/navidrome/server/subsonic/responses"
2020-01-09 23:09:05 +01:00
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
2016-03-02 23:23:26 +01:00
)
2020-01-09 23:09:05 +01:00
var _ = Describe ( "Responses" , func ( ) {
var response * Subsonic
BeforeEach ( func ( ) {
2020-01-30 20:43:24 +01:00
response = & Subsonic { Status : "ok" , Version : "1.8.0" , Type : consts . AppName , ServerVersion : "v0.0.0" }
2020-01-09 23:09:05 +01:00
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "EmptyResponse" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-02 23:23:26 +01:00
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "License" , func ( ) {
BeforeEach ( func ( ) {
2016-03-02 23:23:26 +01:00
response . License = & License { Valid : true }
} )
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "MusicFolders" , func ( ) {
BeforeEach ( func ( ) {
2016-03-02 23:23:26 +01:00
response . MusicFolders = & MusicFolders { }
2020-01-09 23:09:05 +01:00
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
2016-03-02 23:23:26 +01:00
folders := make ( [ ] MusicFolder , 2 )
2020-05-10 03:00:38 +02:00
folders [ 0 ] = MusicFolder { Id : 111 , Name : "aaa" }
folders [ 1 ] = MusicFolder { Id : 222 , Name : "bbb" }
2016-03-02 23:23:26 +01:00
response . MusicFolders . Folders = folders
2020-01-09 23:09:05 +01:00
} )
2016-03-02 23:23:26 +01:00
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-02 23:23:26 +01:00
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-02 23:23:26 +01:00
} )
} )
2020-01-09 23:09:05 +01:00
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "Indexes" , func ( ) {
BeforeEach ( func ( ) {
2020-05-10 03:00:38 +02:00
response . Indexes = & Indexes { LastModified : 1 , IgnoredArticles : "A" }
2020-01-09 23:09:05 +01:00
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
artists := make ( [ ] Artist , 1 )
2020-01-19 02:03:52 +01:00
t := time . Date ( 2016 , 03 , 2 , 20 , 30 , 0 , 0 , time . UTC )
2020-10-30 21:08:43 +01:00
artists [ 0 ] = Artist {
Id : "111" ,
Name : "aaa" ,
Starred : & t ,
UserRating : 3 ,
AlbumCount : 2 ,
ArtistImageUrl : "https://lastfm.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png" ,
}
2016-03-02 23:23:26 +01:00
index := make ( [ ] Index , 1 )
index [ 0 ] = Index { Name : "A" , Artists : artists }
response . Indexes . Index = index
} )
2020-01-09 23:09:05 +01:00
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-02 23:23:26 +01:00
} )
} )
2020-01-09 23:09:05 +01:00
} )
2016-03-02 23:23:26 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "Child" , func ( ) {
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
response . Directory = & Directory { Id : "1" , Name : "N" }
2016-03-04 15:09:16 +01:00
child := make ( [ ] Child , 1 )
t := time . Date ( 2016 , 03 , 2 , 20 , 30 , 0 , 0 , time . UTC )
child [ 0 ] = Child {
Id : "1" , IsDir : true , Title : "title" , Album : "album" , Artist : "artist" , Track : 1 ,
2020-05-20 05:50:27 +02:00
Year : 1985 , Genre : "Rock" , CoverArt : "1" , Size : 8421341 , ContentType : "audio/flac" ,
2016-03-04 15:09:16 +01:00
Suffix : "flac" , TranscodedContentType : "audio/mpeg" , TranscodedSuffix : "mp3" ,
Duration : 146 , BitRate : 320 , Starred : & t ,
}
response . Directory . Child = child
2020-01-09 23:09:05 +01:00
} )
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-04 15:09:16 +01:00
} )
} )
2020-01-09 23:09:05 +01:00
} )
2016-03-04 15:09:16 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "Directory" , func ( ) {
BeforeEach ( func ( ) {
2016-03-03 00:44:13 +01:00
response . Directory = & Directory { Id : "1" , Name : "N" }
2020-01-09 23:09:05 +01:00
} )
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
2016-03-03 04:22:31 +01:00
child := make ( [ ] Child , 1 )
2016-03-03 06:46:23 +01:00
child [ 0 ] = Child { Id : "1" , Title : "title" , IsDir : false }
2016-03-03 04:22:31 +01:00
response . Directory . Child = child
2020-01-09 23:09:05 +01:00
} )
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-03 04:22:31 +01:00
} )
2016-03-04 15:09:16 +01:00
} )
2020-01-09 23:09:05 +01:00
} )
2016-03-04 15:09:16 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "AlbumList" , func ( ) {
BeforeEach ( func ( ) {
2016-03-04 15:09:16 +01:00
response . AlbumList = & AlbumList { }
2020-01-09 23:09:05 +01:00
} )
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
2016-03-03 00:44:13 +01:00
child := make ( [ ] Child , 1 )
2016-03-04 15:09:16 +01:00
child [ 0 ] = Child { Id : "1" , Title : "title" , IsDir : false }
response . AlbumList . Album = child
2020-01-09 23:09:05 +01:00
} )
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-03 00:44:13 +01:00
} )
} )
2020-01-09 23:09:05 +01:00
} )
2016-03-03 00:44:13 +01:00
2020-01-09 23:09:05 +01:00
Describe ( "User" , func ( ) {
BeforeEach ( func ( ) {
2016-03-04 00:44:39 +01:00
response . User = & User { Username : "deluan" }
2020-01-09 23:09:05 +01:00
} )
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
2020-01-24 01:44:08 +01:00
response . User . Email = "navidrome@deluan.com"
2016-03-04 00:44:39 +01:00
response . User . Folder = [ ] int { 1 }
2020-01-09 23:09:05 +01:00
} )
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-04 00:44:39 +01:00
} )
} )
2020-01-09 23:09:05 +01:00
} )
2020-10-27 23:19:56 +01:00
Describe ( "Users" , func ( ) {
BeforeEach ( func ( ) {
u := User { Username : "deluan" }
response . Users = & Users { User : [ ] User { u } }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
u := User { Username : "deluan" }
u . Email = "navidrome@deluan.com"
u . AdminRole = true
u . Folder = [ ] int { 1 }
response . Users = & Users { User : [ ] User { u } }
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-01-09 23:09:05 +01:00
Describe ( "Playlists" , func ( ) {
BeforeEach ( func ( ) {
2016-03-09 16:09:15 +01:00
response . Playlists = & Playlists { }
2020-01-09 23:09:05 +01:00
} )
2016-03-09 16:09:15 +01:00
2020-01-09 23:09:05 +01:00
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
2016-03-09 16:09:15 +01:00
} )
2020-01-09 23:09:05 +01:00
} )
Context ( "with data" , func ( ) {
2020-04-11 22:45:21 +02:00
timestamp , _ := time . Parse ( time . RFC3339 , "2020-04-11T16:43:00Z04:00" )
2020-01-09 23:09:05 +01:00
BeforeEach ( func ( ) {
2016-03-09 16:09:15 +01:00
pls := make ( [ ] Playlist , 2 )
2020-04-11 22:45:21 +02:00
pls [ 0 ] = Playlist {
Id : "111" ,
Name : "aaa" ,
Comment : "comment" ,
SongCount : 2 ,
Duration : 120 ,
Public : true ,
Owner : "admin" ,
2020-04-12 01:15:15 +02:00
Created : timestamp ,
Changed : timestamp ,
2020-04-11 22:45:21 +02:00
}
2016-03-09 16:09:15 +01:00
pls [ 1 ] = Playlist { Id : "222" , Name : "bbb" }
response . Playlists . Playlist = pls
2020-01-09 23:09:05 +01:00
} )
2016-03-09 16:09:15 +01:00
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-09 23:09:05 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2016-03-02 23:23:26 +01:00
} )
} )
2020-01-15 23:49:09 +01:00
Describe ( "Genres" , func ( ) {
BeforeEach ( func ( ) {
response . Genres = & Genres { }
} )
Context ( "without data" , func ( ) {
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-15 23:49:09 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-15 23:49:09 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
genres := make ( [ ] Genre , 3 )
genres [ 0 ] = Genre { SongCount : 1000 , AlbumCount : 100 , Name : "Rock" }
genres [ 1 ] = Genre { SongCount : 500 , AlbumCount : 50 , Name : "Reggae" }
genres [ 2 ] = Genre { SongCount : 0 , AlbumCount : 0 , Name : "Pop" }
response . Genres . Genre = genres
} )
2020-01-16 00:03:22 +01:00
It ( "should match .XML" , func ( ) {
2020-01-15 23:49:09 +01:00
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
2020-01-16 00:03:22 +01:00
It ( "should match .JSON" , func ( ) {
2020-01-15 23:49:09 +01:00
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-02-10 01:42:37 +01:00
Describe ( "ArtistInfo" , func ( ) {
BeforeEach ( func ( ) {
response . ArtistInfo = & ArtistInfo { }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
response . ArtistInfo . Biography = ` Black Sabbath is an English <a target='_blank' href="http://www.last.fm/tag/heavy%20metal" class="bbcode_tag" rel="tag">heavy metal</a> band `
response . ArtistInfo . MusicBrainzID = "5182c1d9-c7d2-4dad-afa0-ccfeada921a8"
response . ArtistInfo . LastFmUrl = "http://www.last.fm/music/Black+Sabbath"
response . ArtistInfo . SmallImageUrl = "http://userserve-ak.last.fm/serve/64/27904353.jpg"
response . ArtistInfo . MediumImageUrl = "http://userserve-ak.last.fm/serve/126/27904353.jpg"
response . ArtistInfo . LargeImageUrl = "http://userserve-ak.last.fm/serve/_/27904353/Black+Sabbath+sabbath+1970.jpg"
response . ArtistInfo . SimilarArtist = [ ] Artist {
{ Id : "22" , Name : "Accept" } ,
{ Id : "101" , Name : "Bruce Dickinson" } ,
{ Id : "26" , Name : "Aerosmith" } ,
}
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-07-31 18:36:33 +02:00
2020-08-05 19:48:50 +02:00
Describe ( "TopSongs" , func ( ) {
BeforeEach ( func ( ) {
response . TopSongs = & TopSongs { }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
child := make ( [ ] Child , 1 )
child [ 0 ] = Child { Id : "1" , Title : "title" , IsDir : false }
response . TopSongs . Song = child
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-10-20 19:38:44 +02:00
Describe ( "SimilarSongs" , func ( ) {
BeforeEach ( func ( ) {
response . SimilarSongs = & SimilarSongs { }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
child := make ( [ ] Child , 1 )
child [ 0 ] = Child { Id : "1" , Title : "title" , IsDir : false }
response . SimilarSongs . Song = child
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
Describe ( "SimilarSongs2" , func ( ) {
BeforeEach ( func ( ) {
response . SimilarSongs2 = & SimilarSongs2 { }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
child := make ( [ ] Child , 1 )
child [ 0 ] = Child { Id : "1" , Title : "title" , IsDir : false }
response . SimilarSongs2 . Song = child
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-07-31 18:36:33 +02:00
Describe ( "PlayQueue" , func ( ) {
BeforeEach ( func ( ) {
response . PlayQueue = & PlayQueue { }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
response . PlayQueue . Username = "user1"
response . PlayQueue . Current = "111"
response . PlayQueue . Position = 243
response . PlayQueue . Changed = & time . Time { }
response . PlayQueue . ChangedBy = "a_client"
child := make ( [ ] Child , 1 )
child [ 0 ] = Child { Id : "1" , Title : "title" , IsDir : false }
response . PlayQueue . Entry = child
2020-07-31 21:47:34 +02:00
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
Describe ( "Bookmarks" , func ( ) {
BeforeEach ( func ( ) {
response . Bookmarks = & Bookmarks { }
} )
2020-07-31 18:36:33 +02:00
2020-07-31 21:47:34 +02:00
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
bmk := Bookmark {
Position : 123 ,
Username : "user2" ,
Comment : "a comment" ,
Created : time . Time { } ,
Changed : time . Time { } ,
}
bmk . Entry = [ ] Child { { Id : "1" , Title : "title" , IsDir : false } }
response . Bookmarks . Bookmark = [ ] Bookmark { bmk }
2020-07-31 18:36:33 +02:00
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-10-26 02:48:21 +01:00
Describe ( "ScanStatus" , func ( ) {
BeforeEach ( func ( ) {
response . ScanStatus = & ScanStatus { }
} )
Context ( "without data" , func ( ) {
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
Context ( "with data" , func ( ) {
BeforeEach ( func ( ) {
2020-10-27 23:19:56 +01:00
t , _ := time . Parse ( time . RFC822 , time . RFC822 )
2020-10-26 02:48:21 +01:00
response . ScanStatus = & ScanStatus {
Scanning : true ,
Count : 123 ,
2020-10-27 23:19:56 +01:00
LastScan : & t ,
2020-10-26 02:48:21 +01:00
}
} )
It ( "should match .XML" , func ( ) {
Expect ( xml . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
It ( "should match .JSON" , func ( ) {
Expect ( json . Marshal ( response ) ) . To ( MatchSnapshot ( ) )
} )
} )
} )
2020-01-09 23:09:05 +01:00
} )