Ë
    ŠêŸjž  ã                   óV   — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZ  G d„ de«      Z	y)é    N)Úpatch)ÚTestCaseÚoverride_settingsc                   óÆ   — e Zd Z ed¬«       ed«      d„ «       «       Z ed¬«       ed«      d„ «       «       Z ed¬«       ed«      d„ «       «       Z ed¬«      d„ «       Zy	)
ÚShopifyWebhookViewTestsztest-secret)ÚSHOPIFY_API_SECRETz3webhooks.views.WebhookService.handle_refund_createdc                 ó´  — ddi|_         dddœ}t        j                  |«      j                  d«      }t	        j
                  d|t        j                  «      j                  «       }t        j                  |«      j                  d«      } | j                  j                  	 d|dd	œ|d
dœ¤Ž}| j                  |j                  d«       |j!                  «        y )NÚokTzrefund-1Ú12345)ÚidÚorder_idúutf-8ó   test-secretúapplication/json©ÚdataÚcontent_typezwh-id-1©ÚHTTP_X_SHOPIFY_HMAC_SHA256ÚHTTP_X_SHOPIFY_WEBHOOK_IDéÈ   ©z!/webhooks/shopify/refunds-create/)Úreturn_valueÚjsonÚdumpsÚencodeÚhmacÚnewÚhashlibÚsha256ÚdigestÚbase64Ú	b64encodeÚdecodeÚclientÚpostÚassertEqualÚstatus_codeÚassert_called_once)ÚselfÚrefund_handler_mockÚpayloadÚbodyr!   Úheader_hmacÚresponses          úG/var/www/html/shopify_to_digistore/webhooks/tests/test_webhook_views.pyÚ1test_refund_webhook_with_valid_hmac_calls_servicezIShopifyWebhookViewTests.test_refund_webhook_with_valid_hmac_calls_service   sÒ   € ð -1°$¨<ÐÔ(Ø#°Ñ9ˆÜ�z‰z˜'Ó"×)Ñ)¨'Ó2ˆä—‘ØØÜ�N‰Nó
÷ ‰&‹(ð	 	ô
 ×&Ñ& vÓ.×5Ñ5°gÓ>ˆà#�4—;‘;×#Ñ#Ø/ð
àØ+ñ
ð
 /:Ø-6ññ	
ˆð 	×Ñ˜×-Ñ-¨sÔ3Ø×.Ñ.Õ0ó    zCwebhooks.views.WebhookService.handle_fulfillment_created_or_updatedc                 ó8  — dddœ|_         ddddœ}t        j                  |«      j                  d«      }t	        j
                  d	|t        j                  «      j                  «       }t        j                  |«      j                  d«      } | j                  j                  	 d|d
dœ|ddœ¤Ž}| j                  |j                  d«       |j!                  «        |j"                  j$                  }| j                  |d   d«       | j                  |d   d«       y )NTÚ1)r
   Údelivery_idzful-1r   Ú1Z999©r   r   Útracking_numberr   r   r   r   zwh-ful-1r   r   Ú
webhook_idÚtopiczfulfillments/create)z&/webhooks/shopify/fulfillments-create/©r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   Ú	call_argsÚkwargs)r*   Úfulfillment_handler_mockr,   r-   r!   r.   r/   Úcall_kwargss           r0   Ú=test_fulfillment_create_webhook_with_valid_hmac_calls_servicezUShopifyWebhookViewTests.test_fulfillment_create_webhook_with_valid_hmac_calls_service&   s  € ð 8<ÈCÑ0PÐ Ô-àØØ&ñ
ˆô
 �z‰z˜'Ó"×)Ñ)¨'Ó2ˆÜ—‘˜.¨$´·±Ó?×FÑFÓHˆÜ×&Ñ& vÓ.×5Ñ5°gÓ>ˆà#�4—;‘;×#Ñ#Ø4ð
àØ+ñ
ð
 /:Ø-7ññ	
ˆð 	×Ñ˜×-Ñ-¨sÔ3Ø ×3Ñ3Ô5Ø.×8Ñ8×?Ñ?ˆØ×Ñ˜ \Ñ2°JÔ?Ø×Ñ˜ WÑ-Ð/DÕEr2   c                 ó  — ddi|_         ddddœ}t        j                  |«      j                  d«      }t	        j
                  d|t        j                  «      j                  «       }t        j                  |«      j                  d«      } | j                  j                  	 d|d	d
œ|ddœ¤Ž}| j                  |j                  d«       |j!                  «        | j                  |j"                  j$                  d   d«       y )Nr
   Tzful-2r   ÚABCr7   r   r   r   r   zwh-ful-2r   r   r:   zfulfillments/update)z&/webhooks/shopify/fulfillments-update/r;   )r*   r>   r,   r-   r!   r.   r/   s          r0   Ú=test_fulfillment_update_webhook_with_valid_hmac_calls_servicezUShopifyWebhookViewTests.test_fulfillment_update_webhook_with_valid_hmac_calls_serviceF   sï   € ð 26°t°Ð Ô-Ø ¨gÈ%ÑPˆÜ�z‰z˜'Ó"×)Ñ)¨'Ó2ˆÜ—‘˜.¨$´·±Ó?×FÑFÓHˆÜ×&Ñ& vÓ.×5Ñ5°gÓ>ˆà#�4—;‘;×#Ñ#Ø4ð
àØ+ñ
ð
 /:Ø-7ññ	
ˆð 	×Ñ˜×-Ñ-¨sÔ3Ø ×3Ñ3Ô5Ø×ÑØ$×.Ñ.×5Ñ5°gÑ>Ø!õ	
r2   c                 óª   —  | j                   j                  	 dt        j                  ddi«      ddœddi¤Ž}| j	                  |j
                  d«       y )	Nr   zrefund-2r   r   r   Úinvalidi‘  r   )r%   r&   r   r   r'   r(   )r*   r/   s     r0   Ú!test_webhook_rejects_invalid_hmacz9ShopifyWebhookViewTests.test_webhook_rejects_invalid_hmacc   s[   € à#�4—;‘;×#Ñ#Ø/ð
ä—‘˜T :Ð.Ó/Ø+ñ
ð ,¨YÐ7ñ	
ˆð 	×Ñ˜×-Ñ-¨sÕ3r2   N)	Ú__name__Ú
__module__Ú__qualname__r   r   r1   r@   rC   rF   © r2   r0   r   r   
   s“   „ Ù¨-Ô8Ù
Ð@ÓAñ1ó Bó 9ð1ñ2 ¨-Ô8Ù
ÐPÓQñFó Ró 9ðFñ< ¨-Ô8Ù
ÐPÓQñ
ó Ró 9ð
ñ6 ¨-Ô8ñ4ó 9ñ4r2   r   )
r   r   r"   r   Úunittest.mockr   Údjango.testr   r   r   rJ   r2   r0   Ú<module>rM      s%   ðÛ Û Û Û Ý ç 3ôa4˜hõ a4r2   