#include "item.hh" #include "item_impl.hh" #include "dbsession.hh" #include "dbobjectvec.hh" #include "dbobjecttree.hh" #include "dbobjecttree_impl.hh" #include "dbobjecttreeptr.hh" #include "category.hh" #include #include using namespace inventory; using namespace datamodel; using namespace inventory::db; std::string g_test_db_url; class DBInitTest : public ::testing::Test { public: DBInitTest() : m_session(g_test_db_url.c_str()) {} virtual void setUp() {} virtual void tearDown() {} protected: DBSession m_session; }; TEST_F(DBInitTest, ItemInit) { Item::create_tables(m_session); } TEST_F(DBInitTest, CategoryInit) { Category::create_tables(m_session); } TEST_F(DBInitTest, ItemInsert) { Item root; root.name = "Root object"; root.insert(m_session); } TEST_F(DBInitTest, ItemRetrieve) { DBContainerPtr items = Item::get_all(m_session); ASSERT_STREQ((*items)[0]->name.c_str(), "Root object"); } int main(int argc, char *argv[]) { ::testing::InitGoogleTest(&argc, argv); g_test_db_url = argv[1]; return RUN_ALL_TESTS(); }