-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
log an error in applyPreset if room in list cannot be found with tests #123
base: master
Are you sure you want to change the base?
Conversation
kshartman
commented
Mar 28, 2023
annoying to track down because the result of the map will cause the returned player array to contain undefined which results in a less transparent error later on when we try to group it with others. This error will still occur, but at least the user knows they have a typo in a preset. In my case it was bedrooom instead of bedroom. doh. We could consider filtering the undefineds which would eliminate the later error(s) so the remaining rooms can still play. Not unreasonable if we tell the user there is bad room name and ignore it.
// it will be undefined which causes error later. Could filter this | ||
// map to silently ignore them. | ||
return result; | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it makes sense to actually skip players that doesn't exist as well. I know people have filed issues about this being a problem when they turn off players occasionally etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can add that and submit a new pull request or do you want to do it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just add it on this PR, is my suggestion. Just add another commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have never added to a PR but I think I did it correctly. There should be 4 commits including a style correction and tests. The test log had 183 working and 2 failing before and after changes. The revised test has a bad room name in the primary preset and whenever this preset is applied it checks to see that an error carping about the bad room name was written to stderr. The 2 test that fail are unrelated to this change - I think the locations where the high res art were stored no longer exist.
The log:
[email protected] test
npm run -s jscs && npm run -s mocha
(node:71021) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use node --trace-warnings ...
to show where the warning was created)
(node:71051) [DEP0128] DeprecationWarning: Invalid 'main' field in '/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/create-thenable/package.json' of './src'. Please either fix that or report it to the module author
(Use node --trace-deprecation ...
to show where the warning was created)
NotificationListener
✓ Sets up listening server on first available port in range
✓ Finds another port if taken
✓ Emits topology on ZoneGroupState
✓ Emits last-change on AvTransport LastChange
✓ Emits last-change on RenderingControl LastChange
✓ Emits queue-change
✓ Emits list-change
✓ Emits last-change for SUB rendering control last change event
SonosSystem
When no settings are provided
✓ Loaded prototypes
✓ Starts scanning
when topology is done
✓ Finds local endpoint
✓ Starts a NotificationListener
✓ Subscribes to player when ssdp emits
If Subscriber errors out
2023-03-30T16:21:58.841Z ERROR Mocked error
✓ Should restart discovery
topology
✓ Populate zones on topology notification
✓ Populate players on topology notification
✓ Do not contain Invisible units
✓ Flags primary player if SUB is connected
✓ should flag stereo pair if SUB is connected
✓ should flag PLAYBAR if SUB is connected
✓ should not flag player if SUB is not connected
✓ Only creates player once
✓ Links coordinator property on all players
✓ Returns player with getPlayer
✓ Returns player with getPlayer case insensitive
✓ Returns player with getPlayerByUUD
After initialized
✓ Called ListAvailableServices with valid player
✓ Can lookup SID from service name
✓ Can lookup type from service name
✓ Throws error on unknown service
When a new topology with removed players emits
✓ Should no longer have Office left
When we have household setting
✓ Finds the system matching the configured household
Subscriber
with normal retry interval
✓ Sends a subscription with the correct parameters
2023-03-30T16:21:59.201Z WARN resubscribing to sid undefined failed
TypeError: Cannot read properties of undefined (reading 'headers')
at /usr/local/src/projects/sonos/node-sonos-discovery/lib/Subscriber.js:55:17
at processTicksAndRejections (node:internal/process/task_queues:96:5)
2023-03-30T16:21:59.202Z WARN resubscribing to sid undefined failed
TypeError: Cannot read properties of undefined (reading 'headers')
at /usr/local/src/projects/sonos/node-sonos-discovery/lib/Subscriber.js:55:17
2023-03-30T16:21:59.303Z WARN resubscribing to sid null failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:47:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:329:7
at done (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:301:5)
at callFn (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:372:7)
at Hook.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:346:7)
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:304:10)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
✓ Resubscribes if failure (150ms)
with very short retry interval
2023-03-30T16:21:59.405Z WARN resubscribing to sid 12345678 failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:81:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
2023-03-30T16:21:59.506Z WARN resubscribing to sid null failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:81:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
✓ Resubscribes without sid if resubscribe fails (252ms)
2023-03-30T16:21:59.607Z ERROR unsubscribe from sid null failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:81:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
✓ Resubscribes right before timeout (92ms)
2023-03-30T16:21:59.702Z ERROR unsubscribe from sid null failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:81:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
✓ Sends unsubscribe if dispose is called
2023-03-30T16:21:59.708Z ERROR unsubscribe from sid null failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:81:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
✓ Stops renewing if dispose is called (91ms)
2023-03-30T16:21:59.802Z ERROR unsubscribe from sid null failed
Error: Rejecting subscribe attempt. This is a mocked error
at Function.rejects (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/sinon-as-promised/index.js:18:11)
at Context. (/usr/local/src/projects/sonos/node-sonos-discovery/test/unit/Subscriber.js:81:15)
at callFnAsync (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:377:21)
at Test.Runnable.run (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runnable.js:324:7)
at Runner.runTest (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:442:10)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:560:12
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:356:14)
at /usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:366:7
at next (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:290:14)
at Immediate. (/usr/local/src/projects/sonos/node-sonos-discovery/node_modules/mocha/lib/runner.js:334:5)
at processImmediate (node:internal/timers:466:21)
When request fails 5 consecutive times
2023-03-30T16:21:59.806Z WARN resubscribing to sid undefined failed
2023-03-30T16:21:59.907Z WARN resubscribing to sid null failed
2023-03-30T16:22:00.008Z WARN resubscribing to sid null failed
2023-03-30T16:22:00.110Z WARN resubscribing to sid null failed
2023-03-30T16:22:00.211Z WARN resubscribing to sid null failed
✓ Emits error if rejected too many times
request
✓ Transfers common arguments to http.request
2023-03-30T16:22:00.313Z WARN resubscribing to sid null failed
✓ Uses https if called with https url
✓ Sets timeout on client object
✓ does not call setTimeout if no timeout
✓ Defaults to GET and port 80
✓ Invokes end() to trigger the request
✓ Resolves promise if successful request
✓ Resolves promise with deserialized JSON if type=json
✓ Rejects if error occur
✓ Rejects if response code is other than 2xx
✓ Rejects if timeout occur
✓ Returns response object if stream=true
✓ Writes body if exists
Should require all files in folder
✓ Has called mockMethod from subject
soap
(node:71051) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
✓ Invokes soap call with the correct parameters and returns the promise
✓ Supports calls without values
✓ Contains templates
Player
✓ Should set name on player
✓ Should have uuid
✓ Has baseUrl
✓ Subscribes to the various notifications by default
✓ Invokes dispose on all listeners when disposing player
✓ Subscribes to listener events
2023-03-30T16:22:00.415Z WARN resubscribing to sid null failed
✓ Loads prototypes
When it receives a transport-state update for queue playback
✓ Updates state
✓ Updates avTransportUri
✓ Updates avTransportUriMetadata
When it receives a transport-state update for radio playback
✓ Updates state
✓ Updates avTransportUri
✓ Updates avTransportUriMetadata
When it receives a transport-state update for custom radio playback
✓ Updates state
✓ Updates avTransportUri
✓ Updates avTransportUriMetadata
When it receives a transport-state update for google music when casting
✓ Doesn't crash while casting google music
When it receives a transport-state update for airplay 2 streaming
✓ Doesn't crash while streaming airplay 2
When it receives a transport-state update for a DLNA server
✓ Should have album art from EnqueuedURIMetadata
When radio already has an absolute url
✓ Should not touch absoluteAlbumUri
when rendering control event occurs
✓ Updates volume
✓ outputFixed is false
✓ outputFixed is true
✓ loudness is true
✓ bass is 3
2023-03-30T16:22:00.516Z WARN resubscribing to sid null failed
✓ treble is -2
✓ speech enhancement is true
✓ nightMode is true
✓ emits event
when sub event occurs
✓ updates gain
✓ updates crossover
✓ updates polarity
✓ updates enabled
✓ should be part of state data
commands
✓ play
✓ pause
✓ nextTrack
✓ previousTrack
✓ Volume 10 should be 10
✓ Volume 10 should be 10
✓ Volume +1 should be 6
✓ Volume -1 should be 4
✓ Volume with fixedoutput should short circuit
✓ mute
✓ unMute
✓ timeSeek
✓ trackSeek
✓ clearQueue
✓ removeTrackFromQueue
✓ setBass
✓ setTreble
✓ Sleep
✓ setAVTransport
✓ setAVTransport without metadata
✓ becomeCoordinatorOfStandaloneGroup
✓ refreshShareIndex
✓ addURIToQueue
Playmode dependant tests
2023-03-30T16:22:00.616Z WARN resubscribing to sid null failed
✓ Repeat with no state
✓ Repeat with shuffle on
✓ Shuffle on with no other state
✓ Shuffle off
✓ Crossfade on
✓ Crossfade off
when playmode fails
2023-03-30T16:22:00.635Z WARN Failed when trying to set playmode NORMAL, could be playing radiostation or line-in, no worries.
✓ Still calls crossfade if playmode fails
Position of track progress should be fetched
✓ GetPositionInfo is requested
Using fake timers
✓ GetPositionInfo is saved
✓ elapsedTime is dynamically calculated
Browse-inherited functions
Return queue
without arguments
✓ Should have invoked browse
✓ Parses queue and returns a list of well designed objects
with only limit
✓ Should have invoked browse
with limit and offset
✓ Should have invoked browse
2023-03-30T16:22:00.718Z WARN resubscribing to sid null failed
Parsing playlists
✓ Parses response and returns a list of well designed objects
MusicServices
✓ should reject on non existent service
- should return cover art on existing service
Player.getUriType
UriType enum
✓ should have type track
✓ should have type radio
✓ should have type line in
When called with different types
✓ should be of type "radio"
✓ should be of type "line-in"
✓ should be of type "track"
Player.nightMode()
✓ should call correct soap call when enabling
✓ should call correct soap call when disabling
Player.calculateGroupVolume
When recalculating group volume
✓ should have updated groupState.volume
When all players has outputFixed = true
✓ should not have updated groupState.volume
Player.replaceWithFavorite
When replacing with streaming favorite
✓ Has fetched favorites
✓ Removes all tracks before adding them
✓ Adds URI to queue with metadata
✓ Sets the avtransport to current queue
When replacing with radio favorite
✓ Do not remove tracks
✓ Do not try to add uri to queue
✓ Sets the avtransport to uri directly
When favorite is not found
✓ Promise should not resolve
✓ Promise should reject
Player.setGroupVolume
When setting fixed group volume
✓ should have called setVolume on all players
✓ Should have updated groupState to match desired volume
When setting relative negative group volume
✓ should have called setVolume on all players
✓ Should have updated groupState to match desired volume
When setting relative positive group volume
✓ should have called setVolume on all players
✓ Should have updated groupState to match desired volume
Player.speechEnhancement()
✓ should call correct soap call when enabling
✓ should call correct soap call when disabling
SonosSystem.applyPreset
When applying a preset
When applying preset
2023-03-30T16:22:00.750Z ERROR preset My favorite: bad room name Bad room
✓ Pauses all zones
2023-03-30T16:22:00.754Z ERROR preset My favorite: bad room name Bad room
✓ Has invoked getPlayer thrice
2023-03-30T16:22:00.757Z ERROR preset My favorite: bad room name Bad room
✓ Has set volume correctly
2023-03-30T16:22:00.760Z ERROR preset My favorite: bad room name Bad room
✓ Has muted player correctly
2023-03-30T16:22:00.763Z ERROR preset My favorite: bad room name Bad room
✓ Should not break out coordinator since already coordinator
2023-03-30T16:22:00.768Z ERROR preset My favorite: bad room name Bad room
✓ Groups players with coordinator
2023-03-30T16:22:00.771Z ERROR preset My favorite: bad room name Bad room
✓ Ungroups players that does'nt belong to group
2023-03-30T16:22:00.774Z ERROR preset My favorite: bad room name Bad room
✓ Replaces queue with favorite
2023-03-30T16:22:00.777Z ERROR preset My favorite: bad room name Bad room
✓ Sets correct playmode
2023-03-30T16:22:00.780Z ERROR preset My favorite: bad room name Bad room
✓ Skips to correct track
2023-03-30T16:22:00.784Z ERROR preset My favorite: bad room name Bad room
✓ Skips to correct time
2023-03-30T16:22:00.786Z ERROR preset My favorite: bad room name Bad room
✓ Should call sleep
2023-03-30T16:22:00.789Z ERROR preset My favorite: bad room name Bad room
✓ Should start playback
When it contains an mute=false
2023-03-30T16:22:00.795Z ERROR preset My favorite: bad room name Bad room
✓ Has un-muted player correctly
When coordinator is not coordinator of any group
✓ Detaches first player from group
✓ Should not pause the coordinator
When preset contains uri only
✓ Sets uri to preset uri and metadata
getFavorites
When calling getFavorites
✓ Has called browseAll
✓ Returns the expected result with undefined values filtered out
getPlaylists
When calling getPlaylists
✓ Has called browseAll
✓ Returns the expected result
deezer
2023-03-30T16:22:00.819Z WARN resubscribing to sid null failed
2023-03-30T16:22:00.919Z WARN resubscribing to sid null failed
1) should load highres art
soundcloud
2) should load highres art
Sonos-SSDP
✓ Creates listening UDP socket
✓ Sends M-SEARCH data once started
2023-03-30T16:22:01.019Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.119Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.220Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.321Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.422Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.523Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.624Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.725Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.827Z WARN resubscribing to sid null failed
2023-03-30T16:22:01.928Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.029Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.130Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.231Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.332Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.433Z WARN resubscribing to sid null failed
✓ Sends M-SEARCH periodically if no response (1502ms)
2023-03-30T16:22:02.534Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.635Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.736Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.837Z WARN resubscribing to sid null failed
2023-03-30T16:22:02.938Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.040Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.141Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.242Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.342Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.443Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.543Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.644Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.745Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.846Z WARN resubscribing to sid null failed
2023-03-30T16:22:03.947Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.048Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.150Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.251Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.352Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.453Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.553Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.654Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.755Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.857Z WARN resubscribing to sid null failed
2023-03-30T16:22:04.958Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.059Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.160Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.261Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.361Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.462Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.563Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.664Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.765Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.866Z WARN resubscribing to sid null failed
2023-03-30T16:22:05.967Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.068Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.169Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.270Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.371Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.472Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.573Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.674Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.775Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.876Z WARN resubscribing to sid null failed
2023-03-30T16:22:06.977Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.078Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.180Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.281Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.382Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.482Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.583Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.683Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.783Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.884Z WARN resubscribing to sid null failed
2023-03-30T16:22:07.985Z WARN resubscribing to sid null failed
✓ Switches interface if more than 5 seconds elapse (5503ms)
✓ Emits upon successful resolve
✓ Closes socket if stop is invoked
183 passing (9s)
1 pending
2 failing
-
deezer
should load highres art:
AssertionError: expected 'http://e-cdn-images.dzcdn.net/images/cover/5646492f1aec0168e52814d27d2d9a67/500x500-000000-80-0-0.jpg' to include 'deezer.com/images/cover/5646492f1aec0168e52814d27d2d9a67/500x500-000000-80-0-0.jpg'
at test/unit/services/deezer.js:20:24
at processTicksAndRejections (node:internal/process/task_queues:96:5) -
soundcloud
should load highres art:
Error: Got status 301 when invoking /tracks/44731098?client_id=6b9ec970f07f410376f1db1dfa8d71b3
at Object.tryGetHighResArt (lib/services/soundcloud.js:43:10)
at Context. (test/unit/services/soundcloud.js:18:23)
at processImmediate (node:internal/timers:466:21)
player names. Now we filter the result in applyPreset so that undefined players are NOT returned which eliminates the subsequent errors and allows the remaining preset players to carry on.
It would be nice to have a test for this as well, in https://github.com/jishi/node-sonos-discovery/blob/master/test/unit/prototypes/SonosSystem/applyPreset.js Something you'd want to take a stab at? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I filter the undefined players from result and I will write a test
applied, we check that an error was logged for the bad room name in stderr. 183 tests were passing before change to applyPreset.js before and after. 2 tests still fail for unrelated reasons (presumably the location where highres art was stored no longer exists).
I wasn't sure if I should bump the package version number. Let me know and I will add that to the PR. |
Nah, I'll bump it once I start using it in the sub-dependent projects (and tag it) |