/* * Copyright (c) 2010-2017, b3log.org & hacpai.com * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.b3log.solo; import org.b3log.latke.Latkes; import org.b3log.latke.ioc.LatkeBeanManager; import org.b3log.latke.ioc.Lifecycle; import org.b3log.latke.ioc.config.Discoverer; import org.b3log.latke.repository.jdbc.util.Connections; import org.b3log.latke.repository.jdbc.util.JdbcRepositories; import org.b3log.solo.api.metaweblog.MetaWeblogAPI; import org.b3log.solo.repository.*; import org.b3log.solo.repository.impl.*; import org.b3log.solo.service.*; import org.testng.annotations.BeforeClass; import java.sql.Connection; import java.util.Collection; import java.util.Locale; /** * Abstract test case. * * @author <a href="http://88250.b3log.org">Liang Ding</a> * @version 2.2.0.9, Apr 12, 2017 * @see #beforeClass() */ public abstract class AbstractTestCase { /** * Bean manager. */ private LatkeBeanManager beanManager; /** * Before class. * <p> * <ol> * <li>Initializes Latke runtime</li> * <li>Instantiates repositories</li> * </ol> * </p> * * @throws Exception exception */ @BeforeClass public void beforeClass() throws Exception { Latkes.initRuntimeEnv(); Latkes.setLocale(Locale.SIMPLIFIED_CHINESE); final Collection<Class<?>> classes = Discoverer.discover("org.b3log.solo"); Lifecycle.startApplication(classes); beanManager = Lifecycle.getBeanManager(); final Connection connection = Connections.getConnection(); connection.createStatement().execute("DROP ALL OBJECTS"); connection.close(); JdbcRepositories.initAllTables(); } /** * Gets category-tag repository. * * @return category-tag repository */ public CategoryTagRepository getCategoryTagRepository() { return beanManager.getReference(CategoryTagRepositoryImpl.class); } /** * Gets category repository. * * @return category repository */ public CategoryRepository getCategoryRepository() { return beanManager.getReference(CategoryRepositoryImpl.class); } /** * Gets user repository. * * @return user repository */ public UserRepository getUserRepository() { return beanManager.getReference(UserRepositoryImpl.class); } /** * Gets link repository. * * @return link repository */ public LinkRepository getLinkRepository() { return beanManager.getReference(LinkRepositoryImpl.class); } /** * Gets article repository. * * @return article repository */ public ArticleRepository getArticleRepository() { return beanManager.getReference(ArticleRepositoryImpl.class); } /** * Gets tag repository. * * @return tag repository */ public TagRepository getTagRepository() { return beanManager.getReference(TagRepositoryImpl.class); } /** * Gets tag-article repository. * * @return tag-article repository */ public TagArticleRepository getTagArticleRepository() { return beanManager.getReference(TagArticleRepositoryImpl.class); } /** * Gets page repository. * * @return page repository */ public PageRepository getPageRepository() { return beanManager.getReference(PageRepositoryImpl.class); } /** * Gets comment repository. * * @return comment repository */ public CommentRepository getCommentRepository() { return beanManager.getReference(CommentRepositoryImpl.class); } /** * Gets archive date repository. * * @return archive date repository */ public ArchiveDateRepository getArchiveDateRepository() { return beanManager.getReference(ArchiveDateRepositoryImpl.class); } /** * Archive date article repository. * * @return archive date article repository */ public ArchiveDateArticleRepository getArchiveDateArticleRepository() { return beanManager.getReference(ArchiveDateArticleRepositoryImpl.class); } /** * Gets plugin repository. * * @return plugin repository */ public PluginRepository getPluginRepository() { return beanManager.getReference(PluginRepositoryImpl.class); } /** * Gets statistic repository. * * @return statistic repository */ public StatisticRepository getStatisticRepository() { return beanManager.getReference(StatisticRepositoryImpl.class); } /** * Gets option repository. * * @return option repository */ public OptionRepository getOptionRepository() { return beanManager.getReference(OptionRepositoryImpl.class); } /** * Gets category query service. * * @return category query service */ public CategoryQueryService getCategoryQueryService() { return beanManager.getReference(CategoryQueryService.class); } /** * Gets category management service. * * @return category management service */ public CategoryMgmtService getCategoryMgmtService() { return beanManager.getReference(CategoryMgmtService.class); } /** * Gets initialization service. * * @return initialization service */ public InitService getInitService() { return beanManager.getReference(InitService.class); } /** * Gets user management service. * * @return user management service */ public UserMgmtService getUserMgmtService() { return beanManager.getReference(UserMgmtService.class); } /** * Gets user query service. * * @return user query service */ public UserQueryService getUserQueryService() { return beanManager.getReference(UserQueryService.class); } /** * Gets article management service. * * @return article management service */ public ArticleMgmtService getArticleMgmtService() { return beanManager.getReference(ArticleMgmtService.class); } /** * Gets article query service. * * @return article query service */ public ArticleQueryService getArticleQueryService() { return beanManager.getReference(ArticleQueryService.class); } /** * Gets page management service. * * @return page management service */ public PageMgmtService getPageMgmtService() { return beanManager.getReference(PageMgmtService.class); } /** * Gets page query service. * * @return page query service */ public PageQueryService getPageQueryService() { return beanManager.getReference(PageQueryService.class); } /** * Gets link management service. * * @return link management service */ public LinkMgmtService getLinkMgmtService() { return beanManager.getReference(LinkMgmtService.class); } /** * Gets link query service. * * @return link query service */ public LinkQueryService getLinkQueryService() { return beanManager.getReference(LinkQueryService.class); } /** * Gets preference management service. * * @return preference management service */ public PreferenceMgmtService getPreferenceMgmtService() { return beanManager.getReference(PreferenceMgmtService.class); } /** * Gets preference query service. * * @return preference query service */ public PreferenceQueryService getPreferenceQueryService() { return beanManager.getReference(PreferenceQueryService.class); } /** * Gets tag query service. * * @return tag query service */ public TagQueryService getTagQueryService() { return beanManager.getReference(TagQueryService.class); } /** * Gets tag management service. * * @return tag management service */ public TagMgmtService getTagMgmtService() { return beanManager.getReference(TagMgmtService.class); } /** * Gets comment query service. * * @return comment query service */ public CommentQueryService getCommentQueryService() { return beanManager.getReference(CommentQueryService.class); } /** * Gets comment management service. * * @return comment management service */ public CommentMgmtService getCommentMgmtService() { return beanManager.getReference(CommentMgmtService.class); } /** * Gets archive date query service. * * @return archive date query service */ public ArchiveDateQueryService getArchiveDateQueryService() { return beanManager.getReference(ArchiveDateQueryService.class); } /** * Gets option management service. * * @return option management service */ public OptionMgmtService getOptionMgmtService() { return beanManager.getReference(OptionMgmtService.class); } /** * Gets option query service. * * @return option query service */ public OptionQueryService getOptionQueryService() { return beanManager.getReference(OptionQueryService.class); } public MetaWeblogAPI getMetaWeblogAPI() { return beanManager.getReference(MetaWeblogAPI.class); } }