~nataliabidart/software-center/winged-migration

« back to all changes in this revision

Viewing changes to test/test_recagent.py

  • Committer: Michael Vogt
  • Date: 2012-02-02 08:47:10 UTC
  • mfrom: (2690.1.36 software-center)
  • Revision ID: michael.vogt@ubuntu.com-20120202084710-aed7137jdd9zwpny
* lp:~gary-lasker/software-center/recommends-ui-lobby:
  - initial recommends UI implementation, limited to non-personalized
    recommends currently

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
 
 
3
from gi.repository import GObject
 
4
import unittest
 
5
import os
 
6
 
 
7
from testutils import setup_test_env
 
8
setup_test_env()
 
9
 
 
10
from softwarecenter.backend.recommends import RecommenderAgent
 
11
 
 
12
class TestRecommenderAgent(unittest.TestCase):
 
13
    """ tests the recommender agent """
 
14
 
 
15
    def setUp(self):
 
16
        self.loop = GObject.MainLoop(GObject.main_context_default())
 
17
        self.error = False
 
18
 
 
19
    def on_query_done(self, recagent, data):
 
20
        print "query done, data: '%s'" % data
 
21
        self.loop.quit()
 
22
        
 
23
    def on_query_error(self, recagent, error):
 
24
        self.loop.quit()
 
25
        self.error = True
 
26
        
 
27
    def test_recagent_query_recommend_top(self):
 
28
        # NOTE: This requires a working recommender host that is reachable
 
29
        os.environ["SOFTWARE_CENTER_RECOMMENDER_HOST"] = "https://rec.staging.ubuntu.com/"
 
30
        recommender_agent = RecommenderAgent()
 
31
        recommender_agent.connect("recommend-top", self.on_query_done)
 
32
        recommender_agent.connect("error", self.on_query_error)
 
33
        recommender_agent.query_recommend_top()
 
34
        self.loop.run()
 
35
        self.assertFalse(self.error)
 
36
        del os.environ["SOFTWARE_CENTER_RECOMMENDER_HOST"]
 
37
        
 
38
#    def test_recagent_query_recommend_me(self):
 
39
#        os.environ["SOFTWARE_CENTER_RECOMMENDER_HOST"] = "https://rec.staging.ubuntu.com/"
 
40
#        recommender_agent = RecommenderAgent()
 
41
#        recommender_agent.connect("recommend-me", self.on_query_done)
 
42
#        recommender_agent.connect("error", self.on_query_error)
 
43
#        recommender_agent.query_recommend_me()
 
44
#        self.loop.run()
 
45
#        self.assertFalse(self.error)
 
46
#        del os.environ["SOFTWARE_CENTER_RECOMMENDER_HOST"]
 
47
        
 
48
    def test_recagent_query_error(self):
 
49
        # there definitely ain't no server here
 
50
        os.environ["SOFTWARE_CENTER_RECOMMENDER_HOST"] = "https://orange.staging.ubuntu.com/"
 
51
        recommender_agent = RecommenderAgent()
 
52
        recommender_agent.connect("recommend-top", self.on_query_done)
 
53
        recommender_agent.connect("error", self.on_query_error)
 
54
        recommender_agent.query_recommend_top()
 
55
        self.loop.run()
 
56
        self.assertTrue(self.error)
 
57
        
 
58
        del os.environ["SOFTWARE_CENTER_RECOMMENDER_HOST"]
 
59
 
 
60
 
 
61
if __name__ == "__main__":
 
62
    import logging
 
63
    logging.basicConfig(level=logging.DEBUG)
 
64
    unittest.main()