emmental/tests/mpris2/test_application.py
Anna Schumaker 767f0c1584 mpris2: Add an Mpris2 DBus Connection
And implement the MediaPlayer2 interface on top of it.

Implements: #7 ("Add MPRIS2 Support")
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
2023-04-12 10:41:42 -04:00

45 lines
1.7 KiB
Python

# Copyright 2022 (c) Anna Schumaker.
"""Tests our Mpris Application object."""
import pathlib
import unittest
import emmental.mpris2.application
from gi.repository import Gio
class TestRoot(unittest.TestCase):
"""Test the mpris2 application object."""
def setUp(self):
"""Set up common variables."""
self.app = emmental.mpris2.application.Application()
def test_xml_files(self):
"""Test that the interface definition files exist."""
mpris2 = pathlib.Path(emmental.mpris2.__file__).parent
self.assertEqual(emmental.mpris2.application.MPRIS2_XML,
mpris2 / "MediaPlayer2.xml")
self.assertTrue(emmental.mpris2.application.MPRIS2_XML.is_file())
def test_init(self):
"""Test that the application object is configured correctly."""
self.assertIsInstance(self.app, emmental.mpris2.dbus.Object)
self.assertIsInstance(self.app.nodeinfo, Gio.DBusNodeInfo)
self.assertIsInstance(self.app.interface, Gio.DBusInterfaceInfo)
def test_properties(self):
"""Test Application properties."""
self.assertTrue(self.app.CanQuit)
self.assertFalse(self.app.Fullscreen)
self.assertTrue(self.app.CanSetFullscreen)
self.assertTrue(self.app.CanRaise)
self.assertFalse(self.app.HasTrackList)
self.assertEqual(self.app.Identity, "Emmental Music Player")
self.assertEqual(self.app.DesktopEntry, "emmental")
self.assertEqual(self.app.SupportedUriSchemes, ["file"])
self.assertEqual(self.app.SupportedMimeTypes, ["audio"])
def test_signals(self):
"""Test that Application signals exist."""
self.app.emit("Raise")
self.app.emit("Quit")