
    Ch                     x    S SK Jr  S SKJr  S SKJrJrJr  S SKJ	r	  S SK
Jr  \" S\\   S9r " S S	\	\   5      rg
)    )InvalidRequestError)
quote_plus)TypeVarClassVarAny)Protocol)APIResourceT)boundc                       \ rS rSr% Sr\\   \S'   \\S'   S r	\
S 5       r\
S 5       r\
S 5       r\
S	 5       rS
 rSrg)APIResourceTestHelpers   a  
The base type for the TestHelper nested classes.
Handles request URL generation for test_helper custom methods.
Should be used in combination with the @test_helpers decorator.

@test_helpers
class Foo(APIResource):
  class TestHelpers(APIResourceTestHelpers):
_resource_clsresourcec                     Xl         g Nr   )selfr   s     W/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_test_helpers.py__init__APIResourceTestHelpers.__init__   s         c                 :    U R                   R                  " U0 UD6$ r   )r   _static_requestclsargskwargss      r   r   &APIResourceTestHelpers._static_request   s      00$A&AAr   c                 V   #    U R                   R                  " U0 UD6I S h  vN $  N7fr   )r   _static_request_asyncr   s      r   r!   ,APIResourceTestHelpers._static_request_async    s'     &&<<dMfMMMMs    )')c                 :    U R                   R                  " U0 UD6$ r   )r   _static_request_streamr   s      r   r$   -APIResourceTestHelpers._static_request_stream$   s      77HHHr   c                     U [         :X  a  [        S5      eU R                  R                  R	                  SS5      nSU< S3$ )NzrAPIResourceTestHelpers is an abstract class.  You should perform actions on its subclasses (e.g. Charge, Customer)./z/v1/test_helpers/s)r   NotImplementedErrorr   OBJECT_NAMEreplace)r   bases     r   	class_url APIResourceTestHelpers.class_url(   sG    ((%D    ,,44S#>)-//r   c           
         [        U R                  SS 5      n[        U[        5      (       d5  [	        S[        U 5      R                  < SU< S[        U5      < S3S5      eU R                  5       n[        U5      nU< SU< 3$ )Nidz*Could not determine which URL to request: z instance has invalid ID: z, z+. ID should be of type `str` (or `unicode`)r(   )	getattrr   
isinstancestrr   type__name__r.   r   )r   r1   r-   extns       r   instance_url#APIResourceTestHelpers.instance_url4   sr    T]]D$/"c""% "&d!4!4b$r(D 	  ~~"~%%r   r   N)r6   
__module____qualname____firstlineno____doc__r   r   __annotations__r
   r   classmethodr   r!   r$   r.   r8   __static_attributes__ r   r   r   r      sx     C= K! B B N N I I 	0 	0&r   r   N)stripe._errorr   urllib.parser   typingr   r   r   typing_extensionsr   stripe._api_resourcer	   r
   r   rA   r   r   <module>rG      s8    - # ) ) & ,C{3'(6&Xa[ 6&r   