
    PIi'                         d dl Z d dlZd dlZd dlZddl ddl ddl  G d de      Zg Z	 G d dej                        Zej                  dd	       y)
    N   )*c                   0    e Zd Zi Zed        Zed        Zy)DocsDataStorec                     || j                   |<   t        t        j                  d      d      }|j	                  d|z   dz   |z   dz          |j                          y )Nfilenameaz
docs_data#


)_dataopenr   getwriteclose)selfkeyvaluehandles       o/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/test/docs_utils.pysetzDocsDataStore.set!   sO    

3m''
3S9\C'$.6?@    c                      | j                   |   S )N)r   )r   r   s     r   r   zDocsDataStore.get(   s    zz#r   N)__name__
__module____qualname__r   classmethodr   r    r   r   r   r      s-    E   r   r   c                   ~     e Zd Z f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 xZS )DocsTestCasec                    t        t        | 
  |i | d }g }g }t        j                  dd| j
                  j                        }|t        vr't        t        j                  t           |      }t        j                  |t        j                        }|D 	cg c]'  }	|	d    |       vr|	d   j                  d      s|	d   ) }}	t        j                  | t        j                        }
|
D 	cg c]  }	|	d   j                  d      r|	 }
}	|
D ]  }t        j                  dd|d         dz   }t        j                  |d	         d   }|j!                  d       dj#                  |      j%                         }||vsp|d
k7  sv|j'                  d|z   dz   | j
                  j                  z   dz   |d   z           |
D 	cg c]  }	|	d   	 }}	|D ]'  }d|z   |vs|j'                  d|z   dz   |z   dz          ) t)        |      dkD  rt+        dj#                  |             t)        |      dkD  r.t+        dj#                  |             t        j,                          t        j'                  |       y y c c}	w c c}	w c c}	w )Nc                      t        t        j                  t           d      } t	        j
                  |       }|D cg c]  }|d   	 }}|S c c}w )NAbstractCrudObjectr   )getattrsysmodulesr   inspect
getmembers)sdk_objmembersmmember_namess       r   get_aco_methodsz.DocsTestCase.__init__.<locals>.get_aco_methods5   sJ    ckk(35IJG((1G*12QAaD2L2 3s   ADocsTestCase$ r   remote_test_z^test_(   passzError: Expected method call to z) not used in z::z5Warning: Method defined in SDK not defined in test - z()r
   )superr   __init__resub	__class__r   linted_classesr#   r$   r%   r&   r'   ismethod
startswithgetsourcelinespopjoinstripappendlenprintexit)r   argskwargsr,   errorswarningssdk_class_namer(   sdk_membersr*   r)   memberexpected_stringsourcelinessourcer+   
sdk_memberr8   s                    r   r5   zDocsTestCase.__init__1   s   lD*D;F;	   0"dnn6M6MN/ckk(3^DG!,,Wg6F6FGK)4 ;Ad/*;; ty9 Q4 ;K ; ((w/?/?@G") 6QQ4??73  6G 6! 
"$&&Bq	"BS"H%44VAY?B"-335"&0Vv5EMM9OK()+/>>+B+BCEIJq	"
 +22QAaD2L2) 
Z'|;OO"$2359:<FGIMN 8}q dii)*6{Qdii'(
!!.1K 0;
6 3s   ,I8/I=Jc                     t        t        j                  d            }|j                         }|D ]  }|j	                           y )Nadaccount_id)	AdAccountr   r   get_campaignsremote_delete)r   account	campaignscampaigns       r   tearDownzDocsTestCase.tearDowng   s@    M--n=>))+	! 	%H""$	%r   c                 *    d } ||       ||      k(  S )Nc                 x    t        |       } t        j                  dd|       } t        j                  dd|       } | S )Nz\s+ z\n|\rr.   )strr6   r7   )contents    r   strip_spacingz*DocsTestCase.verify.<locals>.strip_spacingn   s4    'lGffVS'2GffXr73GNr   r   )r   objoutputr]   s       r   verifyzDocsTestCase.verifym   s    	 S!]6%:::r   c                     t        t        j                  d            }dt        |      z   |d<   d|d<   |j	                          |S )NrP   	parent_idz	Campaign namePAUSEDstatus)Campaignr   r   r[   remote_create)r   counterrV   s      r   create_campaignzDocsTestCase.create_campaignv   sE    m&7&7&GH&W5% r   c                     t        t        j                  d            }dt        |      z   |d<   |d   |d<   d|d<   d	|d
<   d|d<   d|d<   d|d<   d|d<   ddgidddgd|d<   |j	                          |S )NrP   rb   zAd Set rd   idcampaign_idi  daily_budgetr   
bid_amountLINK_CLICKSbilling_eventoptimization_goalre   rf   	countriesUS6003232518610	Parenting)rl   rd   )geo_locations	interests	targeting)AdSetr   r   r[   rh   )r   ri   rV   adsets       r   create_adsetzDocsTestCase.create_adset}   s     1 1. AB!CL0f'~m $nl!.o%2!""h $n dV
 *'	

k 	r   c                     t        t        j                  d            }dt        |      z   |d<   |d   |d<   d|j	                         i|d<   d	|d
<   |j                          |S )NrP   rb   zAd rd   rl   adset_idcreative_idcreativere   rf   )Adr   r   r[   get_idrh   )r   ri   r{   r   adgroups        r   	create_adzDocsTestCase.create_ad   sh    }00@A#g,.#Dk
,hoo.?@
$r   c                     t        t        j                  d            }dt        |      z   |d<   d|d<   d|d<   | j	                         d	   |d
<   |j                          |S )NrP   rb   zMy Creative titlezThis is my creative's bodybodyzhttps://internet.org
object_urlhash
image_hash)
AdCreativer   r   r[   create_imagerh   )r   ri   r   s      r   create_creativezDocsTestCase.create_creative   sg    (9(9.(IJ*S\97!7!%!2!2!4V!< r   c                    | j                         d   }t               }d|t        j                  j                  <   d|t        j                  j                  <   d|t        j                  j
                  <   ||t        j                  j                  <   t               }t        j                  d      }||t        j                  j                  <   ||t        j                  j                  <   t        t        j                  d            }d|t        j                  j                  <   ||t        j                  j                  <   |j                          |S )	Nr   z
try it outzwww.wikipedia.comCaptionpage_idrP   rb   zTest Creative)r   LinkDataFieldmessagelinkcaptionr   ObjectStorySpecr   r   r   	link_datar   rd   object_story_specrh   )r   ri   r   r   r   r   r   s          r   create_creative_leadsz"DocsTestCase.create_creative_leads   s   &&(0
J	,8	(..(())<	(..%%&,5	(..(()/9	(..++,+-##I.;B///778=F///99:(9(9.(IJ*9!!&&'7H!!334 r   c                 n    t        t        j                  d            }d|d<   |j                          |S )NrP   rb   z'./facebook_business/test/misc/image.pngr   )AdImager   r   rh   )r   images     r   r   zDocsTestCase.create_image   s2    -"3"3N"CDEjr   c                     t        t        j                  d            }d|t         j                  j                  <   |j                          |S )NrP   rb   zAdLabel name)AdLabelr   r   r   rd   rh   )r   labels     r   create_adlabelzDocsTestCase.create_adlabel   s<    -"3"3N"CD$2gmm  !r   c                 B   t        t        j                  d            }t         j                  j                  |t         j
                  j                  <   d|t         j
                  j                  <   d|t         j
                  j                  <   |j                          |S )NrP   rb   zTest AudiencezAutogen-docs example)
CustomAudiencer   r   Subtypecustomr   subtyperd   descriptionrh   )r   audiences     r   create_custom_audiencez#DocsTestCase.create_custom_audience   sv    !M,=,=n,MN1?1G1G1N1N%%--..=%%**+5K%%112 r   c                     t         j                  d      }t        |      }d|d<   d|d<   d|d<   d	|d
<   d|d<   d|d<   dddgii|d<   |j                          |S )NrP   rb   r   frequency_capi5_V
start_timeiC_V	stop_time   reachr   story_event_typeprediction_moderw   rs   rt   target_spec)r   r   ReachFrequencyPredictionrh   )r   act_idrfps      r   !create_reach_frequency_predictionz.DocsTestCase.create_reach_frequency_prediction   s    "">2&8 O&L%KG"#!"dV
M
 	
r   c                 D   t        t        j                  d            }|j                  t        j
                  j                  g      }|Ut	        t        j                  d            }t        d      |t        j
                  j                  <   |j                          |S )NrP   rb   z
Test Pixel)
rQ   r   r   get_ads_pixelsAdsPixelr   codeunique_namerd   rh   )r   rT   pixels      r   create_ads_pixelzDocsTestCase.create_ads_pixel   sx    M--n=>&&(;(;'<==}'8'8'HIE)4\)BE(..%%&!r   c                     i }d|d<   t        t        j                  d            }|j                  |       |j	                          |S )NzTest Catalogrd   business_idrb   )ProductCatalogr   r   updaterh   )r   paramsproduct_catalogs      r   create_product_catalogz#DocsTestCase.create_product_catalog   sJ    'v(#''6
 	v&%%'r   c                 n    i }d|d<   t        |      }|j                  |       |j                          |S )NzTest Product Setrd   rb   )
ProductSetr   rh   )r   product_catalog_idr   product_sets       r   create_product_setzDocsTestCase.create_product_set   s;    +v +=>6"!!#r   c                     t        |      }d|t         j                  j                  <   dddd|t         j                  j                  <   |j	                          |S )Nrb   z	Test FeedDAILYz&http://www.example.com/sample_feed.tsv   )intervalurlhour)ProductFeedr   rd   schedulerh   )r   r   product_feeds      r   create_product_feedz DocsTestCase.create_product_feed   sX    "-?@/:[&&++,;4
[&&//0
 	""$r   c                    t        j                  dd| j                  j                        }t	        j
                         d   d   }t        t        j                  d      d      }t        |      }t        j                  dd|      }t        j                  d	d
|      }|j                  |dz   |z   dz   |z   dz          |j                          y )Nr-   r.   r2      r   r	   <z&lt;>z&gt;#r
   r   )r6   r7   r8   r   r&   stackr   r   r   r[   r   r   )r   r^   
class_namemethodr   obj_strs         r   store_responsezDocsTestCase.store_response  s    VV,b$..2I2IJ
#A&m''
3S9c(&&fg.&&fg.Z#%.5?&HIr   )r   r   r   r5   rW   r`   rj   r|   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__)r8   s   @r   r   r   0   sY    42l%;0&"	r   r   r   z/tmp/python_sdk_docs.nlsv)r$   unittestr&   r6   objectsspecs
exceptionsobjectr   r9   TestCaser   r   r   r   r   <module>r      sW   *    	   F  ^8$$ ^B   *9 :r   