Index: third_party/gsutil/boto/tests/fps/test.py |
diff --git a/third_party/gsutil/boto/tests/fps/test.py b/third_party/gsutil/boto/tests/fps/test.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..d5efb4b75c496850c05b7e4f3c4683b194445fd1 |
--- /dev/null |
+++ b/third_party/gsutil/boto/tests/fps/test.py |
@@ -0,0 +1,100 @@ |
+#!/usr/bin/env python |
+ |
+from tests.unit import unittest |
+import sys |
+import os |
+import os.path |
+ |
+simple = True |
+advanced = False |
+if __name__ == "__main__": |
+ devpath = os.path.relpath(os.path.join('..', '..'), |
+ start=os.path.dirname(__file__)) |
+ sys.path = [devpath] + sys.path |
+ print '>>> advanced FPS tests; using local boto sources' |
+ advanced = True |
+ |
+from boto.fps.connection import FPSConnection |
+from boto.fps.response import ComplexAmount |
+ |
+ |
+class FPSTestCase(unittest.TestCase): |
+ |
+ def setUp(self): |
+ self.fps = FPSConnection(host='fps.sandbox.amazonaws.com') |
+ if advanced: |
+ self.activity = self.fps.get_account_activity(\ |
+ StartDate='2012-01-01') |
+ result = self.activity.GetAccountActivityResult |
+ self.transactions = result.Transaction |
+ |
+ @unittest.skipUnless(simple, "skipping simple test") |
+ def test_get_account_balance(self): |
+ response = self.fps.get_account_balance() |
+ self.assertTrue(hasattr(response, 'GetAccountBalanceResult')) |
+ self.assertTrue(hasattr(response.GetAccountBalanceResult, |
+ 'AccountBalance')) |
+ accountbalance = response.GetAccountBalanceResult.AccountBalance |
+ self.assertTrue(hasattr(accountbalance, 'TotalBalance')) |
+ self.assertIsInstance(accountbalance.TotalBalance, ComplexAmount) |
+ self.assertTrue(hasattr(accountbalance, 'AvailableBalances')) |
+ availablebalances = accountbalance.AvailableBalances |
+ self.assertTrue(hasattr(availablebalances, 'RefundBalance')) |
+ |
+ @unittest.skipUnless(simple, "skipping simple test") |
+ def test_complex_amount(self): |
+ response = self.fps.get_account_balance() |
+ accountbalance = response.GetAccountBalanceResult.AccountBalance |
+ asfloat = float(accountbalance.TotalBalance.Value) |
+ self.assertIn('.', str(asfloat)) |
+ |
+ @unittest.skipUnless(simple, "skipping simple test") |
+ def test_required_arguments(self): |
+ with self.assertRaises(KeyError): |
+ self.fps.write_off_debt(AdjustmentAmount=123.45) |
+ |
+ @unittest.skipUnless(simple, "skipping simple test") |
+ def test_cbui_url(self): |
+ inputs = { |
+ 'transactionAmount': 123.45, |
+ 'pipelineName': 'SingleUse', |
+ 'returnURL': 'https://localhost/', |
+ 'paymentReason': 'a reason for payment', |
+ 'callerReference': 'foo', |
+ } |
+ result = self.fps.cbui_url(**inputs) |
+ print "cbui_url() yields {0}".format(result) |
+ |
+ @unittest.skipUnless(simple, "skipping simple test") |
+ def test_get_account_activity(self): |
+ response = self.fps.get_account_activity(StartDate='2012-01-01') |
+ self.assertTrue(hasattr(response, 'GetAccountActivityResult')) |
+ result = response.GetAccountActivityResult |
+ self.assertTrue(hasattr(result, 'BatchSize')) |
+ try: |
+ int(result.BatchSize) |
+ except: |
+ self.assertTrue(False) |
+ |
+ @unittest.skipUnless(advanced, "skipping advanced test") |
+ def test_get_transaction(self): |
+ assert len(self.transactions) |
+ transactionid = self.transactions[0].TransactionId |
+ result = self.fps.get_transaction(TransactionId=transactionid) |
+ self.assertTrue(hasattr(result.GetTransactionResult, 'Transaction')) |
+ |
+ @unittest.skip('cosmetic') |
+ def test_bad_request(self): |
+ try: |
+ self.fps.write_off_debt(CreditInstrumentId='foo', |
+ AdjustmentAmount=123.45) |
+ except Exception, e: |
+ print e |
+ |
+ @unittest.skip('cosmetic') |
+ def test_repr(self): |
+ print self.fps.get_account_balance() |
+ |
+ |
+if __name__ == "__main__": |
+ unittest.main() |