Private
Public Access
1
0

more coverage stuff

This commit is contained in:
Sander Roosendaal
2021-04-26 11:34:37 +02:00
parent df86eaac0c
commit 544b27e7c0
9 changed files with 312 additions and 152 deletions

View File

@@ -34,7 +34,7 @@ from rowsandall_app.settings import (
BRAINTREE_SANDBOX_PRIVATE_KEY, BRAINTREE_MERCHANT_ACCOUNT_ID
)
if settings.DEBUG or 'dev' in settings.SITE_URL:
if settings.DEBUG or 'dev' in settings.SITE_URL: # pragma: no cover
gateway = braintree.BraintreeGateway(
braintree.Configuration(
braintree.Environment.Sandbox,
@@ -68,7 +68,7 @@ def process_webhook(notification):
if notification.kind == 'subscription_canceled':
subscription = notification.subscription
rs = Rower.objects.filter(subscription_id=subscription.id)
if rs.count() == 0:
if rs.count() == 0: # pragma: no cover
with open('braintreewebhooks.log','a') as f:
f.write('Could not find rowers with subscription ID '+subscription.id+'\n')
return 0
@@ -76,10 +76,10 @@ def process_webhook(notification):
result,mesg,errormsg = cancel_subscription(r,subscription.id)
if result:
with open('braintreewebhooks.log','a') as f:
f.write('Subscription canceled: '+subscription.id+'\n')
f.write('Subscription canceled: '+str(subscription.id)+'\n')
return subscription.id
with open('braintreewebhooks.log','a') as f:
f.write('Could not cancel Subscription: '+subscription.id+'\n')
with open('braintreewebhooks.log','a') as f: # pragma: no cover
f.write('Could not cancel Subscription: '+str(subscription.id)+'\n')
return 0
return 0
@@ -87,10 +87,10 @@ def send_invoice(subscription):
with open('braintreewebhooks.log','a') as f:
t = time.localtime()
timestamp = time.strftime('%b-%d-%Y_%H%M', t)
f.write('Subscription ID '+subscription.id+'\n')
f.write('Subscription ID '+str(subscription.id)+'\n')
subscription_id = subscription.id
rs = Rower.objects.filter(subscription_id=subscription_id)
if rs.count() == 0:
if rs.count() == 0: # pragma: no cover
return 0
else:
r = rs[0]
@@ -99,7 +99,7 @@ def send_invoice(subscription):
fakturoid_contact_id = fakturoid.get_contacts(r)
with open('braintreewebhooks.log','a') as f:
f.write('Fakturoid Contact ID '+str(fakturoid_contact_id)+'\n')
if not fakturoid_contact_id:
if not fakturoid_contact_id: # pragma: no cover
fakturoid_contact_id = fakturoid.create_contact(r)
with open('braintreewebhooks.log','a') as f:
f.write('Created Fakturoid Contact ID '+str(fakturoid_contact_id)+'\n')
@@ -112,7 +112,7 @@ def send_invoice(subscription):
contact_id=fakturoid_contact_id)
return id
return 0
return 0 # pragma: no cover
def webhook(request):
@@ -120,7 +120,7 @@ def webhook(request):
webhook_notification = gateway.webhook_notification.parse(
str(request.POST['bt_signature']),
request.POST['bt_payload'])
except InvalidSignatureError:
except InvalidSignatureError: # pragma: no cover
return 4
result = process_webhook(webhook_notification)
@@ -136,14 +136,14 @@ def create_customer(rower,force=False):
'last_name':rower.user.last_name,
'email':rower.user.email,
})
if not result.is_success:
if not result.is_success: # pragma: no cover
raise ProcessorCustomerError
else:
rower.customer_id = result.customer.id
rower.paymentprocessor = 'braintree'
rower.save()
return rower.customer_id
else:
else: # pragma: no cover
return rower.customer_id
@@ -153,7 +153,7 @@ def get_client_token(rower):
client_token = gateway.client_token.generate({
"customer_id":rower.customer_id,
})
except ValueError:
except ValueError: # pragma: no cover
customer_id = create_customer(rower,force=True)
client_token = gateway.client_token.generate({
@@ -162,7 +162,7 @@ def get_client_token(rower):
return client_token
def get_plans_costs():
def get_plans_costs(): # pragma: no cover
plans = gateway.plan.all()
localplans = PaidPlan.object.filter(paymentprocessor='braintree')
@@ -179,7 +179,7 @@ def make_payment(rower,data):
nonce_from_the_client = data['payment_method_nonce']
nonce = gateway.payment_method_nonce.find(nonce_from_the_client)
info = nonce.three_d_secure_info
if nonce.type.lower() == 'creditcard':
if nonce.type.lower() == 'creditcard': # pragma: no cover
if info is None or not info.liability_shifted:
return False,0
@@ -211,7 +211,7 @@ def make_payment(rower,data):
name, rower.user.email, amount)
return amount,True
else:
else: # pragma: no cover
return 0,False
def update_subscription(rower,data,method='up'):
@@ -397,7 +397,7 @@ def cancel_subscription(rower,id):
try:
result = gateway.subscription.cancel(id)
themessages.append("Subscription canceled")
except:
except: # pragma: no cover
errormessages.append("We could not find the subscription record in our customer database. We have notified the site owner, who will contact you.")
@@ -426,29 +426,29 @@ def cancel_subscription(rower,id):
def find_subscriptions(rower):
try:
result = gateway.customer.find(rower.customer_id)
except:
except: # pragma: no cover
raise ProcessorCustomerError("We could not find the customer in the database")
active_subscriptions = []
cards = result.credit_cards
for card in cards:
for card in cards: # pragma: no cover
for subscription in card.subscriptions:
if subscription.status == 'Active':
active_subscriptions.append(subscription)
try:
paypal_accounts = result.paypal_accounts
for account in paypal_accounts:
for account in paypal_accounts: # pragma: no cover
for subscription in account.subscriptions:
if subscription.status == 'Active':
active_subscriptions.append(subscription)
except AttributeError:
except AttributeError: # pragma: no cover
pass
result = []
for subscription in active_subscriptions:
for subscription in active_subscriptions: # pragma: no cover
plan = PaidPlan.objects.filter(paymentprocessor="braintree",
external_id=subscription.plan_id)[0]
@@ -466,7 +466,7 @@ def find_subscriptions(rower):
return result
def get_transactions(start_date,end_date):
def get_transactions(start_date,end_date): # pragma: no cover
results = gateway.transaction.search(
braintree.TransactionSearch.created_at.between(
start_date,
@@ -553,5 +553,5 @@ def get_transactions(start_date,end_date):
return df
def mocktest(rower):
def mocktest(rower): # pragma: no cover
return '5'