~chicharreros/magicicada-gui/trunk

« back to all changes in this revision

Viewing changes to magicicada/tests/test_magicicada.py

  • Committer: natalia.bidart at canonical
  • Date: 2010-06-01 02:51:19 UTC
  • mfrom: (35.1.4 tweaks-and-shares-to-others)
  • Revision ID: natalia.bidart@canonical.com-20100601025119-hl4w99pm929q8y65
Done Shares to others. Added 'Free bytes' humanization.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
from magicicada import MagicicadaUI, CONTENT_QUEUE, META_QUEUE, syncdaemon
30
30
from magicicada.dbusiface import QueueData, FolderData, ShareData
31
 
from magicicada.helpers import NO_OP
 
31
from magicicada.helpers import NO_OP, humanize_bytes
32
32
 
33
33
def process_gtk_pendings():
34
34
    while gtk.events_pending(): gtk.main_iteration()
658
658
                        msg % (self.name, '' if enabled else 'not '))
659
659
 
660
660
    @skip_abstract_class
661
 
    def test_volume_are_disabled_until_online(self):
 
661
    def test_volume_are_disabled_until_started(self):
662
662
        """Folders and shares are disabled until online."""
663
663
        # disabled at startup
664
664
        self.assert_volume_availability(enabled=False)
665
665
 
666
 
        # disabled even if connected
667
 
        self.do_connect()
668
 
        self.assert_volume_availability(enabled=False)
669
 
 
670
 
        # enabled when online
671
 
        self.ui.on_online()
 
666
        # enabled when started
 
667
        self.do_start()
672
668
        self.assert_volume_availability(enabled=True)
673
669
 
674
670
    @skip_abstract_class
675
 
    def test_volume_are_enabled_until_offline(self):
 
671
    def test_volume_are_enabled_until_stopped(self):
676
672
        """Folders and shares are enabled until offline."""
677
673
        self.do_connect()
 
674
        self.assert_volume_availability(enabled=True)
 
675
 
678
676
        self.ui.on_online()
 
677
        self.assert_volume_availability(enabled=True)
679
678
 
680
 
        # disabled when offline
681
679
        self.ui.on_offline()
 
680
        self.assert_volume_availability(enabled=True)
 
681
 
 
682
        self.ui.on_disconnect_clicked(self.ui.disconnect)
 
683
        self.ui.on_disconnected()
 
684
        self.assert_volume_availability(enabled=True)
 
685
 
 
686
        # disabled when stopped
 
687
        self.ui.on_stop_clicked(self.ui.stop)
 
688
        self.assert_volume_availability(enabled=False)
 
689
        self.ui.on_stopped()
682
690
        self.assert_volume_availability(enabled=False)
683
691
 
684
692
    @skip_abstract_class
766
774
        self.assertEqual(expected, actual,
767
775
                         msg % (self.volume_dialog_name, expected, actual))
768
776
 
769
 
 
770
777
class MagicicadaUIFoldersTestCase(_MagicicadaUIVolumeTestCase):
771
778
    """UI test cases for folders."""
772
779
 
774
781
    data_type = FolderData # node path suggested_path subscribed volume
775
782
 
776
783
 
777
 
class MagicicadaUISharesToMeTestCase(_MagicicadaUIVolumeTestCase):
 
784
class _MagicicadaUISharesTestCase(_MagicicadaUIVolumeTestCase):
778
785
    """UI test cases for shares_to_me."""
779
786
 
780
 
    name = 'shares_to_me'
781
787
    data_type = ShareData # accepted access_level free_bytes name node_id
782
788
                          # other_username other_visible_name path volume_id
783
789
 
 
790
    @skip_abstract_class
 
791
    def test_bytes_are_humanized(self):
 
792
        """Free bytes are shown humanized."""
 
793
        attrs = self.data_type._fields
 
794
        kwargs = dict([(attr, str(attr)) for attr in attrs])
 
795
        kwargs['free_bytes'] = 10000
 
796
        item = self.data_type(**kwargs)
 
797
        setattr(self.ui.sd, self.name, [item])
 
798
 
 
799
        def test():
 
800
            """Perform the test per se before closing the dialog."""
 
801
            kwargs['free_bytes'] = humanize_bytes(kwargs['free_bytes'],
 
802
                                                  precision=2)
 
803
            item = self.data_type(**kwargs)
 
804
            self.assert_store_correct(self.volume_store, [item])
 
805
 
 
806
        gobject.timeout_add(100, close_dialog,
 
807
                            (self.volume_dialog, test))
 
808
        self.on_volume_clicked(self.volume)
 
809
 
 
810
 
 
811
class MagicicadaUISharesToMeTestCase(_MagicicadaUISharesTestCase):
 
812
    """UI test cases for shares_to_me."""
 
813
 
 
814
    name = 'shares_to_me'
 
815
 
 
816
 
 
817
class MagicicadaUISharesToOthersTestCase(_MagicicadaUISharesTestCase):
 
818
    """UI test cases for shares_to_others."""
 
819
 
 
820
    name = 'shares_to_others'
 
821