
    PIi1                         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 d	d
l  G d de      Zedk(  rej/                          yy)zy
Unit tests for the Python Facebook Business SDK.

How to run:
    python -m facebook_business.test.integration_campaign
    N)FacebookSession)FacebookRequestError)FacebookAdsApiFacebookRequestFacebookResponse)Campaign)	AdAccount)AdPromotedObject   )*c                   $    e Zd Zd Zd Zd Zd Zy)CampaignTestCasec                    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   t        t        j0                        z   dz   t        t        j0                        z   dz   t        t        j2                        z   dz   t        t        j4                        z   dz   t        t        j6                        z   d	z   t        t        j6                        z   dz   t        t        j8                        z   dz   t        t        j8                        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        jB                        z   dz   t        t        jB                        z   dz   t        t        jD                        z   dz   t        t        jD                        z   dz   t        t        jF                        z   dz   t        t        jF                        z   dz   t        t        jH                        z   dz   t        t        jH                        z   dz   t        t        jJ                        z   dz   t        t        jJ                        z   dz   t        t        jL                        z   dz   t        t        jL                        z   dz   t        t        jN                        z   dz   t        t        jN                        z   dz   t        t        jP                        z   dz   t        t        jP                        z   dz   t        t        jR                        z   dz   t        t        jR                        z   d
z         | j                  _*        | j                  | jV                  _,        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.                  t        j0                  t        j2                  t        j6                  t        j8                  t        j:                  t        j<                  t        j>                  t        jB                  t        jD                  t        j@                  t        jF                  t        jH                  t        jN                  t        jJ                  t        jP                  t        jL                  t        jR                  g}i }t[        t        j4                        j]                  ||      }| j_                  ta        |      d       | jc                  te        |tZ                     | j_                  |t        j                     t        j                         | j_                  |t        j                     tg        jh                  t        j                        g       | j_                  |t        j                     t        j                         | j_                  |t        j                     t        j                         | j_                  |t        j                     tg        jh                  t        j                        g       | j_                  |t        j                      t        j                          | j_                  |t        j"                     t        j"                         | j_                  |t        j$                     t        j$                         | j_                  |t        j&                     t        j&                         | j_                  |t        j(                     t        j(                         | j_                  |t        j*                     t        j*                         | j_                  |t        j,                     t        j,                         | j_                  |t        j.                     t        j.                         | j_                  |t        j0                     t        j0                         | j_                  |t        j2                     t        j4                         | j_                  |t        j6                     tg        jh                  t        j6                        g       | j_                  |t        j8                     t        j8                         | j_                  |t        j:                     t        j:                         | j_                  |t        j<                     t        j<                         | j_                  |t        j>                     t        j>                         | j_                  |t        jB                     t        jB                  g       | jc                  te        |t        jD                     tj                     | j_                  |t        j@                     tg        jh                  t        j@                        g       | j_                  |t        jF                     t        jF                         | j_                  |t        jH                     t        jH                         | j_                  |t        jJ                     t        jJ                         | j_                  |t        jN                     t        jN                         | j_                  |t        jP                     t        jP                         | j_                  |t        jL                     t        jL                         | j_                  |t        jR                     t        jR                         d d d        y # 1 sw Y   y xY w)NTrecord{"":"z","z":z,"z": "z": z"}fieldsparamsr   )6warningscatch_warnings
StatusCodeSUCCESSmock_responsestatus_codestrencode	FieldName
ACCOUNT_ID	TestValueADLABELSAD_LABELBID_STRATEGYBOOSTED_OBJECT_IDBRAND_LIFT_STUDIESBUDGET_REBALANCE_FLAGBUDGET_REMAININGBUYING_TYPECAN_CREATE_BRAND_LIFT_STUDYCAN_USE_SPEND_CAPCONFIGURED_STATUSCREATED_TIMEDAILY_BUDGETEFFECTIVE_STATUSIDCAMPAIGN_IDISSUES_INFOLAST_BUDGET_TOGGLING_TIMELIFETIME_BUDGETNAME	OBJECTIVERECOMMENDATIONSPACING_TYPEPROMOTED_OBJECTSPECIAL_AD_CATEGORY	SPEND_CAPSTATUS
TOPLINE_ID
START_TIME	STOP_TIMEUPDATED_TIME_contentmock_requestreturn_valuer   api_getassertEquallen
assertTrue
isinstancejsonloadsr
   selfwarningr   r   campaigns        y/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/test/integration_campaign.pytest_get_campaignz"CampaignTestCase.test_get_campaign)   s   $$D1 m	WW-7-?-?D**-**)../0278:=i>R>R:STW),,-.0457:9;M;M7NOR )0012 5:: =@	@V@V<WX[ )556	7 :?	? BEYE`E`Aa	be	
 )6678
 ;??
 BEYEaEaAbc
f )99:; >CC FIIhIhEijm )4456 9?? BEYE_E_A`ad )//01 499 <?y?T?T;UVY	 )??@	A DI	I LOyOtOtKu	vy
 )556
7 :?
? BEYE`E`Aa
be )5567 :?? BEYE`E`Aabe )0012 5:: =@	@V@V<WX[ )0012 5:: =@	@V@V<WX[ )4456 9>> ADID^D^@_`c ),,'( +11 47y7L7L3MNQ  )//0!1  49!9  <?y?T?T;U!V Y!" )==>#?" BG#G" JMYMpMpIq#r"u#$ )334%5$ 8=%=$ @C9C\C\?]%^$a%& )..)'*& -2'2& 58	4G'H&K'( )--.)/( 27)7( :=Y=P=P9Q)R(U)* )334+5* 8<+<* ?B)B[B[>\+]*`+, )//0-1, 49-9, <?y?T?T;U-V,Y-. )334/5. 8</<. ?B)B[B[>\/].`/0 )778190 <A1A0 DGyGdGdCe1f0i12 )--.3/2 27372 :=Y=P=P9Q3R2U34 )**+5,4 /4544 7:):J:J6K5L4O56 )../706 38786 ;>i>R>R:S7T6W78 )../908 38988 ;>i>R>R:S9T8W9: )--.;/: 27;7: :=Y=P=P9Q;R:U;< )001=2< 5:=:< =@	@V@V<W=X<[=!+D'F .2-?-?D* $$""&&++,,//**%%55++++&&&&**%%33))##%%))))--##$$  ##$$&&=F@ F	 5 56>> ? H
 S\1-OOJx:;Xi&:&:;i>R>RSXi&8&89DJJyGYGY<Z;[\Xi&<&<=y?U?UVXi&A&ABID_D_`Xi&B&BCdjjQZQmQmFnEopXi&E&EF	HgHghXi&@&@A9C]C]^Xi&;&;<y?T?TUXi&K&KLiNsNstXi&A&ABID_D_`Xi&A&ABID_D_`Xi&<&<=y?U?UVXi&<&<=y?U?UVXi&@&@A9C]C]^Xill3Y5J5JKXi&;&;<tzz)J_J_?`>abXi&I&IJILoLopXi&?&?@)B[B[\Xinn5y~~FXi&9&9:I<O<OPXi&;&;<y?T?T>UVOOJx	0I0I'JL\]^Xi&?&?@4::iNgNgChBijXi&C&CDiFcFcdXi&9&9:I<O<OPXi&6&679I9IJXi&:&:;Y=Q=QRXi&9&9:I<O<OPXi&:&:;Y=Q=QRXi&<&<=y?U?UV[m	W m	W m	Ws   }#~~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   rB   rC   assertRaisesr   r   r!   r1   rD   rE   rF   rG   
issubclasscategoryUserWarningrK   s        rO   #test_get_campaign_with_wrong_fieldsz4CampaignTestCase.test_get_campaign_with_wrong_fields   s    $$D1 	JW-7-=-=D*-1-?-?D*  F F""#78 #I$9$9:BB!! C  S\1-OOJwqz':':KHI	J 	J 	J 	Js%   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 }i t        j                  t!        j"                  t        j$                        gt        j&                  t        j&                  t        j(                  dt        j*                  t        j*                  t        j,                  t        j,                  t        j.                  t        j.                  gt        j0                  t!        j"                  t        j0                        gt        j2                  t        j2                  t        j4                  t        j4                  t        j6                  t        j6                  t        j8                  t        j8                  gt        j:                  t!        j"                  t        j:                        t        j<                  t        j                  t        j>                  t        j>                  t        j@                  t        j@                  t        jB                  t        jB                  t        jD                  t        jD                  t        jF                  t!        j"                  t        jF                        i}tI        t        jJ                        jM                  ||      }| jO                  tQ        |      d       | jS                  tU        |tV                     | jO                  |t        j                     t        j                         d d d        y # 1 sw Y   y xY w)NTr   r   r   z", "success": "true"}Fr   ),r   r   r   r   r   r   r   r   r   r0   r!   r1   rA   rB   rC   r"   rI   rJ   r#   r$   r'   r)   r.   EXECUTION_OPTIONSITERATIVE_SPLIT_TEST_CONFIGSr4   r5   r6   r8   r9   SOURCE_CAMPAIGN_IDr:   r;   r<   r=   UPSTREAM_EVENTSr	   r    create_campaignrE   rF   rG   rH   r   rK   s        rO   test_create_campaignz%CampaignTestCase.test_create_campaign   s   $$D1 "	LW-7-?-?D**-**TC	<M5MPU5UX[\e\q\qXr5r  vM  6M  +ND'-1-?-?D*F""TZZ	0B0B%C$D&&	(>(> // %%y'<'<	
 &&	(>(> ++i.I.I-J 66IDjDj9k8l ))9+D+D 	 ##Y%8%8 %%	(=(='> ))4::i6O6O+P ,,i.C.C --y/L/L ##Y%8%8    )"2"2!" $$i&:&:#$ ))4::i6O6O+P%F* !!5!56FFH
 S\1-OOJx:;Xill3Y5J5JKE"	L "	L "	Ls   N"OO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      
wrong_enum)statusspecial_ad_categories   )r   r   r   rS   r   r   rB   rC   rT   r   r	   r!   r    r^   rE   rF   rG   rU   rV   rW   rK   s        rO   &test_create_campaign_with_wrong_paramsz7CampaignTestCase.test_create_campaign_with_wrong_params   s    $$D1 	KW-7-=-=D*-1-?-?D*F)5F ""#78 $Y%9%9:JJ S\1-OOJwr{';';[IJ!	K 	K 	K 	Ks%   AC<.*C0AC<0C9	5C<<DN)__name__
__module____qualname__rP   rX   r_   rg        rO   r   r   (   s    nWbJ&#LLKrl   r   __main__)__doc__r   rI   facebook_business.sessionr   facebook_business.exceptionsr   facebook_business.apir   r   r   $facebook_business.adobjects.campaignr   %facebook_business.adobjects.adaccountr	   ,facebook_business.adobjects.adpromotedobjectr
   integration_utilsintegration_constantIntegrationTestCaser   rh   unittestmainrk   rl   rO   <module>rz      sW   *   5 = S S 9 ; I   #|K* |K~ zMMO rl   