zypper port starts. zypp2 to zypp
[platform/upstream/libzypp.git] / tests / cache / CacheInitializer_test.cc
1
2 #include <iostream>
3 #include <list>
4 #include <string>
5
6 #include "zypp/base/Logger.h"
7 #include "zypp/Arch.h"
8 #include "zypp/TmpPath.h"
9 #include "zypp/cache/CacheInitializer.h"
10 #include "zypp/cache/sqlite3x/sqlite3x.hpp"
11
12 // Boost.Test
13 #include <boost/test/floating_point_comparison.hpp>
14 #include <boost/test/unit_test.hpp>
15 #include <boost/test/unit_test_log.hpp>
16
17 using boost::unit_test::test_suite;
18 using boost::unit_test::test_case;
19 using boost::test_tools::close_at_tolerance;
20 using namespace boost::unit_test;
21 using namespace boost::unit_test::log;
22 using namespace boost::unit_test_framework;
23 using namespace std;
24 using namespace zypp;
25 using namespace sqlite3x;
26
27 // control output with BOOST_TEST_LOG_LEVEL="all"
28
29 void cacheinit_test()
30 {
31   //unit_test_log::instance().set_log_threshold_level(log_messages);
32   filesystem::TmpDir tmpdir;
33   cache::CacheInitializer initializer(tmpdir.path(), "test.db");
34   
35   sqlite3_connection con( (tmpdir.path() + "test.db").asString().c_str());
36   //con.executenonquery(SOURCES_TABLE_SCHEMA);
37   int count = con.executeint("select count(*) from sqlite_master where type='table';");
38   BOOST_CHECK( initializer.justInitialized() );
39   // 14 tables need to be created
40   BOOST_CHECK( count > 0);
41 }
42
43 test_suite*
44 init_unit_test_suite( int, char* [] )
45 {
46     test_suite* test= BOOST_TEST_SUITE( "CacheInit" );
47     test->add( BOOST_TEST_CASE( &cacheinit_test ), 0 /* expected zero error */ );
48     return test;
49 }