test_paddle_utils.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from app.paddle_utils import verify_incoming_request
  2. def test_verify_incoming_request():
  3. # the request comes from Paddle simulation
  4. request_data = {
  5. "alert_id": "1647146853",
  6. "alert_name": "payment_succeeded",
  7. "balance_currency": "EUR",
  8. "balance_earnings": "966.81",
  9. "balance_fee": "16.03",
  10. "balance_gross": "107.37",
  11. "balance_tax": "670.85",
  12. "checkout_id": "8-a367127c071e8a2-cba0a50da3",
  13. "country": "AU",
  14. "coupon": "Coupon 7",
  15. "currency": "USD",
  16. "customer_name": "customer_name",
  17. "earnings": "820.91",
  18. "email": "awyman@example.org",
  19. "event_time": "2019-12-14 18:43:09",
  20. "fee": "0.26",
  21. "ip": "65.220.94.158",
  22. "marketing_consent": "1",
  23. "order_id": "8",
  24. "passthrough": "Example String",
  25. "payment_method": "paypal",
  26. "payment_tax": "0.18",
  27. "product_id": "3",
  28. "product_name": "Example String",
  29. "quantity": "29",
  30. "receipt_url": "https://my.paddle.com/receipt/4/5854e29100fd226-440fa7ba7a",
  31. "sale_gross": "568.82",
  32. "used_price_override": "true",
  33. "p_signature": "CQrBWKnAuhBOWdgu6+upbgpLo38c2oQJVgNHLTNsQoaUHtJgHUXzfUfQdcnD9q3EWZuQtyFXXPkygxx/fMbcu+UTnfxkjyecoHio8w4T858jU4VOy1RPqYy6fqazG1vlngiuYqEdgo8OHT/6oIJAf+NWm1v1iwbpr62rDygzJWZrqTzVSKkESfW8/4goxlN2BWr6eaN/4nKQ4gaHq5ee3/7vMmkrLAQG509x9SK3H0bYvh3pvbWMUhYNz8j+7GZRlXcSCpMKw1nkO/jK4IXKW0rtSwgyVjJhpX+/rt2byaCmWEvP0LtGhrug9xAqMYJ3tDCJmwSk2cXG8rPE7oeBwEEElZrQJdbV+i6Tw5rw9LaqEGrjhSkOapfpINdct5UpKXybIyiRZZ111yhJL081T1rtBqb8L+wsPnHG8GzI1Fg5je98j5aXGQU9hcw5nQN779IJQWNN+GbDQZ+Eleu5c6ZYauxpKzE8s/Vs2a4/70KB6WBK6NKxNSIIoOTumKqnfEiPN0pxZp5MMi2dRW7wu7VqvcLbIEYtCkOLnjxVyko32B6AMIgn8CuHvQp9ScPdNdU6B8dBXhdVfV75iYSwx+ythun5d3f357IecaZep27QQmKR/b7/pv4iMOiHKmFQRz9EKwqQm/3Xg2WS4GA4t1X0nslXMuEeRnX6xTaxbvk=",
  34. }
  35. assert verify_incoming_request(request_data)
  36. # add a new field in request_data -> verify should fail
  37. request_data["new_field"] = "new_field"
  38. assert not verify_incoming_request(request_data)
  39. # modify existing field -> verify should fail
  40. request_data["sale_gross"] = "1.23"
  41. assert not verify_incoming_request(request_data)