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 

23Session = sessionmaker() 

24 

25 

26@pytest.fixture(scope="session") 

27def engine(): 

28 engine = create_engine("sqlite://", echo=True) 

29 Base.metadata.create_all(engine) 

30 return engine 

31 

32 

33@pytest.yield_fixture 

34def session(engine): 

35 connection = engine.connect() 

36 trans = connection.begin() 

37 session = Session(bind=connection) 

38 

39 yield session 

40 

41 session.close() 

42 trans.rollback() 

43 connection.close()