ó
H`¾Tc           @   sÜ   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 d l m	 Z	 m
 Z
 m Z m Z m Z m Z d d l Z d  d	 l m Z m Z d
 e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d S(   i   (   t   fixturest   config(   t   requirements(   t
   exclusions(   t   eq_(   t   enginesiÿÿÿÿ(   t   Integert   Stringt   selectt   utilt   sqlt   DateTimeN(   t   Tablet   Columnt   RowFetchTestc           B   sb   e  Z e Z e d  „  ƒ Z e d „  ƒ Z d „  Z d „  Z d „  Z	 e
 j d „  ƒ Z d „  Z RS(   c         C   s`   t  d | t d t d t ƒt d t d ƒ ƒ ƒ t  d | t d t d t ƒt d t ƒ ƒ d  S(   Nt   plain_pkt   idt   primary_keyt   datai2   t	   has_datest   today(   R   R   R   t   TrueR   R   (   t   clst   metadata(    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   define_tables   s    		c      
   C   sž   t  j j |  j j j ƒ  i d d 6d d 6i d d 6d d 6i d d 6d d 6g ƒ t  j j |  j j j ƒ  i d d 6t j d	 d
 d d d d ƒ d 6g ƒ d  S(   Ni   R   t   d1R   i   t   d2i   t   d3iÖ  i   i   i    R   (   R   t   dbt   executet   tablesR   t   insertR   t   datetime(   R   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   insert_data   s    		c         C   s_   t  j j |  j j j ƒ  j |  j j j j ƒ ƒ j	 ƒ  } t
 | d d ƒ t
 | d d ƒ d  S(   NR   i   R   R   (   R   R   R   R   R   R   t   order_byt   cR   t   firstR   (   t   selft   row(    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_via_string,   s    	c         C   s_   t  j j |  j j j ƒ  j |  j j j j ƒ ƒ j	 ƒ  } t
 | d d ƒ t
 | d d ƒ d  S(   Ni    i   R   (   R   R   R   R   R   R   R"   R#   R   R$   R   (   R%   R&   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_via_int9   s    	c         C   sw   t  j j |  j j j ƒ  j |  j j j j ƒ ƒ j	 ƒ  } t
 | |  j j j j d ƒ t
 | |  j j j j d ƒ d  S(   Ni   R   (   R   R   R   R   R   R   R"   R#   R   R$   R   R   (   R%   R&   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_via_col_objectF   s    	c         C   sŠ   t  j j t |  j j j j |  j j j j j d ƒ g ƒ j	 |  j j j j
 ƒ ƒ } | j ƒ  } t | j ƒ  d d g ƒ t | d ƒ d  S(   NR   R   (   s   d1s   d1(   R   R   R   R   R   R   R#   R   t   labelR"   R   R$   R   t   keys(   R%   t   resultR&   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_row_with_dupe_namesS   s    	!c      	   C   s–   |  j  j } t | j d ƒ j j g ƒ j ƒ  } t | j j | j d ƒ g ƒ } t	 j
 j | ƒ j ƒ  } t | d t j d d d d d d ƒ ƒ d S(   sý   test that a scalar select as a column is returned as such
        and that type conversion works OK.

        (this is half a SQLAlchemy Core test and half to catch database
        backends that may have unusual behavior with scalar selects.)

        t   xt	   somelabeliÖ  i   i   i    N(   R   R   R   t   aliasR#   R   t	   as_scalarR   R*   R   R   R   R$   R   R    (   R%   t	   datetablet   st   s2R&   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_row_w_scalar_select^   s
    $!(   t   __name__t
   __module__R   t   __backend__t   classmethodR   R!   R'   R(   R)   R   t%   duplicate_names_in_cursor_descriptionR-   R5   (    (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyR      s   			t   PercentSchemaNamesTestc           B   sD   e  Z d  Z d Z e Z e d „  ƒ Z d „  Z d „  Z	 d „  Z
 RS(   sÜ   tests using percent signs, spaces in table and column names.

    This is a very fringe use case, doesn't work for MySQL
    or Postgresql.  the requirement, "percent_schema_names",
    is marked "skip" by default.

    t   percent_schema_namesc         C   s^   t  d | t d t ƒ t d t ƒ ƒ |  j _ t j d t j d ƒ t j d ƒ ƒ |  j _ d  S(   Ns   percent%tables   percent%s   spaces % more spaces(	   R   R   R   R   t   percent_tableR
   t   tablet   columnt   lightweight_percent_table(   R   R   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyR   {   s    	c         C   sˆ   |  j  j } xk i d d 6d d 6i d d 6d d 6i d d 6d d 6i d d 6d d 6g D] } t j j | j ƒ  | ƒ qW W|  j ƒ  d  S(	   Ni   s   percent%i   s   spaces % more spacesi   i   i	   i
   (   R   R=   R   R   R   R   t   _assert_table(   R%   R=   t   params(    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_single_roundtrip‡   s    c         C   s   |  j  j } t j j | j ƒ  i d d 6d d 6ƒ t j j | j ƒ  i d d 6d d 6i d d 6d d 6i d d 6d d 6g ƒ |  j ƒ  d  S(	   Ni   s   percent%i   s   spaces % more spacesi   i   i	   i
   (   R   R=   R   R   R   R   RA   (   R%   R=   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   test_executemany_roundtrip’   s    				c         C   sÎ  |  j  j } |  j  j } xA| | j ƒ  | | j ƒ  f D]!} t t t j j | j	 ƒ  j
 | j d ƒ ƒ ƒ d
 d d d g ƒ t t t j j | j	 ƒ  j | j d j d d g ƒ ƒ j
 | j d ƒ ƒ ƒ d d g ƒ t j j | j	 ƒ  j
 | j d ƒ ƒ j ƒ  } t | d d ƒ t | d d ƒ t | | j d d ƒ t | | j d d ƒ q7 Wt j j | j ƒ  j i d	 | j d 6ƒ ƒ t t t j j | j	 ƒ  j
 | j d ƒ ƒ ƒ d d d d g ƒ d  S(   Ns   percent%i   i   i   i   i	   i
   s   spaces % more spacesi   (   i   i   (   i   i   (   i	   i
   (   i   i	   (   i	   i
   (   i   i	   (   i   i   (   i   i   (   i	   i   (   i   i   (   R   R=   R@   R0   R   t   listR   R   R   R   R"   R#   t   wheret   in_R$   t   updatet   values(   R%   R=   R@   R>   R&   (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyRA       sL    		
	
		(   R<   (   R6   R7   t   __doc__t   __requires__R   R8   R9   R   RC   RD   RA   (    (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyR;   n   s   		(   t    R    R   R   R   t
   assertionsR   R   t
   sqlalchemyR   R   R   R	   R
   R   R    t   schemaR   R   t
   TablesTestR   R;   (    (    (    sk   /var/www/send.findwatt.com/datamanager/lib/python2.7/site-packages/sqlalchemy/testing/suite/test_results.pyt   <module>   s   .b