
    PIig0                         d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddl ddl  G d de      Zedk(  rej7                          yy)zs
Unit tests for the Python Facebook Business SDK.

How to run:
    python -m facebook_business.test.integration_ad
    N)FacebookSession)FacebookRequestError)FacebookAdsApiFacebookRequestFacebookResponse)	AdAccount)
AdCreative)Ad)	Targeting)AdsInsights   )*c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)

AdTestCasec                    t        j                  d      5 }t        j                  | j                  _        t        j                  dt        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                         z   dz   t        t        j                         z   dz   t        t        j"                        z   dz   t        t        j"                        z   dz   t        t        j$                        z   dz   t        t        j$                        z   dz   t        t        j&                        z   dz   t        t        j&                        z   dz   t        t        j(                        z   dz   t        t        j(                        z   dz   t        t        j*                        z   dz   t        t        j*                        z   dz   t        t        j,                        z   dz   t        t        j,                        z   dz   t        t        j.                        z   dz   t        t        j.                        z   dz         | j                  _        | j                  | j2                  _        t        j                  t        j                  t        j                  t        j                  t        j                  t        j                   t        j"                  t        j$                  t        j&                  t        j(                  t        j*                  t        j,                  t        j.                  g}i }t7        t        j8                        j;                  ||	      }| j=                  t?        |      d
       | jA                  tC        |t6                     | j=                  |t        j                     t        j                         | j=                  |t        j                     tE        jF                  t        j                               | j=                  |t        j                     tE        jF                  t        j                        g       | j=                  |t        j                     t        j                         | j=                  |t        j                     t        j                         | j=                  |t        j                      t        j                          | jA                  tC        |t        j"                     tH                     | j=                  |t        j$                     t        j$                         | j=                  |t        j&                     tE        jF                  t        j&                        g       | j=                  |t        j(                     t        j(                         | jA                  tC        |t        j*                     tJ                     | j=                  |t        j,                     t        j,                         | j=                  |t        j.                     t        j.                  g       d d d        y # 1 sw Y   y xY w)NTrecord{"":"","z":z,""}fieldsparamsr   )&warningscatch_warnings
StatusCodeSUCCESSmock_responsestatus_codestrencode	FieldName
ACCOUNT_ID	TestValueAD_REVIEW_FEEDBACKADLABELSAD_LABELADSET_ID
BID_AMOUNTCONFIGURED_STATUSCREATIVEEFFECTIVE_STATUSISSUES_INFOPRIORITY	TARGETINGDATE_FORMATEXECUTION_OPTIONS_contentmock_requestreturn_valuer
   AD_IDapi_getassertEquallen
assertTrue
isinstancejsonloadsr	   r   selfwarningr   r   ads        s/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/test/integration_ad.pytest_get_adzAdTestCase.test_get_ad,   sI   $$D1 :	]W-7-?-?D**-**)../0278:=i>R>R:STW)6678:>?ADYEaEaAbcf ),,-. 155 8;9;M;M7NOR ),,-	. 16	6 9<I<N<N8O	PS	
 )../0
 388
 ;>i>R>R:ST
W )5567 :?? BEYE`E`Aabe ),,-. 155 8;9;M;M7NOR )4456 9>> ADID^D^@_`c	 )//0	1 48	8 ;>i>S>S:T	UX
 ),,-
. 16
6 9<I<N<N8O
PS )--./ 266 9<I<O<O8PQT )//01 499 <?y?T?T;UVY )5567 :?? BEYE`E`Aabe+D'$ .2-?-?D* $$,,""""$$++""**%%""##%%++F FIOO$,, - B
 S\1-OOJr2./R	 4 45y7K7KLR	 < <=tzz)JfJf?ghR	 2 23djjASAS6T5UVR	 2 23Y5G5GHR	 4 45y7K7KLR	 ; ;<i>Y>YZOOJr)*<*<'=zJKR	 : :;Y=W=WXR	 5 56IDYDY9Z8[\R	 2 23Y5G5GHOOJr)*=*='>	JKR	 5 56	8M8MNR	 ; ;<y?Z?Z>[\u:	] :	] :	]s   \3]]c                    t        j                  d      5 }t        j                  | j                  _        | j                  | j                  _        dg}i }| j                  t              5  t        t        j                        j                  ||      }d d d        | j                  t        |      d       | j!                  t#        |d   j$                  t&                     d d d        y # 1 sw Y   YxY w# 1 sw Y   y xY wNTr   unexist_fieldr   r   r   )r   r   r   ERRORr   r    r4   r5   assertRaisesr   r
   r%   r6   r7   r8   r9   r:   
issubclasscategoryUserWarningr>   s        rB   test_get_ad_with_wrong_fieldsz(AdTestCase.test_get_ad_with_wrong_fieldsj   s    $$D1 	JW-7-=-=D*-1-?-?D*  F F""#78 	(00!! 1  S\1-OOJwqz':':KHI	J 	J 	J 	J%   AC;,+C/AC;/C8	4C;;Dc                    t        j                  d      5 }t        j                  | j                  _        t        j                  dt        t        j                        z   dz   t        t        j                        z   dz         | j                  _        | j                  | j                  _        g }t        j                  t        j                  t        j                   t#        j$                  t        j                         t        j&                  t#        j$                  t        j(                        gt        j*                  t        j*                  t        j,                  t        j,                  t        j.                  t        j.                  t        j0                  t#        j$                  t        j0                        t        j2                  t        j2                  t        j4                  t#        j$                  t        j4                        gt        j6                  t        j6                  t        j8                  t#        j$                  t        j8                        t        j:                  t        j:                  t        j<                  t        j<                  gi}t?        t        j                        jA                  ||      }| jC                  tE        |      d       | jG                  tI        |tJ                     | jC                  |t        j                     t        j                         d d d        y # 1 sw Y   y xY w)NTr   r   r   z", "success": "true"}r   )&r   r   r   r   r   r    r!   r"   r#   IDr%   r6   r3   r4   r5   r$   r&   r<   r=   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r   	create_adr8   r9   r:   r;   r
   r>   s        rB   test_create_adzAdTestCase.test_create_ad}   s(   $$D1 	@W-7-?-?D**-**TC	<M5MPU5UX[\e\k\kXl5l  pG  6G  +HD'-1-?-?D*F$$i&:&:,,djj9U9U.V""TZZ	0B0B%C$D""I$6$6$$i&:&:++Y-H-H""DJJy/A/A$B**I,F,F%%

93H3H(I'J""I$6$6##TZZ	0C0C%D%%y'<'<++i.I.I-JF  9//0::B
 S\1-OOJr2./R	-y?;	@ 	@ 	@s   LL99Mc                    t        j                  d      5 }t        j                  | j                  _        | j                  | j                  _        g }ddd}| j                  t              5  t        t        j                        j                  ||      }d d d        | j                  t        |      d       | j!                  t#        |d   j$                  t&                     d d d        y # 1 sw Y   YxY w# 1 sw Y   y xY w)NTr   unexited_statushight)statuspriority   r   )r   r   r   rG   r   r    r4   r5   rH   r   r   r%   r$   rP   r8   r9   r:   rI   rJ   rK   r>   s        rB    test_create_ad_with_wrong_paramsz+AdTestCase.test_create_ad_with_wrong_params   s    $$D1 	JW-7-=-=D*-1-?-?D*F+#F ""#78 y334>> S\1-OOJwqz':':KHI!	J 	J 	J 	Js%   AC<.*C0AC<0C9	5C<<Dc                    t        j                  d      5 }t        j                  | j                  _        t        j                  dt        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz         | j                  _        | j                  | j                  _        t        j                  t        j                  g}i }t!        t        j"                        j%                  ||      }| j'                  t)        |      d       | j+                  t-        |d   t.                     | j'                  |d   t        j                     t        j                         | j'                  |d   t        j                     t        j                         d d d        y # 1 sw Y   y xY w	NTr   r   r   r   r   r   r   )r   r   r   r   r   r    r!   r"   r#   NAMEr%   rO   CREATIVE_IDr3   r4   r5   r
   r6   get_ad_creativesr8   r9   r:   r;   r	   r?   r@   r   r   	creativess        rB   test_get_ad_creativesz AdTestCase.test_get_ad_creatives   s   $$D1 	PW-7-?-?D**-**)..)*,1247	4GHK),,'(*/025i6K6K2LMP+D' .2-?-?D* F F9??+<< = I
 S\1-OOJy|Z@AYq\)..99>>JYq\),,79N9NO3	P 	P 	Ps   GG$$G-c                    t        j                  d      5 }t        j                  | j                  _        | j                  | j                  _        dg}i }| j                  t              5  t        t        j                        j                  ||      }d d d        | j                  t        |      d       | j!                  t#        |d   j$                  t&                     d d d        y # 1 sw Y   YxY w# 1 sw Y   y xY wrE   )r   r   r   rG   r   r    r4   r5   rH   r   r
   r%   r6   r]   r8   r9   r:   rI   rJ   rK   r^   s        rB   'test_get_ad_creatives_with_wrong_fieldsz2AdTestCase.test_get_ad_creatives_with_wrong_fields   s    $$D1 	JW-7-=-=D*-1-?-?D*  F F""#78 y/@@!! A 	 S\1-OOJwqz':':KHI	J 	J 	J 	JrM   c                 D   t        j                  d      5 }t        j                  | j                  _        t        j                  dt        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz   t        t        j                        z   dz         | j                  _        | j                  | j                   _        t        j                  g}t        j$                  t        j$                  gt        j&                  t        j&                  gt        j(                  t        j(                  t        j*                  t        j*                  t        j,                  t        j,                  gi}t/        t        j                        j1                  ||      }| j3                  t5        |      d       | j7                  t9        |d   t:                     | j3                  |d   t        j                     t        j                         | j3                  |d   t        j                     t        j                         | j3                  |d   t        j                     t        j                         d d d        y # 1 sw Y   y xY wrZ   )r   r   r   r   r   r    r!   r"   r#   AD_NAMEr%   r[   r6   
DATE_START	DATE_STOPr3   r4   r5   ACTION_BREAKDOWNSACTION_ATTRIBUTION_WINDOWSDATE_PRESETLEVELSUMMARY_ACTION_BREAKDOWNSr
   get_insightsr8   r9   r:   r;   r   r?   r@   r   r   ad_insightss        rB   test_get_insightszAdTestCase.test_get_insights   s   $$D1 !	WW-7-?-?D**-**)++,-/457:9>>7JKN)//*+-23585IJM )../0 388 ;>i>R>R:STW )--.	/ 27	7 :=Y=P=P9Q	RU	+D' .2-?-?D* !!F ++i.I.I-J44y7[7[6\%%y'<'<33i6Y6Y5ZF Y__-:: ; K
 S\1-OOJ{1~{CD[^I,=,=>	O[^I,@,@A9CWCWX[^I,?,?@)BUBUVC!	W !	W !	Ws   K6LLc                 L   t        j                  d      5 }t        j                  | j                  _        | j                  | j                  _        dg}t        j                  dt        j                  di}| j                  t              5  t        t        j                        j!                  ||      }d d d        | j#                  t%        |      d       | j'                  t)        |d   j*                  t,                     d d d        y # 1 sw Y   YxY w# 1 sw Y   y xY w)NTr   unexisted_fields   wrong_levelr   )r   r   r   rG   r   r    r4   r5   r#   rg   rj   rH   r   r
   r%   r6   rl   r8   r9   r:   rI   rJ   rK   rm   s        rB   .test_get_insights_with_wrong_fields_and_paramsz9AdTestCase.test_get_insights_with_wrong_fields_and_params  s    $$D1 	JW-7-=-=D*-1-?-?D* #F ++QF ""#78  1>> S\1-OOJwqz':':KHI%	J 	J 	J 	Js%   A5D*D6ADD	DD#N)__name__
__module____qualname__rC   rL   rQ   rX   r`   rb   ro   rt        rB   r   r   +   s5    ;]|J&@BJ(P:J&"WJJry   r   __main__)__doc__r   r<   facebook_business.sessionr   facebook_business.exceptionsr   facebook_business.apir   r   r   %facebook_business.adobjects.adaccountr   &facebook_business.adobjects.adcreativer	   facebook_business.adobjects.adr
   %facebook_business.adobjects.targetingr   'facebook_business.adobjects.adsinsightsr   integration_utilsintegration_constantIntegrationTestCaser   ru   unittestmainrx   ry   rB   <module>r      s]   *   5 = S S ; = - ; ?   #oJ$ oJd zMMO ry   