[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-bank] 04/04: make /history test more compact
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-bank] 04/04: make /history test more compact |
Date: |
Wed, 08 Nov 2017 19:44:51 +0100 |
This is an automated email from the git hooks/post-receive script.
marcello pushed a commit to branch master
in repository bank.
commit 1187972a1967266b704eb73041047ee9f1dd62ca
Author: Marcello Stanisci <address@hidden>
AuthorDate: Wed Nov 8 19:40:52 2017 +0100
make /history test more compact
---
talerbank/app/tests.py | 92 +++++++++++++++++++++-----------------------------
1 file changed, 39 insertions(+), 53 deletions(-)
diff --git a/talerbank/app/tests.py b/talerbank/app/tests.py
index e9c6cd8..8fbc4a7 100644
--- a/talerbank/app/tests.py
+++ b/talerbank/app/tests.py
@@ -30,6 +30,7 @@ def clear_db():
BankTransaction.objects.all().delete()
class WithdrawTestCase(TestCase):
+ # FIXME tbd
pass
class RegisterTestCase(TestCase):
@@ -200,6 +201,13 @@ class AddIncomingTestCase(TestCase):
"HTTP_X_TALER_BANK_PASSWORD":
"user_password"})
self.assertEqual(403, response.status_code)
+class HistoryContext:
+ def __init__(self, expected_resp, **kwargs):
+ self.expected_resp = expected_resp
+ self.urlargs = kwargs
+ self.urlargs.update({"auth": "basic"})
+ def dump(self):
+ return self.urlargs
class HistoryTestCase(TestCase):
@@ -225,59 +233,37 @@ class HistoryTestCase(TestCase):
def test_history(self):
client = Client()
-
- response = client.get(reverse("history", urlconf=urls), {"auth":
"basic", "delta": "+4"},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- self.assertEqual(200, response.status_code)
-
- # Get a delta=+1 record in the middle of the list
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "+1", "start": "5"},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- data = response.content.decode("utf-8")
- data = json.loads(data)
- self.assertEqual(data["data"][0]["row_id"], 6)
- # Get latest record
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "-1"},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- data = response.content.decode("utf-8")
- data = json.loads(data)
- self.assertEqual(data["data"][0]["wt_subject"], "h")
- # Get non-existent record: the latest plus one in the future:
- # transaction "h" takes row_id 11
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "1", "start": "11"},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- self.assertEqual(204, response.status_code)
- # Get credit records
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "+1", "direction":
"credit"},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- self.assertEqual(204, response.status_code)
- # Get debit records
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "+1", "direction":
"debit"},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- self.assertNotEqual(204, response.status_code)
- # Query about non-owned account
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "+1",
"account_number": 2},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- self.assertEqual(403, response.status_code)
- # Query about non-existent account
- response = client.get(reverse("history", urlconf=urls),
- {"auth": "basic", "delta": "-1",
"account_number": 9},
- **{"HTTP_X_TALER_BANK_USERNAME": "User",
- "HTTP_X_TALER_BANK_PASSWORD": "Password"})
- self.assertEqual(404, response.status_code)
+ for ctx in (HistoryContext(expected_resp={"status": 200},
+ delta="4"),
+ HistoryContext(expected_resp={
+ "field": "row_id", "value": 6,
+ "status": 200}, delta="+1", start="5",),
+ HistoryContext(expected_resp={
+ "field": "wt_subject", "value": "h",
+ "status": 200}, delta="-1"),
+ HistoryContext(expected_resp={"status": 204},
+ delta="1", start="11"),
+ HistoryContext(expected_resp={"status": 204},
+ delta="+1", direction="credit"),
+ HistoryContext(expected_resp={"status": 200},
+ delta="+1", direction="debit"),
+ HistoryContext(expected_resp={"status": 403},
+ delta="+1", account_number=2),
+ HistoryContext(expected_resp={"status": 404},
+ delta="-1", account_number=9)):
+ response = client.get(reverse("history", urlconf=urls),
ctx.urlargs,
+ **{"HTTP_X_TALER_BANK_USERNAME": "User",
+ "HTTP_X_TALER_BANK_PASSWORD": "Password"})
+ data = response.content.decode("utf-8")
+ try:
+ data = json.loads(data)["data"][0]
+ except (json.JSONDecodeError, KeyError):
+ data = {}
+
+ # FIXME print urls which break the test.
+ self.assertEqual(data.get(ctx.expected_resp.get("field")),
+ ctx.expected_resp.get("value"))
+ self.assertEqual(ctx.expected_resp.get("status"),
response.status_code)
class DBAmountSubtraction(TestCase):
def setUp(self):
--
To stop receiving notification emails like this one, please contact
address@hidden