| 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() | 
|  |