ó
]óYc           @   sª   d  d l  Z  d  d l Z d  d l Z d \ Z Z d d „ Z y e ƒ  Z e Z	 e j
 Z Wn e Z	 d Z n Xe  j j e	 d d e ƒZ d „  Z d	 „  Z d
 „  Z d S(   iÿÿÿÿNt   postgrest	   localhostc         C   s+   t  j d t d t d |  ƒ } t | _ | S(   Nt   usert   hostt   database(   t   psycopg2t   connectt   POSTGRES_USERt   POSTGRES_HOSTt   Truet
   autocommit(   t   dbnamet   conn(    (    s+   /Users/irina/src/pgspecial/tests/dbutils.pyt   db_connection
   s    		i    t   reasons=   Need a postgres instance at localhost accessible by user '%s'c         C   s7   t  ƒ  j ƒ  " } y | j d ƒ Wn n XWd  QXd  S(   Ns   CREATE DATABASE _test_db(   R   t   cursort   execute(   R   t   cur(    (    s+   /Users/irina/src/pgspecial/tests/dbutils.pyt	   create_db    s
    c         C   sÜ   |  j  ƒ  Ê } | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d	 ƒ | j d
 ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ | j d ƒ Wd  QXd  S(   Ns   create schema schema1s   create schema schema2sT   create table tbl1(id1 integer, txt1 text, CONSTRAINT id_text PRIMARY KEY(id1, txt1))s(   create table tbl2(id2 serial, txt2 text)s4   create table schema1.s1_tbl1(id1 integer, txt1 text)s=   create table tbl3(c3 circle, exclude using gist (c3 with &&))s3   create table "Inh1"(value1 integer) inherits (tbl1)s7   create table inh2(value2 integer) inherits (tbl1, tbl2)s%   create view vw1 as select * from tbl1sR   create view schema1.s1_vw1 as
                       select * from schema1.s1_tbl1s3   create materialized view mvw1 as select * from tbl1s`   create materialized view schema1.s1_mvw1 as
                       select * from schema1.s1_tbl1s"   create type foo AS (a int, b text)sW   create function func1() returns int language sql as
                       $$select 1$$sb   create function schema1.s1_func1() returns int language
                       sql as $$select 2$$(   R   R   (   R   R   (    (    s+   /Users/irina/src/pgspecial/tests/dbutils.pyt   setup_db(   s(    c         C   s&   |  j  ƒ   } | j d ƒ Wd  QXd  S(   Ns¯   
            DROP SCHEMA public CASCADE;
            CREATE SCHEMA public;
            DROP SCHEMA IF EXISTS schema1 CASCADE;
            DROP SCHEMA IF EXISTS schema2 CASCADE(   R   R   (   R   R   (    (    s+   /Users/irina/src/pgspecial/tests/dbutils.pyt   teardown_dbJ   s    (   R    R   (   t   pytestR   t   psycopg2.extrasR   R   t   NoneR   R   R	   t   CAN_CONNECT_TO_DBt   server_versiont   SERVER_VERSIONt   Falset   markt   skipift   dbtestR   R   R   (    (    (    s+   /Users/irina/src/pgspecial/tests/dbutils.pyt   <module>   s$   	
	
		"