PageRenderTime 38ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/boto-2.5.2/tests/fps/test.py

#
Python | 100 lines | 83 code | 16 blank | 1 comment | 7 complexity | ae5591563bc0972907c81d275ec6be72 MD5 | raw file
  1. #!/usr/bin/env python
  2. from tests.unit import unittest
  3. import sys
  4. import os
  5. import os.path
  6. simple = True
  7. advanced = False
  8. if __name__ == "__main__":
  9. devpath = os.path.relpath(os.path.join('..', '..'),
  10. start=os.path.dirname(__file__))
  11. sys.path = [devpath] + sys.path
  12. print '>>> advanced FPS tests; using local boto sources'
  13. advanced = True
  14. from boto.fps.connection import FPSConnection
  15. from boto.fps.response import ComplexAmount
  16. class FPSTestCase(unittest.TestCase):
  17. def setUp(self):
  18. self.fps = FPSConnection(host='fps.sandbox.amazonaws.com')
  19. if advanced:
  20. self.activity = self.fps.get_account_activity(\
  21. StartDate='2012-01-01')
  22. result = self.activity.GetAccountActivityResult
  23. self.transactions = result.Transaction
  24. @unittest.skipUnless(simple, "skipping simple test")
  25. def test_get_account_balance(self):
  26. response = self.fps.get_account_balance()
  27. self.assertTrue(hasattr(response, 'GetAccountBalanceResult'))
  28. self.assertTrue(hasattr(response.GetAccountBalanceResult,
  29. 'AccountBalance'))
  30. accountbalance = response.GetAccountBalanceResult.AccountBalance
  31. self.assertTrue(hasattr(accountbalance, 'TotalBalance'))
  32. self.assertIsInstance(accountbalance.TotalBalance, ComplexAmount)
  33. self.assertTrue(hasattr(accountbalance, 'AvailableBalances'))
  34. availablebalances = accountbalance.AvailableBalances
  35. self.assertTrue(hasattr(availablebalances, 'RefundBalance'))
  36. @unittest.skipUnless(simple, "skipping simple test")
  37. def test_complex_amount(self):
  38. response = self.fps.get_account_balance()
  39. accountbalance = response.GetAccountBalanceResult.AccountBalance
  40. asfloat = float(accountbalance.TotalBalance.Value)
  41. self.assertIn('.', str(asfloat))
  42. @unittest.skipUnless(simple, "skipping simple test")
  43. def test_required_arguments(self):
  44. with self.assertRaises(KeyError):
  45. self.fps.write_off_debt(AdjustmentAmount=123.45)
  46. @unittest.skipUnless(simple, "skipping simple test")
  47. def test_cbui_url(self):
  48. inputs = {
  49. 'transactionAmount': 123.45,
  50. 'pipelineName': 'SingleUse',
  51. 'returnURL': 'https://localhost/',
  52. 'paymentReason': 'a reason for payment',
  53. 'callerReference': 'foo',
  54. }
  55. result = self.fps.cbui_url(**inputs)
  56. print "cbui_url() yields {0}".format(result)
  57. @unittest.skipUnless(simple, "skipping simple test")
  58. def test_get_account_activity(self):
  59. response = self.fps.get_account_activity(StartDate='2012-01-01')
  60. self.assertTrue(hasattr(response, 'GetAccountActivityResult'))
  61. result = response.GetAccountActivityResult
  62. self.assertTrue(hasattr(result, 'BatchSize'))
  63. try:
  64. int(result.BatchSize)
  65. except:
  66. self.assertTrue(False)
  67. @unittest.skipUnless(advanced, "skipping advanced test")
  68. def test_get_transaction(self):
  69. assert len(self.transactions)
  70. transactionid = self.transactions[0].TransactionId
  71. result = self.fps.get_transaction(TransactionId=transactionid)
  72. self.assertTrue(hasattr(result.GetTransactionResult, 'Transaction'))
  73. @unittest.skip('cosmetic')
  74. def test_bad_request(self):
  75. try:
  76. self.fps.write_off_debt(CreditInstrumentId='foo',
  77. AdjustmentAmount=123.45)
  78. except Exception, e:
  79. print e
  80. @unittest.skip('cosmetic')
  81. def test_repr(self):
  82. print self.fps.get_account_balance()
  83. if __name__ == "__main__":
  84. unittest.main()