gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-bank] branch master updated: lint tests


From: gnunet
Subject: [GNUnet-SVN] [taler-bank] branch master updated: lint tests
Date: Fri, 29 Dec 2017 12:23:58 +0100

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

marcello pushed a commit to branch master
in repository bank.

The following commit(s) were added to refs/heads/master by this push:
     new e3c2420  lint tests
e3c2420 is described below

commit e3c242043b199ddade6ae540bcc8284c0e377d5e
Author: Marcello Stanisci <address@hidden>
AuthorDate: Fri Dec 29 12:23:48 2017 +0100

    lint tests
---
 talerbank/app/tests.py | 197 +++++++++++++++++++++++++++++--------------------
 talerbank/settings.py  |   3 +-
 2 files changed, 117 insertions(+), 83 deletions(-)

diff --git a/talerbank/app/tests.py b/talerbank/app/tests.py
index a7d68f3..8f5fd56 100644
--- a/talerbank/app/tests.py
+++ b/talerbank/app/tests.py
@@ -17,16 +17,16 @@
 import json
 import timeit
 import logging
+from urllib.parse import unquote
 from django.db import connection
 from django.test import TestCase, Client
 from django.urls import reverse
 from django.conf import settings
 from django.contrib.auth.models import User
 from mock import patch, MagicMock
-from urllib.parse import unquote
 from .models import BankAccount, BankTransaction
 from . import urls
-from .views import wire_transfer, LoginFailed
+from .views import wire_transfer
 from .amount import Amount, CurrencyMismatch, BadFormatAmount
 
 LOGGER = logging.getLogger()
@@ -37,8 +37,11 @@ def clear_db():
     BankAccount.objects.all().delete()
     BankTransaction.objects.all().delete()
     with connection.cursor() as cursor:
-        cursor.execute("ALTER SEQUENCE app_bankaccount_account_no_seq RESTART")
-        cursor.execute("ALTER SEQUENCE app_banktransaction_id_seq RESTART")
+        cursor.execute(
+            "ALTER SEQUENCE app_bankaccount_account_no_seq" \
+            " RESTART")
+        cursor.execute(
+            "ALTER SEQUENCE app_banktransaction_id_seq RESTART")
 
 class WithdrawTestCase(TestCase):
     def setUp(self):
@@ -57,9 +60,6 @@ class WithdrawTestCase(TestCase):
         self.exchange_bank_account.save()
         self.client = Client()
 
-    def tearDown(self):
-        clear_db()
-
     @patch('talerbank.app.views.wire_transfer')
     @patch('hashlib.new')
     @patch('time.time')
@@ -100,9 +100,9 @@ class WithdrawTestCase(TestCase):
         response = self.client.post(
             reverse("pin-verify", urlconf=urls),
             {"pin_1": "0"})
-        
-        args, kwargs = mocked_wire_transfer.call_args
 
+        args, kwargs = mocked_wire_transfer.call_args
+        del kwargs
         self.assertTrue(
             args[0].dump() == amount.dump() \
             and self.user_bank_account in args \
@@ -129,15 +129,15 @@ class InternalWireTransferTestCase(TestCase):
     def test_internal_wire_transfer(self):
         client = Client()
         client.login(username="give_money", password="gm")
-        response = client.post(reverse("profile", urlconf=urls),
-                               {"amount": 3.0,
-                                "receiver": self.take_money.account_no,
-                                "subject": "charity"})
+        response = client.post(
+            reverse("profile", urlconf=urls),
+            {"amount": 3.0,
+             "receiver": self.take_money.account_no,
+             "subject": "charity"})
         take_money = BankAccount.objects.get(account_no=4)
         self.assertEqual(0, Amount.cmp(
             Amount(settings.TALER_CURRENCY, 3),
-            take_money.amount),
-                         msg=self.take_money.amount.stringify(2))
+            take_money.amount))
         self.assertEqual(302, response.status_code)
 
 
@@ -211,7 +211,9 @@ class LoginTestCase(TestCase):
             **{"HTTP_X_TALER_BANK_USERNAME": "Wrong",
                "HTTP_X_TALER_BANK_PASSWORD": "Credentials"})
         data = response.content.decode("utf-8")
-        self.assertJSONEqual('{"error": "Wrong username/password", "ec": 
5212}', json.loads(data))
+        self.assertJSONEqual(
+            '{"error": "Wrong username/password", "ec": 5212}',
+            json.loads(data))
         self.assertEqual(401, response.status_code)
 
 
@@ -277,7 +279,8 @@ class RejectTestCase(TestCase):
             data='{"row_id": %d, \
                    "auth": {"type": "basic"}, \
                    "account_number": %d}' \
-                  % (jdata["row_id"], rejected.bankaccount.account_no),
+                  % (jdata["row_id"],
+                     rejected.bankaccount.account_no),
             content_type="application/json",
             **{"HTTP_X_TALER_BANK_USERNAME": "rejecting_user",
                "HTTP_X_TALER_BANK_PASSWORD": "rejecting_password"})
@@ -309,11 +312,13 @@ class AddIncomingTestCase(TestCase):
                     "fraction": 0, \
                     "currency": "%s"}}' \
                % settings.TALER_CURRENCY
-        response = client.post(reverse("add-incoming", urlconf=urls),
-                               data=data,
-                               content_type="application/json",
-                               follow=True, **{"HTTP_X_TALER_BANK_USERNAME": 
"user_user",
-                                               "HTTP_X_TALER_BANK_PASSWORD": 
"user_password"})
+        response = client.post(
+            reverse("add-incoming", urlconf=urls),
+            data=data,
+            content_type="application/json",
+            follow=True,
+            **{"HTTP_X_TALER_BANK_USERNAME": "user_user",
+               "HTTP_X_TALER_BANK_PASSWORD": "user_password"})
         self.assertEqual(200, response.status_code)
         data = '{"auth": {"type": "basic"}, \
                  "credit_account": 1, \
@@ -324,11 +329,13 @@ class AddIncomingTestCase(TestCase):
                     "fraction": 0, \
                     "currency": "%s"}}' \
                % "WRONGCURRENCY"
-        response = client.post(reverse("add-incoming", urlconf=urls),
-                               data=data,
-                               content_type="application/json",
-                               follow=True, **{"HTTP_X_TALER_BANK_USERNAME": 
"user_user",
-                                               "HTTP_X_TALER_BANK_PASSWORD": 
"user_password"})
+        response = client.post(
+            reverse("add-incoming", urlconf=urls),
+            data=data,
+            content_type="application/json",
+            follow=True,
+            **{"HTTP_X_TALER_BANK_USERNAME": "user_user",
+               "HTTP_X_TALER_BANK_PASSWORD": "user_password"})
         self.assertEqual(406, response.status_code)
         # Try to go debit
         data = '{"auth": {"type": "basic"}, \
@@ -340,11 +347,13 @@ class AddIncomingTestCase(TestCase):
                     "fraction": 1, \
                     "currency": "%s"}}' \
                % settings.TALER_CURRENCY
-        response = client.post(reverse("add-incoming", urlconf=urls),
-                               data=data,
-                               content_type="application/json",
-                               follow=True, **{"HTTP_X_TALER_BANK_USERNAME": 
"user_user",
-                                               "HTTP_X_TALER_BANK_PASSWORD": 
"user_password"})
+        response = client.post(
+            reverse("add-incoming", urlconf=urls),
+            data=data,
+            content_type="application/json",
+            follow=True,
+            **{"HTTP_X_TALER_BANK_USERNAME": "user_user",
+               "HTTP_X_TALER_BANK_PASSWORD": "user_password"})
         self.assertEqual(403, response.status_code)
 
 class HistoryContext:
@@ -369,7 +378,8 @@ class HistoryTestCase(TestCase):
                 username='User0',
                 password="Password0"))
         credit_account.save()
-        for subject in ("a", "b", "c", "d", "e", "f", "g", "h", "i"):
+        for subject in (
+                "a", "b", "c", "d", "e", "f", "g", "h", "i"):
             wire_transfer(Amount(settings.TALER_CURRENCY, 1),
                           debit_account,
                           credit_account, subject)
@@ -391,38 +401,41 @@ class HistoryTestCase(TestCase):
         clear_db()
 
     def test_history(self):
-        for ctx in (HistoryContext(
-                        expected_resp={"status": 200},
-                        delta="4", direction="both"),
-                    HistoryContext(
-                        expected_resp={
-                            "fields": [("row_id", 6)],
-                            "status": 200},
-                        delta="+1", start="5", direction="both"),
-                    HistoryContext(
-                        expected_resp={
-                            "fields": [("wt_subject", "h")],
-                            "status": 200},
-                        delta="-1", start=9, direction="both"),
-                    HistoryContext(
-                        expected_resp={"status": 204},
-                        delta="1", start="11", direction="both"),
-                    HistoryContext(
-                        expected_resp={
-                            "status": 200,
-                            "fields": [("wt_subject", "i"), ("sign", 
"cancel-")]},
-                        start=8, delta="+1", direction="cancel-"),
-                    HistoryContext(
-                        expected_resp={"status": 204},
-                        start=8, delta="+1", direction="cancel-", 
cancelled="omit"),
-                    HistoryContext(
-                        expected_resp={"status": 204},
-                        start=8, delta="-1", direction="cancel-"),
-                    HistoryContext(
-                        expected_resp={"status": 204},
-                        delta="+1", direction="cancel+"),
-                    HistoryContext(expected_resp={"status": 200},
-                                   delta="+1", direction="debit")):
+        for ctx in (
+                HistoryContext(
+                    expected_resp={"status": 200},
+                    delta="4", direction="both"),
+                HistoryContext(
+                    expected_resp={
+                        "fields": [("row_id", 6)],
+                        "status": 200},
+                    delta="+1", start="5", direction="both"),
+                HistoryContext(
+                    expected_resp={
+                        "fields": [("wt_subject", "h")],
+                        "status": 200},
+                    delta="-1", start=9, direction="both"),
+                HistoryContext(
+                    expected_resp={"status": 204},
+                    delta="1", start="11", direction="both"),
+                HistoryContext(
+                    expected_resp={
+                        "status": 200,
+                        "fields": [("wt_subject", "i"),
+                                   ("sign", "cancel-")]},
+                    start=8, delta="+1", direction="cancel-"),
+                HistoryContext(
+                    expected_resp={"status": 204},
+                    start=8, delta="+1",
+                    direction="cancel-", cancelled="omit"),
+                HistoryContext(
+                    expected_resp={"status": 204},
+                    start=8, delta="-1", direction="cancel-"),
+                HistoryContext(
+                    expected_resp={"status": 204},
+                    delta="+1", direction="cancel+"),
+                HistoryContext(expected_resp={"status": 200},
+                               delta="+1", direction="debit")):
             response = self.client.get(
                 reverse("history", urlconf=urls), ctx.urlargs,
                 **{"HTTP_X_TALER_BANK_USERNAME": "User",
@@ -442,9 +455,9 @@ class HistoryTestCase(TestCase):
             # extract expected data from response
             expected_data = {}
             response_data = {}
-            for k, v in ctx.expected_resp.get("fields", []):
-                response_data.update({k: data.get(k)})
-                expected_data.update({k: v})
+            for key, value in ctx.expected_resp.get("fields", []):
+                response_data.update({key: data.get(key)})
+                expected_data.update({key: value})
 
             self.assertEqual(expected_data, response_data)
 
@@ -481,9 +494,11 @@ class DBCustomColumnTestCase(TestCase):
     def test_exists(self):
         user_bankaccount = BankAccount.objects.get(
             user=User.objects.get(username='U'))
-        self.assertTrue(isinstance(user_bankaccount.amount, Amount))
+        self.assertTrue(
+            isinstance(user_bankaccount.amount, Amount))
 
-# This tests whether a bank account goes debit and then goes >=0  again
+# This tests whether a bank account goes debit and then goes >=0
+# again
 class DebitTestCase(TestCase):
 
     def setUp(self):
@@ -511,8 +526,10 @@ class DebitTestCase(TestCase):
                       user_bankaccount,
                       "Go green")
         tmp = Amount(settings.TALER_CURRENCY, 10)
-        self.assertEqual(0, Amount.cmp(user_bankaccount.amount, tmp))
-        self.assertEqual(0, Amount.cmp(user_bankaccount0.amount, tmp))
+        self.assertEqual(
+            0, Amount.cmp(user_bankaccount.amount, tmp))
+        self.assertEqual(
+            0, Amount.cmp(user_bankaccount0.amount, tmp))
         self.assertFalse(user_bankaccount.debit)
 
         self.assertTrue(user_bankaccount0.debit)
@@ -525,19 +542,33 @@ class DebitTestCase(TestCase):
         tmp.value = 1
         self.assertTrue(user_bankaccount.debit)
         self.assertFalse(user_bankaccount0.debit)
-        self.assertEqual(0, Amount.cmp(user_bankaccount.amount, tmp))
-        self.assertEqual(0, Amount.cmp(user_bankaccount0.amount, tmp))
+        self.assertEqual(
+            0, Amount.cmp(user_bankaccount.amount, tmp))
+        self.assertEqual(
+            0, Amount.cmp(user_bankaccount0.amount, tmp))
 
 class ParseAmountTestCase(TestCase):
     def test_parse_amount(self):
         ret = Amount.parse("KUDOS:4.0")
-        self.assertJSONEqual('{"value": 4, "fraction": 0, "currency": 
"KUDOS"}', ret.dump())
+        self.assertJSONEqual(
+            '{"value": 4, \
+              "fraction": 0, \
+              "currency": "KUDOS"}',
+            ret.dump())
         ret = Amount.parse("KUDOS:4.3")
-        self.assertJSONEqual('{"value": 4, "fraction": 30000000, "currency": 
"KUDOS"}', ret.dump())
+        self.assertJSONEqual(
+            '{"value": 4, \
+              "fraction": 30000000, \
+              "currency": "KUDOS"}',
+            ret.dump())
         ret = Amount.parse("KUDOS:4")
-        self.assertJSONEqual('{"value": 4, "fraction": 0, "currency": 
"KUDOS"}', ret.dump())
+        self.assertJSONEqual(
+            '{"value": 4, "fraction": 0, "currency": "KUDOS"}',
+            ret.dump())
         ret = Amount.parse("KUDOS:4.") # forbid?
-        self.assertJSONEqual('{"value": 4, "fraction": 0, "currency": 
"KUDOS"}', ret.dump())
+        self.assertJSONEqual(
+            '{"value": 4, "fraction": 0, "currency": "KUDOS"}',
+            ret.dump())
         try:
             Amount.parse("Buggy")
         except BadFormatAmount:
@@ -574,9 +605,11 @@ class MeasureHistory(TestCase):
 
         # Measure the time extract_history() needs to retrieve
         # ~ntransfers records.
-        timer = timeit.Timer(stmt="extract_history(self.user_bankaccount0)",
-                             setup="from talerbank.app.views import 
extract_history",
-                             globals=locals())
+        timer = timeit.Timer(
+            stmt="extract_history(self.user_bankaccount0)",
+            setup="from talerbank.app.views import extract_history",
+            globals=locals())
         total_time = timer.timeit(number=1)
         allowed_time_per_record = 0.003
-        self.assertLess(total_time, self.ntransfers*allowed_time_per_record)
+        self.assertLess(
+            total_time, self.ntransfers*allowed_time_per_record)
diff --git a/talerbank/settings.py b/talerbank/settings.py
index fe6ef83..e8f226d 100644
--- a/talerbank/settings.py
+++ b/talerbank/settings.py
@@ -104,7 +104,8 @@ if not DBNAME:
 
 LOGGER.info("dbname: %s" % DBNAME)
 
-CHECK_DBSTRING_FORMAT = re.search("[a-z]+:///[a-z]+([\?][a-z]+=[a-z/]+)?", 
DBNAME)
+CHECK_DBSTRING_FORMAT = re.search(
+    r"[a-z]+:///[a-z]+([\?][a-z]+=[a-z/]+)?", DBNAME)
 if not CHECK_DBSTRING_FORMAT:
     LOGGER.error("Bad db string given '%s', respect the format" \
                  "'dbtype:///dbname'" % DBNAME)

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



reply via email to

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