示例#1
0
    def setUp(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock('urlobj.read',
                                   returns='''
{"result":{"updated_at":"2010-10-02T02:06:00Z", "value":81,"target":"jpy",
"base":"eur"}, "code":0, "status":"ok"}
''')
        xurrency.urllib2.urlopen = Mock('urlopen', returns=urlopen_result)
示例#2
0
    def test_get_rate_InvalidCurrenciesError(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock('urlobj.read',
                                   returns='''
{"code": 2, "message": "Currencies are not valid", "status": "fail"}
''')
        xurrency.urllib2.urlopen = Mock('urlopen', returns=urlopen_result)
        pyx = xurrency.Xurrency()
        assert_equals(pyx.get_rate('eur', 'jpy', 37.2), 81 * 37.2)
示例#3
0
    def setUp(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock(
            'urlobj.read', returns='''
{"result":{"updated_at":"2010-10-02T02:06:00Z", "value":81,"target":"jpy",
"base":"eur"}, "code":0, "status":"ok"}
'''
            )
        xurrency.urllib2.urlopen = Mock(
            'urlopen', returns=urlopen_result)
示例#4
0
 def setUp(self):
     import time
     self.feed = Feed()
     entry = Mock("Entry")
     entry.title = "Title1"
     entry.author = "Author1"
     entry.read = False
     entry.important = False
     entry.updated = time.gmtime(time.time())
     self.feed.entries.append(entry)
     entry = Mock("Entry")
     entry.title = "Title2"
     entry.author = "Author2"
     entry.read = True
     entry.important = True
     entry.updated = time.gmtime(time.time())
     self.feed.entries.append(entry)
     self.entryModel = EntryModel(self.feed)
     self.modeltest = ModelTest(self.entryModel, self.entryModel)
示例#5
0
    def test_get_rate_XurrencyError(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock('urlobj.read',
                                   returns='''
{"code": 1, "status": "fail",
  "message": "Amount should be between 0 and 999999999"}
''')
        xurrency.urllib2.urlopen = Mock('urlopen', returns=urlopen_result)
        pyx = xurrency.Xurrency()
        assert_equals(pyx.get_rate('eur', 'jpy', 37.2), 81 * 37.2)
示例#6
0
    def test_get_rate_APILimitReachedError(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock('urlobj.read',
                                   returns='''
{"code": 3,   "status": "fail",
  "message":
  "Limit Reached (10 requests per day). Please adquire a license key"}
''')
        xurrency.urllib2.urlopen = Mock('urlopen', returns=urlopen_result)
        pyx = xurrency.Xurrency()
        assert_equals(pyx.get_rate('eur', 'jpy', 37.2), 81 * 37.2)
示例#7
0
    def test_get_rate_InvalidCurrenciesError(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock(
            'urlobj.read', returns='''
{"code": 2, "message": "Currencies are not valid", "status": "fail"}
'''
            )
        xurrency.urllib2.urlopen = Mock(
            'urlopen', returns=urlopen_result)
        pyx = xurrency.Xurrency()
        assert_equals(
            pyx.get_rate('eur', 'jpy', 37.2),
            81 * 37.2
            )
示例#8
0
    def test_get_rate_XurrencyError(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock(
            'urlobj.read', returns='''
{"code": 1, "status": "fail",
  "message": "Amount should be between 0 and 999999999"}
'''
            )
        xurrency.urllib2.urlopen = Mock(
            'urlopen', returns=urlopen_result)
        pyx = xurrency.Xurrency()
        assert_equals(
            pyx.get_rate('eur', 'jpy', 37.2),
            81 * 37.2
            )
示例#9
0
    def test_get_rate_WithValue_InvalidCurrenciesError(self):
        """
        Even if XurrencyAPIInvalidCurrenciesError is returned after execute,
        the value has already been used if it has cached it.
        """
        pyx = xurrency.Xurrency()
        assert_equals(pyx.get_rate('eur', 'jpy', 37.2), 81 * 37.2)

        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock('urlobj.read',
                                   returns='''
{"code": 4, "status": "fail",
  "message": "The api key is not valid"}
''')
        assert_equals(pyx.get_rate('eur', 'jpy', 37.2), 81 * 37.2)
示例#10
0
    def test_get_rate_APILimitReachedError(self):
        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock(
            'urlobj.read', returns='''
{"code": 3,   "status": "fail",
  "message":
  "Limit Reached (10 requests per day). Please adquire a license key"}
'''
            )
        xurrency.urllib2.urlopen = Mock(
            'urlopen', returns=urlopen_result)
        pyx = xurrency.Xurrency()
        assert_equals(
            pyx.get_rate('eur', 'jpy', 37.2),
            81 * 37.2
            )
示例#11
0
    def test_get_rate_WithValue_InvalidCurrenciesError(self):
        """
        Even if XurrencyAPIInvalidCurrenciesError is returned after execute,
        the value has already been used if it has cached it.
        """
        pyx = xurrency.Xurrency()
        assert_equals(
            pyx.get_rate('eur', 'jpy', 37.2),
            81 * 37.2
            )

        urlopen_result = Mock('urlobject')
        urlopen_result.read = Mock(
            'urlobj.read', returns='''
{"code": 4, "status": "fail",
  "message": "The api key is not valid"}
''')
        assert_equals(
            pyx.get_rate('eur', 'jpy', 37.2),
            81 * 37.2
            )