ó
ç'ÊUc           @   s:  d  d l  Z  d  d l Z d  d l Z d  d l m Z m Z m Z d  d l 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 e j f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e j f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   Crawlert   CrawlerRunnert   CrawlerProcess(   t   Settingst   default_settings(   t   SpiderLoader(   t   DefaultSpider(   t   load_object(   t   AutoThrottlet   BaseCrawlerTestc           B   s   e  Z d  „  Z RS(   c         C   s1   |  j  | t ƒ |  j | | t t | ƒ ƒ d  S(   N(   t   assertIsInstanceR   t   assertEqualt   getattrR   (   t   selft   settingst   key(    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   assertOptionIsDefault   s    (   t   __name__t
   __module__R   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyR	      s   t   CrawlerTestCasec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   t  t t ƒ  ƒ |  _ d  S(   N(   R    R   R   t   crawler(   R   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   setUp   s    c      	   C   s§   t  j d t ƒ  } |  j j } |  j t | ƒ d ƒ |  j d t | d j	 ƒ ƒ t
 |  j j d ƒ } |  j | | ƒ |  j j |  j t | ƒ d d ƒ Wd  QXd  S(   Nt   recordi   s   Crawler.spidersi    t   SPIDER_LOADER_CLASSs    Warn deprecated access only once(   t   warningst   catch_warningst   TrueR   t   spidersR   t   lent   assertInt   strt   messageR   R   R
   (   R   t   wR   t   sl_cls(    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt!   test_deprecated_attribute_spiders   s    
c            sê   i d d 6d d 6‰  i d d 6d d 6} d t  f ‡  f d †  ƒ  Y} t ƒ  } | j | d d ƒt | | ƒ } |  j | j j d ƒ d ƒ |  j | j j d ƒ d ƒ |  j | j j d ƒ d ƒ |  j | j ƒ |  j	 | j j ƒ d  S(	   Nt   spidert   TEST1t   TEST2t   projectt   TEST3t   CustomSettingsSpiderc              s   e  Z ˆ  Z RS(    (   R   R   t   custom_settings(    (   t   spider_settings(    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyR(   (   s   t   priority(
   R   R   t   setdictR    R   R   t   gett   assertFalset   frozent
   assertTrue(   R   t   project_settingsR(   R   R   (    (   R*   s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt    test_populate_spidercls_settings$   s    	c         C   sD   t  t i d d 6ƒ } |  j | j d d ƒ |  j | j d ƒ d  S(   Nt   bart   foot   RETRY_ENABLED(   R    R   R   R   R   (   R   R   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   test_crawler_accepts_dict6   s    c         C   s#   t  t ƒ } |  j | j d ƒ d  S(   NR5   (   R    R   R   R   (   R   R   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   test_crawler_accepts_None;   s    (   R   R   R   R"   R2   R6   R7   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyR      s
   				t   SpiderSettingsTestCasec           B   s   e  Z d  „  Z RS(   c         C   s^   d t  j f d „  ƒ  Y} t | i  ƒ } g  | j j D] } | j ^ q5 } |  j t | ƒ d  S(   Nt   MySpiderc           B   s   e  Z d  Z i e d 6Z RS(   R#   t   AUTOTHROTTLE_ENABLED(   R   R   t   nameR   R)   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyR9   B   s   (   t   scrapyt   SpiderR    t
   extensionst   middlewarest	   __class__R   R   (   R   R9   R   t   et   enabled_exts(    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   test_spider_custom_settingsA   s    "(   R   R   RC   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyR8   @   s   t   SpiderLoaderWithWrongInterfacec           B   s   e  Z d  „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   unneeded_methodO   s    (   R   R   RE   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyRD   M   s   t   CustomSpiderLoaderc           B   s   e  Z RS(    (   R   R   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyRF   S   s   t   CrawlerRunnerTestCasec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s¢   t  i d d 6ƒ } t j d t ƒ w } |  j t ƒ _ t | ƒ |  j t | ƒ d ƒ |  j	 d t
 | d j ƒ ƒ |  j	 d t
 | d j ƒ ƒ Wd  QXWd  QXd  S(   Ns1   tests.test_crawler.SpiderLoaderWithWrongInterfaceR   R   i   i    s   scrapy.interfaces.ISpiderLoader(   R   R   R   R   t   assertRaisest   AttributeErrorR   R   R   R   R   R   (   R   R   R    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt$   test_spider_manager_verify_interfaceY   s    
c         C   sA   t  i d d 6ƒ } |  j | j d d ƒ |  j | j d ƒ d  S(   NR3   R4   R5   (   R   R   R   R   (   R   t   runner(    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt    test_crawler_runner_accepts_dictd   s    c         C   s    t  ƒ  } |  j | j d ƒ d  S(   NR5   (   R   R   R   (   R   RK   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt    test_crawler_runner_accepts_Nonei   s    	c      	   C   sª   t  j d t ƒ ’ } t t ƒ  ƒ } | j } |  j t | ƒ d ƒ |  j d t	 | d j
 ƒ ƒ |  j d t	 | d j
 ƒ ƒ t | j d ƒ } |  j | | ƒ Wd  QXd  S(   NR   i   s   CrawlerRunner.spidersi    s   CrawlerRunner.spider_loaderR   (   R   R   R   R   R   R   R   R   R   R   R   R   R   R
   (   R   R    RK   R   R!   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyR"   m   s    	c      	   C   sx   t  j d t ƒ ` } t i d d 6ƒ } |  j | j t ƒ |  j t | ƒ d ƒ |  j	 d t
 | d j ƒ ƒ Wd  QXd  S(   NR   s%   tests.test_crawler.CustomSpiderLoadert   SPIDER_MANAGER_CLASSi   s   Please use SPIDER_LOADER_CLASSi    (   R   R   R   R   R
   t   spider_loaderRF   R   R   R   R   R   (   R   R    RK   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   test_spidermanager_deprecationw   s    (   R   R   RJ   RL   RM   R"   RP   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyRG   W   s
   				
t   CrawlerProcessTestc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sA   t  i d d 6ƒ } |  j | j d d ƒ |  j | j d ƒ d  S(   NR3   R4   R5   (   R   R   R   R   (   R   RK   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt!   test_crawler_process_accepts_dict‚   s    c         C   s    t  ƒ  } |  j | j d ƒ d  S(   NR5   (   R   R   R   (   R   RK   (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt!   test_crawler_process_accepts_None‡   s    	(   R   R   RR   RS   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyRQ      s   	(   R   t   unittestR<   t   scrapy.crawlerR    R   R   t   scrapy.settingsR   R   t   scrapy.spiderloaderR   t   scrapy.utils.spiderR   t   scrapy.utils.miscR   t   scrapy.extensions.throttleR   t   TestCaseR	   R   R8   t   objectRD   RF   RG   RQ   (    (    (    s6   /home/travis/build/scrapy/scrapy/tests/test_crawler.pyt   <module>   s   ,*