~nataliabidart/software-center/winged-migration

« back to all changes in this revision

Viewing changes to tests/gtk3/test_reviews.py

  • Committer: Natalia B. Bidart
  • Date: 2012-05-30 18:39:55 UTC
  • mto: This revision was merged to the branch mainline in revision 3030.
  • Revision ID: natalia.bidart@canonical.com-20120530183955-zbnjczayktmmg5tv
- Initial test cleanup:
  - Renamed test/ dir to tests/.
  - Isolated test code into tests/ directory, including moving all the
    get_test_window_foo from the gtk3 production modules to
    tests/gtk3/windows.py module.
  - Removed all the calls to Gtk.main() in gtk3 tests since that blocks the
    execution of the suite.
  - Pep8 and pyflakes fixes in the files already modified in this branch.
  - Minor bug fix in the softwarecenter/log.py module when trying to create a
    log dir with proper perms.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/python
2
 
 
3
1
import unittest
4
2
 
5
 
from gi.repository import GObject
 
3
from time import sleep
6
4
 
7
 
from testutils import setup_test_env
8
 
setup_test_env()
9
5
from gettext import gettext as _
10
6
from mock import Mock, patch
11
7
 
 
8
from tests.utils import (
 
9
    do_events,
 
10
    get_test_db,
 
11
    get_test_pkg_info,
 
12
    REAL_DATA_DIR,
 
13
    setup_test_env,
 
14
)
 
15
setup_test_env()
 
16
 
12
17
from softwarecenter.backend.piston.rnrclient_pristine import ReviewDetails
13
 
from softwarecenter.testutils import get_test_pkg_info, get_test_db
14
18
from softwarecenter.ui.gtk3.review_gui_helper import (
15
19
    TRANSMIT_STATE_DONE,
16
20
    GRatingsAndReviews,
17
21
    SubmitReviewsApp,
18
22
    )
19
 
from time import sleep
 
23
 
20
24
 
21
25
class TestReviewLoader(unittest.TestCase):
22
26
    cache = get_test_pkg_info()
32
36
#        review_loader = ReviewLoader(self.cache, self.db)
33
37
#        review_loader.refresh_review_stats(self._review_stats_ready_callback)
34
38
#        while not self._stats_ready:
35
 
#            self._p()
 
39
#            do_events()
36
40
#        self.assertTrue(len(self._review_stats) > 0)
37
41
#        self.assertTrue(os.path.exists(review_loader.REVIEW_STATS_CACHE_FILE))
38
42
#        self.assertTrue(os.path.exists(review_loader.REVIEW_STATS_BSDDB_FILE))
47
51
    def test_edit_review_screen_has_right_labels(self):
48
52
        """Check that LP #880255 stays fixed. """
49
53
 
50
 
        review_app = SubmitReviewsApp(datadir="../data", app=None,
 
54
        review_app = SubmitReviewsApp(datadir=REAL_DATA_DIR, app=None,
51
55
            parent_xid='', iconname='accessories-calculator', origin=None,
52
56
            version=None, action='modify', review_id=10000)
53
57
        # monkey patch away login to avoid that we actually login
58
62
        # run the main app
59
63
        review_app.run()
60
64
 
61
 
        self._p()
 
65
        do_events()
62
66
        review_app.login_successful('foobar')
63
 
        self._p()
 
67
        do_events()
64
68
        self.assertEqual(_('Rating:'), review_app.rating_label.get_label())
65
69
        self.assertEqual(_('Summary:'),
66
70
            review_app.review_summary_label.get_label())
69
73
        review_app.submit_window.hide()
70
74
 
71
75
    def test_get_fade_colour_markup(self):
72
 
        review_app = SubmitReviewsApp(datadir="../data", app=None,
 
76
        review_app = SubmitReviewsApp(datadir=REAL_DATA_DIR, app=None,
73
77
            parent_xid='', iconname='accessories-calculator', origin=None,
74
78
            version=None, action='nothing')
75
79
        cases = (
85
89
            self.assertEqual(expected, result)
86
90
 
87
91
    def test_modify_review_is_the_same_supports_unicode(self):
88
 
        review_app = SubmitReviewsApp(datadir="../data", app=None,
 
92
        review_app = SubmitReviewsApp(datadir=REAL_DATA_DIR, app=None,
89
93
            parent_xid='', iconname='accessories-calculator', origin=None,
90
94
            version=None, action='modify', review_id=10000)
91
95
        self.assertTrue(review_app._modify_review_is_the_same())
103
107
            self.assertFalse(review_app._modify_review_is_the_same())
104
108
 
105
109
    def test_change_status(self):
106
 
        review_app = SubmitReviewsApp(datadir="../data", app=None,
 
110
        review_app = SubmitReviewsApp(datadir=REAL_DATA_DIR, app=None,
107
111
            parent_xid='', iconname='accessories-calculator', origin=None,
108
112
            version=None, action='nothing')
109
113
        msg = 'Something completely different'
136
140
                    include_hidden_chars=False))
137
141
                review_app.detail_expander.get_visible()
138
142
 
139
 
    def _p(self):
140
 
        main_loop = GObject.main_context_default()
141
 
        while main_loop.pending():
142
 
            main_loop.iteration()
143
 
 
144
143
 
145
144
class TestGRatingsAndReviews(unittest.TestCase):
 
145
 
146
146
    def setUp(self):
147
 
        mock_token = {'token': 'foobar', 
 
147
        mock_token = {'token': 'foobar',
148
148
                      'token_secret': 'foobar',
149
149
                      'consumer_key': 'foobar',
150
150
                      'consumer_secret': 'foobar',
151
151
                     }
152
152
        self.api = GRatingsAndReviews(mock_token)
153
 
 
154
 
    def tearDown(self):
155
 
        self.api.shutdown()
 
153
        self.addClenaup(self.api.shutdown)
156
154
 
157
155
    def make_review(self):
158
156
        review = Mock()
165
163
        review.package_version = '1.0'
166
164
        review.date = '2012-01-22'
167
165
        review.language = 'en'
168
 
        return review        
 
166
        return review
169
167
 
170
168
    def wait_for_worker(self):
171
169
        while self.api.worker_thread._transmit_state != TRANSMIT_STATE_DONE:
239
237
 
240
238
 
241
239
if __name__ == "__main__":
242
 
    import logging
243
 
    logging.basicConfig(level=logging.DEBUG)
244
240
    unittest.main()