ó
ç'ÊUc           @   sv   d  d l  m 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 e f d „  ƒ  YZ d S(	   iÿÿÿÿ(   t   defer(   t   TestCase(   t   get_crawler(   t   FollowAllSpidert
   ItemSpidert   ErrorSpider(   t
   MockServert   TestCloseSpiderc           B   sb   e  Z d  „  Z d „  Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z e j d „  ƒ Z	 RS(   c         C   s   t  ƒ  |  _ |  j j ƒ  d  S(   N(   R   t
   mockservert	   __enter__(   t   self(    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   setUp
   s    c         C   s   |  j  j d  d  d  ƒ d  S(   N(   R   t   __exit__t   None(   R
   (    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   tearDown   s    c         c   sp   d } t  t i | d 6ƒ } | j ƒ  V| j j d } |  j | d ƒ | j j d ƒ } |  j | | k ƒ d  S(   Ni   t   CLOSESPIDER_ITEMCOUNTt   close_reasont   closespider_itemcountt   item_scraped_count(	   R   R   t   crawlt   spidert   metat   assertEqualt   statst	   get_valuet
   assertTrue(   R
   t   close_ont   crawlert   reasont	   itemcount(    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   test_closespider_itemcount   s    c         c   sp   d } t  t i | d 6ƒ } | j ƒ  V| j j d } |  j | d ƒ | j j d ƒ } |  j | | k ƒ d  S(   Ni   t   CLOSESPIDER_PAGECOUNTR   t   closespider_pagecountt   response_received_count(	   R   R   R   R   R   R   R   R   R   (   R
   R   R   R   t	   pagecount(    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   test_closespider_pagecount   s    c         c   s‘   d } t  t i | d 6ƒ } | j d d ƒ V| j j d } |  j | d ƒ d j d | j j j ƒ } | j	 j
 | ƒ } |  j | | k ƒ d  S(	   Ni   t   CLOSESPIDER_ERRORCOUNTt   totali@B R   t   closespider_errorcounts   spider_exceptions/{name}t   name(   R   R   R   R   R   R   t   formatt   exception_clst   __name__R   R   R   (   R
   R   R   R   t   keyt
   errorcount(    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   test_closespider_errorcount%   s    	c   	      c   s¥   d } t  t i | d 6ƒ } | j d d ƒ V| j j d } |  j | d ƒ | j } | j d ƒ } | j d ƒ } | | } | j | j	 } |  j
 | | k ƒ d  S(	   Ngš™™™™™¹?t   CLOSESPIDER_TIMEOUTR%   i@B R   t   closespider_timeoutt
   start_timet   finish_time(   R   R   R   R   R   R   R   R   t   secondst   microsecondsR   (	   R
   R   R   R   R   t   startt   stopt   difft   total_seconds(    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   test_closespider_timeout1   s    	
(
   R*   t
   __module__R   R   R    t   inlineCallbacksR   R#   R-   R8   (    (    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyR      s   		

N(   t   twisted.internetR    t   twisted.trial.unittestR   t   scrapy.utils.testR   t   tests.spidersR   R   R   t   tests.mockserverR   R   (    (    (    s:   /home/travis/build/scrapy/scrapy/tests/test_closespider.pyt   <module>   s
   