@@ -698,11 +698,98 @@ public void onEvent(CastEvent<?> event) {
698698 assertFalse (volume .getMuted ().booleanValue ());
699699
700700 message = message .toBuilder ().setPayloadUtf8 (
701- FixtureHelper .fixtureAsString ("/timetick .json" ).replaceFirst ("\" type\" " , "\" responseType\" " )
701+ FixtureHelper .fixtureAsString ("/mediaStatuses2 .json" ).replaceFirst ("\" type\" " , "\" responseType\" " )
702702 ).build ();
703703 handler .processStringMessage ((ImmutableStringCastMessage ) ImmutableCastMessage .create (message ), message .getPayloadUtf8 ());
704704 assertEquals (11 , events .size ());
705705 event = events .get (10 );
706+ assertEquals (CastEventType .MEDIA_STATUS , event .getEventType ());
707+ response = (MediaStatusResponse ) event .getData ();
708+ assertEquals (CastEventType .MEDIA_STATUS , response .getEventType ());
709+ assertEquals (4L , response .getRequestId ());
710+ assertEquals (1 , response .getStatuses ().size ());
711+ mediaStatus = response .getStatuses ().get (0 );
712+ assertNotNull (mediaStatus );
713+ assertTrue (mediaStatus .getActiveTrackIds ().isEmpty ());
714+ assertEquals (1 , mediaStatus .getCurrentItemId ().intValue ());
715+ assertEquals (207.909 , mediaStatus .getCurrentTime (), 0.0 );
716+ assertTrue (mediaStatus .getCustomData ().isEmpty ());
717+ assertNull (mediaStatus .getExtendedStatus ());
718+ assertNull (mediaStatus .getIdleReason ());
719+ items = mediaStatus .getItems ();
720+ assertEquals (1 , items .size ());
721+ QueueItem item = items .get (0 );
722+ assertTrue (item .getActiveTrackIds ().isEmpty ());
723+ assertNull (item .getAutoplay ());
724+ assertTrue (item .getCustomData ().isEmpty ());
725+ assertEquals (Integer .valueOf (1 ), item .getItemId ());
726+ media = item .getMedia ();
727+ assertNotNull (media );
728+ assertEquals ("" , media .getContentId ());
729+ assertNull (media .getContentType ());
730+ assertNull (media .getContentUrl ());
731+ assertTrue (media .getCustomData ().isEmpty ());
732+ assertEquals (0.0 , media .getDuration (), 0.0 );
733+ assertNull (media .getEntity ());
734+ assertNull (media .getHlsSegmentFormat ());
735+ assertNull (media .getHlsVideoSegmentFormat ());
736+ assertTrue (media .getImages ().isEmpty ());
737+ assertNull (media .getMediaCategory ());
738+ metadata = media .getMetadata ();
739+ assertNotNull (metadata );
740+ assertEquals (2 , metadata .size ());
741+ assertEquals (0 , metadata .get ("metadataType" ));
742+ assertEquals ("De nieuwe generaties van Suriname" , metadata .get ("title" ));
743+ assertEquals (MetadataType .GENERIC , media .getMetadataType ());
744+ assertNull (media .getStartAbsoluteTime ());
745+ assertEquals (StreamType .BUFFERED , media .getStreamType ());
746+ assertNull (media .getTextTrackStyle ());
747+ assertTrue (media .getTracks ().isEmpty ());
748+ assertEquals ("" , media .getUrl ());
749+ assertNull (item .getOrderId ());
750+ assertNull (item .getPreloadTime ());
751+ assertNull (item .getStartTime ());
752+ assertNull (mediaStatus .getLiveSeekableRange ());
753+ assertNull (mediaStatus .getLoadingItemId ());
754+ media = mediaStatus .getMedia ();
755+ assertNotNull (media );
756+ assertEquals ("" , media .getContentId ());
757+ assertNull (media .getContentType ());
758+ assertNull (media .getContentUrl ());
759+ assertTrue (media .getCustomData ().isEmpty ());
760+ assertEquals (0.0 , media .getDuration (), 0.0 );
761+ assertNull (media .getEntity ());
762+ assertNull (media .getHlsSegmentFormat ());
763+ assertNull (media .getHlsVideoSegmentFormat ());
764+ assertTrue (media .getImages ().isEmpty ());
765+ assertNull (media .getMediaCategory ());
766+ metadata = media .getMetadata ();
767+ assertNotNull (metadata );
768+ assertEquals (2 , metadata .size ());
769+ assertEquals (0 , metadata .get ("metadataType" ));
770+ assertEquals ("De nieuwe generaties van Suriname" , metadata .get ("title" ));
771+ assertEquals (MetadataType .GENERIC , media .getMetadataType ());
772+ assertNull (media .getStartAbsoluteTime ());
773+ assertEquals (StreamType .BUFFERED , media .getStreamType ());
774+ assertNull (media .getTextTrackStyle ());
775+ assertTrue (media .getTracks ().isEmpty ());
776+ assertEquals ("" , media .getUrl ());
777+ assertEquals (4 , mediaStatus .getMediaSessionId ());
778+ assertEquals (1.0 , mediaStatus .getPlaybackRate (), 0.0 );
779+ assertEquals (PlayerState .PLAYING , mediaStatus .getPlayerState ());
780+ assertNull (mediaStatus .getPreloadedItemId ());
781+ assertNull (mediaStatus .getQueueData ());
782+ assertEquals (RepeatMode .REPEAT_OFF , mediaStatus .getRepeatMode ());
783+ assertEquals (205 , mediaStatus .getSupportedMediaCommands ());
784+ assertNull (mediaStatus .getVideoInfo ());
785+ assertNull (mediaStatus .getVolume ());
786+
787+ message = message .toBuilder ().setPayloadUtf8 (
788+ FixtureHelper .fixtureAsString ("/timetick.json" ).replaceFirst ("\" type\" " , "\" responseType\" " )
789+ ).build ();
790+ handler .processStringMessage ((ImmutableStringCastMessage ) ImmutableCastMessage .create (message ), message .getPayloadUtf8 ());
791+ assertEquals (12 , events .size ());
792+ event = events .get (11 );
706793 assertEquals (CastEventType .CUSTOM_MESSAGE , event .getEventType ());
707794 CustomMessageEvent custom = event .getData (CustomMessageEvent .class );
708795 assertEquals ("namespace" , custom .getNamespace ());
@@ -719,8 +806,8 @@ public void onEvent(CastEvent<?> event) {
719806 .setPayloadUtf8 (jsonMapper .writeValueAsString (customMessage ))
720807 .build ();
721808 handler .processStringMessage ((ImmutableStringCastMessage ) ImmutableCastMessage .create (message ), message .getPayloadUtf8 ());
722- assertEquals (12 , events .size ());
723- event = events .get (11 );
809+ assertEquals (13 , events .size ());
810+ event = events .get (12 );
724811 assertEquals (CastEventType .CUSTOM_MESSAGE , event .getEventType ());
725812 custom = event .getData (CustomMessageEvent .class );
726813 assertEquals ("urn:x-cast:com.example.app" , custom .getNamespace ());
@@ -732,8 +819,8 @@ public void onEvent(CastEvent<?> event) {
732819 ReceiverStatusResponse receiverStatus = new ReceiverStatusResponse (0L , new ReceiverStatus (deviceVolume , null , false , false ));
733820 message = message .toBuilder ().setPayloadUtf8 (jsonMapper .writeValueAsString (receiverStatus )).build ();
734821 handler .processStringMessage ((ImmutableStringCastMessage ) ImmutableCastMessage .create (message ), message .getPayloadUtf8 ());
735- assertEquals (13 , events .size ());
736- event = events .get (12 );
822+ assertEquals (14 , events .size ());
823+ event = events .get (13 );
737824 assertEquals (CastEventType .RECEIVER_STATUS , event .getEventType ());
738825 assertEquals (deviceVolume , event .getData (ReceiverStatusResponse .class ).getStatus ().getVolume ());
739826
0 commit comments