class TestActions(unittest.TestCase):
    uuid = 'test'

    @classmethod
    def setUpClass(cls):
        cls.meta = Metadata()
        cls.meta.uuid = cls.uuid

        cls.builder = MockBuilder()
        cls.verifier = MagicMock()

    @patch('gi.repository.Gtk.MessageDialog')
    @patch('eduvpn.actions.switch.activate_connection')
    @patch('eduvpn.actions.switch.disconnect_provider')
    @unittest.skipUnless(have_dbus_notification_service(), "DBus notification service not available")
    def test_switched_on(self, *args):
        builder = MockBuilder()
        builder.objects['connect-switch'] = MockSwitch(state=True)
        switched(builder=self.builder, meta=self.meta, verifier=self.verifier, lets_connect=False)

    @patch('gi.repository.Gtk.MessageDialog')
    @patch('eduvpn.actions.switch.activate_connection')
    @patch('eduvpn.actions.switch.disconnect_provider')
    @unittest.skipUnless(have_dbus_notification_service(), "DBus notification service not available")
    def test_switched_off(self, *args):
        builder = MockBuilder()
        builder.objects['connect-switch'] = MockSwitch(state=False)
        switched(builder=self.builder, meta=self.meta, verifier=self.verifier, lets_connect=False)
class TestActions(unittest.TestCase):
    uuid = 'test'

    @classmethod
    def setUpClass(cls):
        cls.meta = Metadata()
        cls.meta.uuid = cls.uuid

        cls.builder = MockBuilder()
        cls.verifier = MagicMock()

    @patch('gi.repository.Gtk.MessageDialog')
    def test_delete_profile(self, _):
        delete_profile(builder=self.builder, lets_connect=False)

    def test_select_profile(self):
        select_profile(builder=self.builder,
                       verifier=self.verifier,
                       lets_connect=False)

    def test_new_provider(self):
        new_provider(builder=self.builder,
                     verifier=self.verifier,
                     institute_access_uri="bla",
                     secure_internet_uri="bla",
                     lets_connect=False)

    @unittest.skipUnless(have_dbus_notification_service(),
                         "DBus notification service not available")
    def test_vpn_change(self):
        vpn_change(builder=self.builder, lets_connect=False)
import unittest
from eduvpn.notify import notify, init_notify
from eduvpn.util import have_dbus_notification_service


@unittest.skipUnless(have_dbus_notification_service(), "DBus notification service not available")
class TestNotify(unittest.TestCase):
    def test_notify(self):
        notifier = init_notify(False)
        notify(notifier, 'test')