def test_media_set_fallback(self):
     media = Media(sources=[MediaSource("text/html", "www.url.com"), ])
     media.set_fallback(FallbackOption.DROP)
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "fallback": "drop"
     })
     media.set_fallback(Image(URL))
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "fallback": {
             "type": "Image",
             "url": URL
         }
     })
     with self.assertRaisesMessage(CardException, "Invalid fallback type"):
         media.set_fallback(1234)
 def test_media(self):
     sources = [
         MediaSource("application/gzip", "www.source.com/1"),
         MediaSource("text/calendar", "www.source.com/2")
     ]
     media = Media(sources=sources, poster="Excepteur sint occaecat cupidatat non proident",
                   alternate_text="sunt in culpa", fallback=FallbackOption.DROP, separator=True,
                   spacing=SpacingStyle.MEDIUM, item_id="id_image", is_visible=True, requires=self.requires)
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "application/gzip",
             "url": "www.source.com/1"
         }, {
             "mimeType": "text/calendar",
             "url": "www.source.com/2"
         }],
         "poster": "Excepteur sint occaecat cupidatat non proident",
         "altText": "sunt in culpa",
         "fallback": "drop",
         "separator": True,
         "spacing": "medium",
         "id": "id_image",
         "isVisible": True,
         "requires": self.requires
     })
 def test_media_set_requires(self):
     media = Media(sources=[MediaSource("text/html", "www.url.com"), ])
     media.set_requires(self.requires)
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "requires": self.requires
     })
 def test_media_set_id(self):
     media = Media(sources=[MediaSource("text/html", "www.url.com"), ])
     media.set_id("id_image_3")
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "id": "id_image_3"
     })
 def test_media_set_spacing(self):
     media = Media(sources=[MediaSource("text/html", "www.url.com"), ])
     media.set_spacing(SpacingStyle.EXTRA_LARGE)
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "spacing": "extraLarge"
     })
 def test_media_set_alternate_text(self):
     media = Media(sources=[MediaSource("audio/mpeg", "www.url.com"), ])
     media.set_alternate_text("Sale civibus suavitate vix eu")
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "audio/mpeg",
             "url": "www.url.com"
         }],
         "altText": "Sale civibus suavitate vix eu"
     })
 def test_media_set_poster(self):
     media = Media(sources=[MediaSource("audio/mpeg", "www.url.com"), ])
     media.set_poster("His ei quod fastidii quaestio")
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "audio/mpeg",
             "url": "www.url.com"
         }],
         "poster": "His ei quod fastidii quaestio"
     })
 def test_media_add_source(self):
     media = Media(sources=[MediaSource("audio/mpeg", "www.url.com"), MediaSource("application/php", "www.php.com")])
     media.add_source(MediaSource("image/gif", "www.gif.com"))
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "audio/mpeg",
             "url": "www.url.com"
         }, {
             "mimeType": "application/php",
             "url": "www.php.com"
         }, {
             "mimeType": "image/gif",
             "url": "www.gif.com"
         }]
     })
 def test_media_set_is_visible(self):
     media = Media(sources=[MediaSource("text/html", "www.url.com"), ])
     media.set_is_visible(False)
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "isVisible": False
     })
     media.set_is_visible(True)
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "isVisible": True
     })
     media.set_is_visible()
     self.assertDictEqual(media.as_data(), {
         "type": "Media",
         "sources": [{
             "mimeType": "text/html",
             "url": "www.url.com"
         }],
         "isVisible": True
     })