1# This program is free software; you can redistribute it and/or modify 

2# it under the terms of the GNU General Public License as published by 

3# the Free Software Foundation; either version 2 of the License, or 

4# (at your option) any later version. 

5 

6# This program is distributed in the hope that it will be useful, 

7# but WITHOUT ANY WARRANTY; without even the implied warranty of 

8# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 

9# GNU General Public License for more details. 

10 

11# You should have received a copy of the GNU General Public License 

12# along with this program; if not, write to the Free Software 

13# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 

14 

15################################################################################ 

16 

17import pytest 

18from sqlalchemy import create_engine 

19from sqlalchemy.orm import sessionmaker 

20 

21from daklib.database.all import Base 

22 

23 

24Session = sessionmaker() 

25 

26 

27@pytest.fixture(scope='session') 

28def engine(): 

29 engine = create_engine('sqlite://', echo=True) 

30 Base.metadata.create_all(engine) 

31 return engine 

32 

33 

34@pytest.yield_fixture 

35def session(engine): 

36 connection = engine.connect() 

37 trans = connection.begin() 

38 session = Session(bind=connection) 

39 

40 yield session 

41 

42 session.close() 

43 trans.rollback() 

44 connection.close()