
    PIi^              	       X   d Z ddlZddlZddlZddl  G d de      Z G d de      Z G d	 d
e      Z G d de      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d d e      Z G d! d"e      Z G d# d$e      Z G d% d&e      Z G d' d(e      Z G d) d*e      Z G d+ d,e      Z G d- d.e      Z G d/ d0e      Z G d1 d2e      Zed3k(  ro eejA                  d4      d5      Z!e!jE                  d6       e!jG                          	  ed7      Z$ ejP                  e$      Z)e$jG                          d9Z*e+jY                  e)d:   e)d;   e)d<   d= e-e*      z          ej]                  d>d= e-e*      z          ej]                  d?e*       ej]                  d@dA       ej]                  dBdC       ej]                  dDdE       ej]                  dFdG       ej]                  dHdI       ej]                  dJdK       ej]                  dLdM       ej]                  dNdO       ej]                  dPe)dP          e/ja                          yy# e%$ r  e&d8        ejN                          Y Ow xY w)Qz
Unit tests for the Python Facebook Business SDK.

How to run:
    python -m facebook_business.test.docs
    python -m facebook_business.test.docs -v AdGroupDocsTestCase
    N   )*c                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)AdAccountDocsTestCasec                    | j                  d      }| j                  d       | j                  d|      }| j                  d|       | j                  d      }| j                  d      }| j                  d||      }| j                  d||       t        j                  d|j                                | j                         }t        j                  d|d          | j                         }t        j                  d|d          y )Nr      ad_id
adlabel_ididad_account_image_hashhash)	create_campaigncreate_adsetcreate_creative	create_adDocsDataStoresetget_idcreate_adlabelcreate_image)selfcampaignadset	creative1	creative2adadlabelimages           i/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/test/docs.pysetUpzAdAccountDocsTestCase.setUp$   s    ''*Q!!!X.!X&((+	((+	^^Aui0q%+'299;/%%',6!!#15=A    c                    t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  gt        j                  j                  t        j                  j                  d      }| j                  |       y )Nadaccount_idleveldate_presetfieldsparams)	AdAccountr   getget_insightsInsightsFieldcampaign_idunique_clicksimpressionsLevelr   Preset	yesterdaystore_response)r   accountinsightss      r   test_get_insightsz'AdAccountDocsTestCase.test_get_insights:   s    M--n=>''NN&&NN((NN&&0

 ^^,,#??44
	 (  	H%r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |d          y )Nr#   r(   r   )	r*   r   r+   get_activitiesActivityr.   
event_type
event_timer5   )r   r6   
activitiess      r   test_get_activitiesz)AdAccountDocsTestCase.test_get_activitiesF   s]    M--n=>++NN%%NN%%4
+ 
 	JqM*r!   c                     t        t        j                  d            }|j                  t        j
                  j                  dg      }| j                  |       y )Nr#   joe@example.comschemausers)r*   r   r+   opt_out_user_from_targetingCustomAudienceSchema
email_hashr5   )r   r6   responses      r    test_opt_out_user_from_targetingz6AdAccountDocsTestCase.test_opt_out_user_from_targetingN   sQ    M--n=>66!((33$% 7 
 	H%r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y Nr#   r:   )	r*   r   r+   get_campaignsCampaignr.   nameconfigured_statusr5   )r   r6   	campaignss      r   test_get_campaignsz(AdAccountDocsTestCase.test_get_campaignsV   sY    M--n=>))NNNN,,2
) 	 	I&r!   c                    t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y rM   )r*   r   r+   get_ad_setsAdSetr.   rP   bid_inforQ   daily_budget	targetingr5   )r   r6   adsetss      r   test_get_ad_setsz&AdAccountDocsTestCase.test_get_ad_sets^   s    M--n=>$$KKKK  KK))KK$$KK!!-
$  	F#r!   c                    t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y rM   )
r*   r   r+   get_adsAdr.   rP   rQ   creativer5   )r   r6   adss      r   test_get_adsz"AdAccountDocsTestCase.test_get_adsi   sa    M--n=>ooHHMMHH&&HH&
o 
 	C r!   c                     t        t        j                  d            }|j                         }| j	                  |       y )Nr#   )r*   r   r+   get_ad_usersr5   )r   r6   rE   s      r   test_get_ad_usersz'AdAccountDocsTestCase.test_get_ad_usersr   s3    M--n=>$$&E"r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |dd        y Nr#   r:   r   r   )	r*   r   r+   get_ad_creatives
AdCreativer.   rP   
image_hashr5   )r   r6   	creativess      r   test_get_ad_creativesz+AdAccountDocsTestCase.test_get_ad_creativesw   sc    M--n=>,,!!''5
, 	 	IaN+r!   c                     t        t        j                  d            }|j                  t        j
                  j                  g      }| j                  |dd        y rf   )r*   r   r+   get_ad_imagesAdImager.   r   r5   )r   r6   imagess      r   test_get_ad_imagesz(AdAccountDocsTestCase.test_get_ad_images   sR    M--n=>&&MM/
&  	F1QK(r!   c                     t        t        j                  d            }|j                  t        j
                  j                  g      }| j                  |       y rM   )r*   r   r+   get_ad_conversion_pixelsrn   r.   r   r5   r   r6   pixelss      r   test_get_ad_conversion_pixelsz3AdAccountDocsTestCase.test_get_ad_conversion_pixels   sL    M--n=>11MM:
1  	F#r!   c                     t        t        j                  d            }|j                         }| j	                  |dd        y Nr#   r   r   )r*   r   r+   get_broad_category_targetingr5   )r   r6   bcts      r   !test_get_broad_category_targetingz7AdAccountDocsTestCase.test_get_broad_category_targeting   s9    M--n=>224C!H%r!   c                     t        t        j                  d            }|j                         }|D cg c]  }|d   dk(  s| }}| j	                  |       y c c}w )Nr#   r   606699326111137)r*   r   r+   get_connection_objectsr5   )r   r6   connection_objectscos       r   test_get_connection_objectsz1AdAccountDocsTestCase.test_get_connection_objects   se    M--n=>$;;=+Nr$x;L/LBN N./Ns   AAc                     t        t        j                  d            }|j                         }| j	                  |dd        y rw   )r*   r   r+   get_custom_audiencesr5   )r   r6   custom_audiencess      r   test_get_custom_audiencesz/AdAccountDocsTestCase.test_get_custom_audiences   s<    M--n=>"779,Qq12r!   c                     t        t        j                  d            }|j                         }| j	                  |d          y )Nr#   r   )r*   r   r+   get_partner_categoriesr5   )r   r6   partner_categoriess      r   test_get_partner_categoriesz1AdAccountDocsTestCase.test_get_partner_categories   s:    M--n=>$;;=.q12r!   c                     t        t        j                  d            }|j                         }| j	                  |dd        y rw   )r*   r   r+   get_rate_cardsr5   )r   r6   
rate_cardss      r   test_get_rate_cardsz)AdAccountDocsTestCase.test_get_rate_cards   s9    M--n=>++-
JqO,r!   c                     t        t        j                  d            }|j                  dddddgiid      }| j	                  |       y )	Nr#   USDOFFSITE_CONVERSIONSgeo_locations	countriesUS)currencyoptimize_fortargeting_specr)   )r*   r   r+   get_reach_estimater5   )r   r6   reach_estimates      r   test_get_reach_estimatez-AdAccountDocsTestCase.test_get_reach_estimate   sY    M--n=> 331$"<
3  	N+r!   c                     t        t        j                  d            }|j                         }| j	                  |dd        y rw   )r*   r   r+   get_transactionsr5   )r   r6   transactionss      r   test_get_transactionsz+AdAccountDocsTestCase.test_get_transactions   s:    M--n=>//1L1-.r!   c                     t        t        j                  d            }|j                  dddt        j                  d      ddd	      }| j	                  |       y )
Nr#   zThis is the titlezThis is the bodyz%https://facebookmarketingpartners.comr   )titlebody
object_urlri   RIGHT_COLUMN_STANDARD)r_   	ad_formatr   )r*   r   r+   get_ad_previewr5   )r   r6   
ad_previews      r   test_get_ad_previewz)AdAccountDocsTestCase.test_get_ad_preview   sa    M--n=>++,*E+//0GH	 14
+ 
 	J'r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y rM   )	r*   r   r+   get_ads_pixelsAdsPixelr.   rP   r   r5   rs   s      r   test_get_ads_pixelsz)AdAccountDocsTestCase.test_get_ads_pixels   sY    M--n=>''NNNN0
'  	F#r!   c                     t        t        j                  d            }t        j                  t        j
                  dgii}|j                  dgd|i      }| j                  |       y )Nr	   r   targetingsentencelinesr   r'   )r^   r   r+   TargetingSpecsFieldr   r   get_targeting_descriptionr5   )r   adgrouprY   targeting_descs       r   test_get_targeting_descriptionz4AdAccountDocsTestCase.test_get_targeting_description   su    ]&&w/0--#--v0
	
 !::$C
 i
 ; 
 	N+r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y rM   )	r*   r   r+   get_ad_labelsAdLabelr.   rP   r   r5   )r   r6   adlabelss      r   test_get_ad_labelsz(AdAccountDocsTestCase.test_get_ad_labels   sY    M--n=>((MMMM1
(  	H%r!   c                 "   t        t        j                  d            }t        j                  d      }|gdd}|j                  t        j
                  j                  t        j
                  j                  g|      }| j                  |       y Nr#   r
   ALL)ad_label_idsoperatorr'   )	r*   r   r+   get_ad_creatives_by_labelsr   r.   rP   r   r5   )r   r6   r
   r)   adcreativess        r   test_get_ad_creatives_by_labelsz5AdAccountDocsTestCase.test_get_ad_creatives_by_labels   s}    M--n=>"&&|4
#-,EB88MMMMA
  9  	K(r!   c                 "   t        t        j                  d            }t        j                  d      }|gdd}|j                  t        j
                  j                  t        j
                  j                  g|      }| j                  |       y r   )	r*   r   r+   get_ads_by_labelsr   r.   rP   r   r5   )r   r6   r
   r)   r`   s        r   test_get_ads_by_labelsz,AdAccountDocsTestCase.test_get_ads_by_labels   s|    M--n=>"&&|4
#-,EB''MMMM0
  (  	C r!   c                 "   t        t        j                  d            }t        j                  d      }|gdd}|j                  t        j
                  j                  t        j
                  j                  g|      }| j                  |       y r   )	r*   r   r+   get_adsets_by_labelsr   r.   rP   r   r5   )r   r6   r
   r)   rZ   s        r   test_get_adsets_by_labelsz/AdAccountDocsTestCase.test_get_adsets_by_labels   s|    M--n=>"&&|4
#-,EB--MMMM6
  .  	F#r!   c                 "   t        t        j                  d            }t        j                  d      }|gdd}|j                  t        j
                  j                  t        j
                  j                  g|      }| j                  |       y r   )	r*   r   r+   get_campaigns_by_labelsr   r.   rP   r   r5   )r   r6   r
   r)   rR   s        r   test_get_campaigns_by_labelsz2AdAccountDocsTestCase.test_get_campaigns_by_labels  s|    M--n=>"&&|4
#-,EB33MMMM<
  4 	 	I&r!   c                     t        t        j                  d            }|j                         }| j	                  |dd        y rw   )r*   r   r+   get_minimum_budgetsr5   )r   r6   min_budgetss      r   test_get_minimum_budgetsz.AdAccountDocsTestCase.test_get_minimum_budgets  s:    M--n=>113K!,-r!   N)__name__
__module____qualname__r    r8   r@   rK   rS   r[   ra   rd   rk   rp   ru   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r   r   r   #   s    B,
&+&'	$!#
,)$&
03
3
-
,/
($,&)!$'.r!   r   c                       e Zd Zd Zd Zd Zy)AdUserDocsTestCasec                     t        d      }|j                  t        j                  j                  g      }| j                  |dd        y )Nmer:   r      )AdUserget_ad_accountsr*   r.   rP   r5   )r   useraccountss      r   test_get_ad_accountsz'AdUserDocsTestCase.test_get_ad_accounts  sF    d|''OO  0
'  	HQqM*r!   c                     t        d      }|j                  t        j                  j                  g      }| j                  |       y Nr   r:   )r   get_ad_accountr*   r.   rP   r5   )r   r   r6   s      r   test_get_ad_accountz&AdUserDocsTestCase.test_get_ad_account  s@    d|%%OO  .
%  	G$r!   c                     t        d      }|j                  t        j                  j                  g      }| j                  |       y r   )r   	get_pagesPager.   rP   r5   )r   r   pagess      r   test_get_pagesz!AdUserDocsTestCase.test_get_pages"  s;    d|JJOO'
  	E"r!   N)r   r   r   r   r   r   r   r!   r   r   r     s    +%#r!   r   c                       e Zd Zd Zd Zy)AdCreativeDocsTestCasec                 n    | j                  d      }t        j                  d|j                                y )Nr   creative_id)r   r   r   r   )r   r_   s     r   r    zAdCreativeDocsTestCase.setUp+  s)    ''*-):;r!   c                     t        t        j                  d            }|j                  ddi      }| j	                  |       y )Nr   r   r   r   )rh   r   r+   r   r5   )r   r_   previews      r   r   z*AdCreativeDocsTestCase.test_get_ad_preview/  sE    m//>?))02
)  	G$r!   N)r   r   r   r    r   r   r!   r   r   r   *  s    <%r!   r   c                   <    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
y	)
AdDocsTestCasec                     | j                  d      }| j                  d|      }| j                  d      }| j                  d||      }t        j                  d|j                                y )Nr   r	   )r   r   create_creative_leadsr   r   r   r   )r   r   r   r_   r   s        r   r    zAdDocsTestCase.setUp8  s\    ''*!!!X.--a0^^Auh/'299;/r!   c                     t        t        j                  d            }|j                  t        j
                  j                  g      }| j                  |       y )Nr	   r:   )r^   r   r+   rg   rh   r.   rP   r5   )r   r   rj   s      r   rk   z$AdDocsTestCase.test_get_ad_creatives?  sG    !!'*+''
0@0@0E0E/F'G	I&r!   c                     t        t        j                  d            }|j                  dg      }| j	                  |       y )Nr	   r   r:   )r^   r   r+   r   r5   )r   r   r   s      r   r   z-AdDocsTestCase.test_get_targeting_descriptionD  sB    !!'*+55$>
5  	N+r!   c                     t        t        j                  d            }|j                         }| j	                  |       y Nr	   )r^   r   r+   get_keyword_statsr5   )r   r   keywordss      r   test_get_keyword_statsz%AdDocsTestCase.test_get_keyword_statsK  s3    !!'*+'')H%r!   c                     t        t        j                  d            }|j                  ddi      }| j	                  |       y )Nr	   r   r   r   )r^   r   r+   r   r5   )r   r   r   s      r   r   z"AdDocsTestCase.test_get_ad_previewP  sE    !!'*+&&0/
& 
 	J'r!   c                     t        t        j                  d            }|j                         }| j	                  |       y r   )r^   r   r+   r   r5   )r   r   r   s      r   r   z&AdDocsTestCase.test_get_reach_estimateW  s3    !!'*+..0N+r!   c                     t        t        j                  d            }|j                         }| j	                  |       y r   )r^   r   r+   get_click_tracking_tagr5   )r   r   tags      r   test_get_click_tracking_tagz*AdDocsTestCase.test_get_click_tracking_tag\  s3    !!'*+'')C r!   c                     t        t        j                  d            }|j                         }| j	                  |       y r   )r^   r   r+   	get_leadsr5   )r   r   leadss      r   test_get_leadszAdDocsTestCase.test_get_leadsa  s0    !!'*+E"r!   N)r   r   r   r    rk   r   r   r   r   r   r   r   r!   r   r   r   7  s*    0'
,&
(,
!
#r!   r   c                   *    e Zd Zd Zd Zd Zd Zd Zy)AdImageDocsTestCasec                 H   t         j                  dt        j                  j	                  t        j                  j                  t              d             t         j                  dt        j                  j	                  t        j                  j                  t              d             t        t         j                  d            }t         j                  d      |t        j                  j                  <   |j                          t         j                  d|d          y )	N	image_zipztest.zip
image_pathztest.pngr#   	parent_idimage_idr   )r   r   ospathjoindirname__file__rn   r+   r.   filenameremote_creater   r   s     r   r    zAdImageDocsTestCase.setUph  s    bggooh&?L	N"'',,rwwx'@*M	O-"3"3N"CD(5(9(9,(Ggmm$$%*eDk2r!   c                     t        t        j                  d            }t        j                  d      |t         j                  j                  <   |j                          | j                  |       y )Nr#   r  r  )rn   r   r+   r.   r  r  r5   r  s     r   test_remote_createz&AdImageDocsTestCase.test_remote_creater  sP    -"3"3N"CD(5(9(9,(Ggmm$$%E"r!   c                     t         j                  t        j                  d      t        j                  d            }| j	                  |       y )Nr  r#   )r  r  )rn   remote_create_from_zipr   r+   r5   )r   ro   s     r   test_remote_create_from_zipz/AdImageDocsTestCase.test_remote_create_from_zipx  sC    //"&&{3#''7 0 
 	F#r!   c                     t        t        j                  d            }|j                          | j	                  |       y Nr  )rn   r   r+   remote_readr5   r  s     r   test_remote_readz$AdImageDocsTestCase.test_remote_read  s1    ))*56E"r!   c                     t        t        j                  d            }|j                          |j	                         }| j                  |       y r  )rn   r   r+   r  get_hashr5   )r   r   ri   s      r   test_get_hashz!AdImageDocsTestCase.test_get_hash  s=    ))*56^^%
J'r!   N)r   r   r   r    r  r  r  r  r   r!   r   r   r   g  s    3#$#
(r!   r   c                       e Zd Zd Zd Zd Zy)AdSetDocsTestCasec                 j   | j                  d      }| j                  d|      }| j                  d      }| j                  d      }| j                  d||       | j                  d||       t        j                  d|j                                t        j                  d|j                                y )Nr   r   adcampaign_idadset_idr   r   r   r   r   r   r   )r   r   r   r   r   s        r   r    zAdSetDocsTestCase.setUp  s    ''*!!!X.((+	((+	q%+q%+/8??+<=*elln5r!   c                    t        t        j                  d            }|j                  t         j                  j
                  t         j                  j                  t         j                  j                  g      }| j                  |       y Nr  r:   )	rV   r   r+   r]   r.   rP   r/   rQ   r5   )r   r   adgroupss      r   ra   zAdSetDocsTestCase.test_get_ads  sc    m''
34==KKKK##KK)))
= 
 	H%r!   c                 N   t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y r!  )rV   r   r+   rg   rh   r.   rP   r   preview_urlcall_to_action_typer5   )r   r   r   s      r   rk   z'AdSetDocsTestCase.test_get_ad_creatives  s{    m''
34,,!!((00	5
,  	K(r!   N)r   r   r   r    ra   rk   r   r!   r   r  r    s    6&)r!   r  c                   $    e Zd Zd Zd Zd Zd Zy)AdsPixelDocsTestCasec                 l    | j                         }t        j                  d|j                                y Npixel_id)create_ads_pixelr   r   r   )r   pixels     r   r    zAdsPixelDocsTestCase.setUp  s&    %%'*elln5r!   c                    t         j                  d      }t         j                  d      }|j                  dd      }t         j                  d      }t        |      }|j	                  ||       | j                  |       y Nbusiness_idr#   act_ r*  )r   r+   replacer   share_pixel_with_ad_accountr5   )r   r/  act_iddestination_account_idr*  r,  s         r    test_share_pixel_with_ad_accountz5AdsPixelDocsTestCase.test_share_pixel_with_ad_account  sl    #''6"">2!'!; $$Z0"))+7MNE"r!   c                     t         j                  d      }t        |      }|j                         }| j	                  |       y r)  )r   r+   r   get_agenciesr5   )r   r*  r,  shared_agenciess       r   test_get_agenciesz&AdsPixelDocsTestCase.test_get_agencies  s8     $$Z0",,.O,r!   c                     t         j                  d      }t         j                  d      j                  dd      }t         j                  d      }t        |      }|j	                  ||       | j                  |       y r.  )r   r+   r2  r   unshare_pixel_from_ad_accountr5   )r   r/  
account_idr*  r,  s        r   "test_unshare_pixel_from_ad_accountz7AdsPixelDocsTestCase.test_unshare_pixel_from_ad_account  sg    #''6"&&~6>>vrJ
 $$Z0"++KDE"r!   N)r   r   r   r    r6  r:  r>  r   r!   r   r'  r'    s    6#-#r!   r'  c                       e Zd Zd Zd Zy)BusinessDocsTestCasec                     t        t        j                  d            }|j                         }| j	                  |d          y )Nr/  r   )Businessr   r+   get_product_catalogsr5   )r   businesscatalogss      r   test_get_product_catalogsz.BusinessDocsTestCase.test_get_product_catalogs  s7    M--m<=002HQK(r!   c                    t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  gt        j                  j                  t        j                  j                  d      }| j                  |       y )Nr/  r$   r'   )rB  r   r+   r,   r-   r.   r/   r0   r1   r2   r   r3   r4   r5   )r   rD  r7   s      r   r8   z&BusinessDocsTestCase.test_get_insights  s    M--m<=((NN&&NN((NN&&1

 ^^,,#??44
	 )  	H%r!   N)r   r   r   rF  r8   r   r!   r   r@  r@    s    )

&r!   r@  c                   $    e Zd Zd Zd Zd Zd Zy)CustomAudienceDocsTestCasec                 l    | j                         }t        j                  d|j                                y )Nca_id)create_custom_audiencer   r   get_id_assured)r   cas     r   r    z CustomAudienceDocsTestCase.setUp  s)    ((*'2#4#4#67r!   c                     t        t        j                  d            }|j                  t         j                  j
                  dg      }| j                  |       y NrK  rB   rC   )rG   r   r+   	add_usersrH   rI   r5   r   custom_audiencerJ   s      r   test_add_usersz)CustomAudienceDocsTestCase.test_add_users  sS    ():):7)CD",,!((33! - 
 	H%r!   c                     t        t        j                  d            }|j                  t         j                  j
                  dg      }| j                  |       y rP  )rG   r   r+   remove_usersrH   rI   r5   rR  s      r   test_remove_usersz,CustomAudienceDocsTestCase.test_remove_users  sS    ():):7)CD"//!((33! 0 
 	H%r!   c                     t         j                  t         j                  j                  dg      }| j	                  |       y )NrB   rC   )rG   format_paramsrH   rI   r5   )r   formatted_paramss     r   test_format_paramsz-CustomAudienceDocsTestCase.test_format_params  s>    )77!((33$% 8 
 	,-r!   N)r   r   r   r    rT  rW  r[  r   r!   r   rI  rI    s    8&&.r!   rI  c                       e Zd Zd Zd Zd Zy)CampaignDocsTestCasec                 $   | j                  d      }| j                  d|      }| j                  d|       | j                  d      }| j                  d||       | j                  d||       t        j                  d|j                                y )Nr   r   r/   r  )r   r   r   r_   s       r   r    zCampaignDocsTestCase.setUp  s{    ''*!!!X.!X&''*q%*q%*-):;r!   c                 "   t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  g      }| j                  |d          y )Nr/   r:   r   )
rO   r   r+   rU   rV   r.   rP   r   rX   r5   )r   r   rZ   s      r   r[   z%CampaignDocsTestCase.test_get_ad_sets  sh    M--m<=%%KKKKNNKK$$.
% 
 	F1I&r!   c                    t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y )Nr/   r:   )
rO   r   r+   r]   r^   r.   rP   rQ   r_   r5   )r   r   r`   s      r   ra   z!CampaignDocsTestCase.test_get_ads  sd    M--m<=HHMMHH&&HH'
 
 	C r!   N)r   r   r   r    r[   ra   r   r!   r   r]  r]    s    <'!r!   r]  c                       e Zd Zy)ProductGroupDocsTestCaseNr   r   r   r   r!   r   rb  rb        r!   rb  c                       e Zd Zd Zd Zy)ProductFeedDocsTestCasec                     | j                         }t        j                  d|j                                | j	                  |j                               }t        j                  d|j                                y )Ndpa_catalog_iddpa_feed_id)create_product_catalogr   r   r   create_product_feed)r   product_catalogproduct_feeds      r   r    zProductFeedDocsTestCase.setUp   s\    557*O,B,B,DE//0F0F0HI-)<)<)>?r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y )Nri  r:   )	ProductFeedr   r+   get_productsProductr.   r   pricer5   )r   feedproductss      r   test_get_productsz)ProductFeedDocsTestCase.test_get_products&  sY    =,,];<$$MMMM-
$  	H%r!   N)r   r   r   r    ru  r   r!   r   rf  rf    s    @&r!   rf  c                       e Zd Zy)ProductAudienceDocsTestCaseNrc  r   r!   r   rw  rw  /  rd  r!   rw  c                       e Zd Zy)ProductDocsTestCaseNrc  r   r!   r   ry  ry  3  rd  r!   ry  c                   *    e Zd Zd Zd Zd Zd Zd Zy)ProductCatalogDocsTestCasec                     | j                         }t        j                  d|j                                | j	                         }t        j                  d|j                                y )Nrh  r*  )rj  r   r   r   r+  )r   rl  r,  s      r   r    z ProductCatalogDocsTestCase.setUp9  sN    557*O,B,B,DE%%'*elln5r!   c                     t        t        j                  d            }|j                         }| j	                  |d          y )Nrh  r   )ProductCatalogr   r+   get_product_feedsr5   )r   catalogfeedss      r   test_get_product_feedsz1ProductCatalogDocsTestCase.test_get_product_feeds?  s8     !2!23C!DE))+E!H%r!   c                     t        t        j                  d            }|j                  t        j                  d      g      }| j	                  |       y Nrh  r*  )	pixel_ids)r~  r   r+   add_external_event_sourcesr5   r   r  rJ   s      r   test_add_external_event_sourcesz:ProductCatalogDocsTestCase.test_add_external_event_sourcesD  sO     !2!23C!DE55j)A
5  	H%r!   c                     t        t        j                  d            }|j                         }| j	                  |       y )Nrh  )r~  r   r+   get_external_event_sourcesr5   )r   r  sourcess      r   test_get_external_event_sourcesz:ProductCatalogDocsTestCase.test_get_external_event_sourcesK  s4     !2!23C!DE446G$r!   c                     t        t        j                  d            }|j                  t        j                  d      g      }| j	                  |       y r  )r~  r   r+   remove_external_event_sourcesr5   r  s      r   "test_remove_external_event_sourcesz=ProductCatalogDocsTestCase.test_remove_external_event_sourcesP  sO     !2!23C!DE88j)D
8  	H%r!   N)r   r   r   r    r  r  r  r  r   r!   r   r{  r{  7  s    6&
&%
&r!   r{  c                       e Zd Zd Zd Zd Zy)ProductSetDocsTestCasec                     | j                         }t        j                  d|j                                | j	                  |j                               }t        j                  d|j                                y )Nrh  
dpa_set_id)rj  r   r   r   create_product_set)r   rl  product_sets      r   r    zProductSetDocsTestCase.setUpZ  s\    557*O,B,B,DE--o.D.D.FG,(:(:(<=r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y Nr  r:   )	
ProductSetr   r+   get_product_groupsrq  r.   r   rr  r5   )r   r  product_groupss      r   test_get_product_groupsz.ProductSetDocsTestCase.test_get_product_groups`  sZ     !2!2<!@A$77MMMM@
7  	N+r!   c                     t        t        j                  d            }|j                  t        j
                  j                  t        j
                  j                  g      }| j                  |       y r  )	r  r   r+   rp  rq  r.   r   rr  r5   )r   r  rt  s      r   ru  z(ProductSetDocsTestCase.test_get_productsh  sY     !2!2<!@A++MMMM4
+  	H%r!   N)r   r   r   r    r  ru  r   r!   r   r  r  X  s    >,&r!   r  c                       e Zd Zy)"ProductFeedUploadErrorDocsTestCaseNrc  r   r!   r   r  r  q  rd  r!   r  c                       e Zd Zy)AdConversionPixelDocsTestCaseNrc  r   r!   r   r  r  u  rd  r!   r  c                       e Zd Zy)ClickTrackingTagDocsTestCaseNrc  r   r!   r   r  r  y  rd  r!   r  c                       e Zd Zy)InsightsDocsTestCaseNrc  r   r!   r   r  r  }  rd  r!   r  c                       e Zd Zd Zy)PageDocsTestCasec                     t        t        j                  d            }|j                         }| j	                  |dd        y )Npage_idr   r   )r   r   r+   get_leadgen_formsr5   )r   pageleadgen_formss      r   test_get_leadgen_formsz'PageDocsTestCase.test_get_leadgen_forms  s:    M%%i01..0M!A./r!   N)r   r   r   r  r   r!   r   r  r    s    0r!   r  c                       e Zd Zd Zd Zd Zy)$ReachFrequencyPredictionDocsTestCasec                 l    | j                         }t        j                  d|j                                y )Nrfp_id)!create_reach_frequency_predictionr   r   r   )r   rfps     r   r    z*ReachFrequencyPredictionDocsTestCase.setUp  s&    446(CJJL1r!   c                      y Nr   r   s    r   test_reservez1ReachFrequencyPredictionDocsTestCase.test_reserve      r!   c                      y r  r   r  s    r   test_cancelz0ReachFrequencyPredictionDocsTestCase.test_cancel  r  r!   N)r   r   r   r    r  r  r   r!   r   r  r    s    2r!   r  c                       e Zd Zd Zy)TargetingSearchDocsTestCasec                     t         j                  dt         j                  j                  dd      }| j	                  |       y )NzUnited Statesr   )qtypelimitr   )TargetingSearchsearchTargetingSearchTypescountryr5   )r   resultss     r   test_searchz'TargetingSearchDocsTestCase.test_search  s?    !(( #88@@1
( 
 	G$r!   N)r   r   r   r  r   r!   r   r  r    s    %r!   r  __main__r  wr1  z./config.jsonz)No config file found, skipping docs tests1505766289694659app_id
app_secretaccess_tokenr0  r#   adaccount_id_intr/  1454288444842444rK  6026172406640rh  447683242047472r  808641022536664ri  1577689442497017dpa_upload_id1577690399163588
as_user_id358829457619128r*  417531085081002r  )1__doc__r  sysjson
docs_utilsDocsTestCaser   r   r   r   r   r  r'  r@  rI  r]  rb  rf  rw  ry  r{  r  r  r  r  r  r  r  r  r   openr   r+   handlewritecloseconfig_fileIOErrorprintexitloadconfigr4  FacebookAdsApiinitstrr   unittestmainr   r!   r   <module>r     s  * 
 
  m.L m.`# #.
%\ 
%-#\ -#`!(, !(H) )>#< #<&< &&. .D!< !:	| 	&l &"	, 		, 	& &B&\ &2	 		L 		< 		< 	0| 0	< 	%, % z-##J/5F
LL
LLN?+ TYY{#FFx|~V	 nfs6{&:;(&1m%78g/&(9:l$56m%78o'9:l$56j"34i	!23MMOA   9:
s   J J)(J)