gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-merchant-frontends] 01/02: test bad donation receive


From: gnunet
Subject: [GNUnet-SVN] [taler-merchant-frontends] 01/02: test bad donation receiver, use exceptions for 'expect_parameter()'
Date: Fri, 28 Jul 2017 13:13:13 +0200

This is an automated email from the git hooks/post-receive script.

marcello pushed a commit to branch master
in repository merchant-frontends.

commit 838b311ecf44451ec21da28ab1b32d7168c25f5a
Author: Marcello Stanisci <address@hidden>
AuthorDate: Fri Jul 28 13:06:29 2017 +0200

    test bad donation receiver, use exceptions for 'expect_parameter()'
---
 talerfrontends/donations/donations.py | 9 ++++++++-
 talerfrontends/tests.py               | 5 +++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/talerfrontends/donations/donations.py 
b/talerfrontends/donations/donations.py
index 6fb15d9..061685f 100644
--- a/talerfrontends/donations/donations.py
+++ b/talerfrontends/donations/donations.py
@@ -28,7 +28,8 @@ import jinja2
 from talerfrontends.talerconfig import TalerConfig
 from talerfrontends.helpers import (make_url,
 expect_parameter, amount_from_float, amount_to_float,
-join_urlparts, get_query_string, MissingParameterException)
+join_urlparts, get_query_string, MissingParameterException,
+backend_error)
 
 logger = logging.getLogger(__name__)
 
@@ -119,6 +120,12 @@ def generate_contract():
         ),
     )
     r = requests.post(urljoin(BACKEND_URL, 'proposal'), json=dict(order=order))
+    if 200 != r.status_code:
+        # It is important to use 'backend_error()', as it handles
+        # the case where the backend gives NO JSON as response.
+        # For example, if it dies, or nginx hijacks somehow the
+        # response.
+        return backend_error(r)
     return flask.jsonify(r.json()), r.status_code
 
 @app.route("/donate")
diff --git a/talerfrontends/tests.py b/talerfrontends/tests.py
index 7bdac73..9178127 100755
--- a/talerfrontends/tests.py
+++ b/talerfrontends/tests.py
@@ -8,7 +8,9 @@ a wallet (resume Python wallet?)!
 import unittest
 from donations import donations
 from blog import blog
+import logging
 
+logger = logging.getLogger(__name__)
 dapp = donations.app
 bapp = donations.app
 
@@ -24,10 +26,13 @@ class DonationsTestCase(unittest.TestCase):
     def test_proposal_creation(self):
         qs = "/generate-contract?donation_receiver=Tor&donation_amount=1.0"
         bad_qs = "/generate-contract?buggy=qs"
+        bad_receiver = 
"/generate-contract?donation_receiver=Torrone&donation_amount=2"
         response = self.app.get(qs)
         assert 200 == response.status_code
         response = self.app.get(bad_qs)
         assert 400 == response.status_code
+        response = self.app.get(bad_receiver)
+        print(response.data)
 
 class BlogTestCase(unittest.TestCase):
     def setUp(self):

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]