PageRenderTime 76ms CodeModel.GetById 47ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/test/persistence-test/src/testIntegration/java/com/liferay/portal/service/persistence/test/PortletItemPersistenceTest.java

http://github.com/liferay/liferay-portal
Java | 513 lines | 358 code | 139 blank | 16 comment | 1 complexity | 8a7f74dbdc20c87495e27b870e9f8e8a MD5 | raw file
Possible License(s): LGPL-2.0
  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.portal.service.persistence.test;
  15. import com.liferay.arquillian.extension.junit.bridge.junit.Arquillian;
  16. import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
  17. import com.liferay.portal.kernel.dao.orm.DynamicQuery;
  18. import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
  19. import com.liferay.portal.kernel.dao.orm.ProjectionFactoryUtil;
  20. import com.liferay.portal.kernel.dao.orm.QueryUtil;
  21. import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
  22. import com.liferay.portal.kernel.exception.NoSuchPortletItemException;
  23. import com.liferay.portal.kernel.model.PortletItem;
  24. import com.liferay.portal.kernel.service.PortletItemLocalServiceUtil;
  25. import com.liferay.portal.kernel.service.persistence.PortletItemPersistence;
  26. import com.liferay.portal.kernel.service.persistence.PortletItemUtil;
  27. import com.liferay.portal.kernel.test.ReflectionTestUtil;
  28. import com.liferay.portal.kernel.test.rule.AggregateTestRule;
  29. import com.liferay.portal.kernel.test.util.RandomTestUtil;
  30. import com.liferay.portal.kernel.transaction.Propagation;
  31. import com.liferay.portal.kernel.util.IntegerWrapper;
  32. import com.liferay.portal.kernel.util.OrderByComparator;
  33. import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil;
  34. import com.liferay.portal.kernel.util.Time;
  35. import com.liferay.portal.test.rule.LiferayIntegrationTestRule;
  36. import com.liferay.portal.test.rule.PersistenceTestRule;
  37. import com.liferay.portal.test.rule.TransactionalTestRule;
  38. import java.io.Serializable;
  39. import java.util.ArrayList;
  40. import java.util.HashSet;
  41. import java.util.Iterator;
  42. import java.util.List;
  43. import java.util.Map;
  44. import java.util.Objects;
  45. import java.util.Set;
  46. import org.junit.After;
  47. import org.junit.Assert;
  48. import org.junit.Before;
  49. import org.junit.ClassRule;
  50. import org.junit.Rule;
  51. import org.junit.Test;
  52. import org.junit.runner.RunWith;
  53. /**
  54. * @generated
  55. */
  56. @RunWith(Arquillian.class)
  57. public class PortletItemPersistenceTest {
  58. @ClassRule
  59. @Rule
  60. public static final AggregateTestRule aggregateTestRule =
  61. new AggregateTestRule(
  62. new LiferayIntegrationTestRule(), PersistenceTestRule.INSTANCE,
  63. new TransactionalTestRule(Propagation.REQUIRED));
  64. @Before
  65. public void setUp() {
  66. _persistence = PortletItemUtil.getPersistence();
  67. Class<?> clazz = _persistence.getClass();
  68. _dynamicQueryClassLoader = clazz.getClassLoader();
  69. }
  70. @After
  71. public void tearDown() throws Exception {
  72. Iterator<PortletItem> iterator = _portletItems.iterator();
  73. while (iterator.hasNext()) {
  74. _persistence.remove(iterator.next());
  75. iterator.remove();
  76. }
  77. }
  78. @Test
  79. public void testCreate() throws Exception {
  80. long pk = RandomTestUtil.nextLong();
  81. PortletItem portletItem = _persistence.create(pk);
  82. Assert.assertNotNull(portletItem);
  83. Assert.assertEquals(portletItem.getPrimaryKey(), pk);
  84. }
  85. @Test
  86. public void testRemove() throws Exception {
  87. PortletItem newPortletItem = addPortletItem();
  88. _persistence.remove(newPortletItem);
  89. PortletItem existingPortletItem = _persistence.fetchByPrimaryKey(
  90. newPortletItem.getPrimaryKey());
  91. Assert.assertNull(existingPortletItem);
  92. }
  93. @Test
  94. public void testUpdateNew() throws Exception {
  95. addPortletItem();
  96. }
  97. @Test
  98. public void testUpdateExisting() throws Exception {
  99. long pk = RandomTestUtil.nextLong();
  100. PortletItem newPortletItem = _persistence.create(pk);
  101. newPortletItem.setMvccVersion(RandomTestUtil.nextLong());
  102. newPortletItem.setGroupId(RandomTestUtil.nextLong());
  103. newPortletItem.setCompanyId(RandomTestUtil.nextLong());
  104. newPortletItem.setUserId(RandomTestUtil.nextLong());
  105. newPortletItem.setUserName(RandomTestUtil.randomString());
  106. newPortletItem.setCreateDate(RandomTestUtil.nextDate());
  107. newPortletItem.setModifiedDate(RandomTestUtil.nextDate());
  108. newPortletItem.setName(RandomTestUtil.randomString());
  109. newPortletItem.setPortletId(RandomTestUtil.randomString());
  110. newPortletItem.setClassNameId(RandomTestUtil.nextLong());
  111. _portletItems.add(_persistence.update(newPortletItem));
  112. PortletItem existingPortletItem = _persistence.findByPrimaryKey(
  113. newPortletItem.getPrimaryKey());
  114. Assert.assertEquals(
  115. existingPortletItem.getMvccVersion(),
  116. newPortletItem.getMvccVersion());
  117. Assert.assertEquals(
  118. existingPortletItem.getPortletItemId(),
  119. newPortletItem.getPortletItemId());
  120. Assert.assertEquals(
  121. existingPortletItem.getGroupId(), newPortletItem.getGroupId());
  122. Assert.assertEquals(
  123. existingPortletItem.getCompanyId(), newPortletItem.getCompanyId());
  124. Assert.assertEquals(
  125. existingPortletItem.getUserId(), newPortletItem.getUserId());
  126. Assert.assertEquals(
  127. existingPortletItem.getUserName(), newPortletItem.getUserName());
  128. Assert.assertEquals(
  129. Time.getShortTimestamp(existingPortletItem.getCreateDate()),
  130. Time.getShortTimestamp(newPortletItem.getCreateDate()));
  131. Assert.assertEquals(
  132. Time.getShortTimestamp(existingPortletItem.getModifiedDate()),
  133. Time.getShortTimestamp(newPortletItem.getModifiedDate()));
  134. Assert.assertEquals(
  135. existingPortletItem.getName(), newPortletItem.getName());
  136. Assert.assertEquals(
  137. existingPortletItem.getPortletId(), newPortletItem.getPortletId());
  138. Assert.assertEquals(
  139. existingPortletItem.getClassNameId(),
  140. newPortletItem.getClassNameId());
  141. }
  142. @Test
  143. public void testCountByG_C() throws Exception {
  144. _persistence.countByG_C(
  145. RandomTestUtil.nextLong(), RandomTestUtil.nextLong());
  146. _persistence.countByG_C(0L, 0L);
  147. }
  148. @Test
  149. public void testCountByG_P_C() throws Exception {
  150. _persistence.countByG_P_C(
  151. RandomTestUtil.nextLong(), "", RandomTestUtil.nextLong());
  152. _persistence.countByG_P_C(0L, "null", 0L);
  153. _persistence.countByG_P_C(0L, (String)null, 0L);
  154. }
  155. @Test
  156. public void testCountByG_N_P_C() throws Exception {
  157. _persistence.countByG_N_P_C(
  158. RandomTestUtil.nextLong(), "", "", RandomTestUtil.nextLong());
  159. _persistence.countByG_N_P_C(0L, "null", "null", 0L);
  160. _persistence.countByG_N_P_C(0L, (String)null, (String)null, 0L);
  161. }
  162. @Test
  163. public void testFindByPrimaryKeyExisting() throws Exception {
  164. PortletItem newPortletItem = addPortletItem();
  165. PortletItem existingPortletItem = _persistence.findByPrimaryKey(
  166. newPortletItem.getPrimaryKey());
  167. Assert.assertEquals(existingPortletItem, newPortletItem);
  168. }
  169. @Test(expected = NoSuchPortletItemException.class)
  170. public void testFindByPrimaryKeyMissing() throws Exception {
  171. long pk = RandomTestUtil.nextLong();
  172. _persistence.findByPrimaryKey(pk);
  173. }
  174. @Test
  175. public void testFindAll() throws Exception {
  176. _persistence.findAll(
  177. QueryUtil.ALL_POS, QueryUtil.ALL_POS, getOrderByComparator());
  178. }
  179. protected OrderByComparator<PortletItem> getOrderByComparator() {
  180. return OrderByComparatorFactoryUtil.create(
  181. "PortletItem", "mvccVersion", true, "portletItemId", true,
  182. "groupId", true, "companyId", true, "userId", true, "userName",
  183. true, "createDate", true, "modifiedDate", true, "name", true,
  184. "portletId", true, "classNameId", true);
  185. }
  186. @Test
  187. public void testFetchByPrimaryKeyExisting() throws Exception {
  188. PortletItem newPortletItem = addPortletItem();
  189. PortletItem existingPortletItem = _persistence.fetchByPrimaryKey(
  190. newPortletItem.getPrimaryKey());
  191. Assert.assertEquals(existingPortletItem, newPortletItem);
  192. }
  193. @Test
  194. public void testFetchByPrimaryKeyMissing() throws Exception {
  195. long pk = RandomTestUtil.nextLong();
  196. PortletItem missingPortletItem = _persistence.fetchByPrimaryKey(pk);
  197. Assert.assertNull(missingPortletItem);
  198. }
  199. @Test
  200. public void testFetchByPrimaryKeysWithMultiplePrimaryKeysWhereAllPrimaryKeysExist()
  201. throws Exception {
  202. PortletItem newPortletItem1 = addPortletItem();
  203. PortletItem newPortletItem2 = addPortletItem();
  204. Set<Serializable> primaryKeys = new HashSet<Serializable>();
  205. primaryKeys.add(newPortletItem1.getPrimaryKey());
  206. primaryKeys.add(newPortletItem2.getPrimaryKey());
  207. Map<Serializable, PortletItem> portletItems =
  208. _persistence.fetchByPrimaryKeys(primaryKeys);
  209. Assert.assertEquals(2, portletItems.size());
  210. Assert.assertEquals(
  211. newPortletItem1, portletItems.get(newPortletItem1.getPrimaryKey()));
  212. Assert.assertEquals(
  213. newPortletItem2, portletItems.get(newPortletItem2.getPrimaryKey()));
  214. }
  215. @Test
  216. public void testFetchByPrimaryKeysWithMultiplePrimaryKeysWhereNoPrimaryKeysExist()
  217. throws Exception {
  218. long pk1 = RandomTestUtil.nextLong();
  219. long pk2 = RandomTestUtil.nextLong();
  220. Set<Serializable> primaryKeys = new HashSet<Serializable>();
  221. primaryKeys.add(pk1);
  222. primaryKeys.add(pk2);
  223. Map<Serializable, PortletItem> portletItems =
  224. _persistence.fetchByPrimaryKeys(primaryKeys);
  225. Assert.assertTrue(portletItems.isEmpty());
  226. }
  227. @Test
  228. public void testFetchByPrimaryKeysWithMultiplePrimaryKeysWhereSomePrimaryKeysExist()
  229. throws Exception {
  230. PortletItem newPortletItem = addPortletItem();
  231. long pk = RandomTestUtil.nextLong();
  232. Set<Serializable> primaryKeys = new HashSet<Serializable>();
  233. primaryKeys.add(newPortletItem.getPrimaryKey());
  234. primaryKeys.add(pk);
  235. Map<Serializable, PortletItem> portletItems =
  236. _persistence.fetchByPrimaryKeys(primaryKeys);
  237. Assert.assertEquals(1, portletItems.size());
  238. Assert.assertEquals(
  239. newPortletItem, portletItems.get(newPortletItem.getPrimaryKey()));
  240. }
  241. @Test
  242. public void testFetchByPrimaryKeysWithNoPrimaryKeys() throws Exception {
  243. Set<Serializable> primaryKeys = new HashSet<Serializable>();
  244. Map<Serializable, PortletItem> portletItems =
  245. _persistence.fetchByPrimaryKeys(primaryKeys);
  246. Assert.assertTrue(portletItems.isEmpty());
  247. }
  248. @Test
  249. public void testFetchByPrimaryKeysWithOnePrimaryKey() throws Exception {
  250. PortletItem newPortletItem = addPortletItem();
  251. Set<Serializable> primaryKeys = new HashSet<Serializable>();
  252. primaryKeys.add(newPortletItem.getPrimaryKey());
  253. Map<Serializable, PortletItem> portletItems =
  254. _persistence.fetchByPrimaryKeys(primaryKeys);
  255. Assert.assertEquals(1, portletItems.size());
  256. Assert.assertEquals(
  257. newPortletItem, portletItems.get(newPortletItem.getPrimaryKey()));
  258. }
  259. @Test
  260. public void testActionableDynamicQuery() throws Exception {
  261. final IntegerWrapper count = new IntegerWrapper();
  262. ActionableDynamicQuery actionableDynamicQuery =
  263. PortletItemLocalServiceUtil.getActionableDynamicQuery();
  264. actionableDynamicQuery.setPerformActionMethod(
  265. new ActionableDynamicQuery.PerformActionMethod<PortletItem>() {
  266. @Override
  267. public void performAction(PortletItem portletItem) {
  268. Assert.assertNotNull(portletItem);
  269. count.increment();
  270. }
  271. });
  272. actionableDynamicQuery.performActions();
  273. Assert.assertEquals(count.getValue(), _persistence.countAll());
  274. }
  275. @Test
  276. public void testDynamicQueryByPrimaryKeyExisting() throws Exception {
  277. PortletItem newPortletItem = addPortletItem();
  278. DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(
  279. PortletItem.class, _dynamicQueryClassLoader);
  280. dynamicQuery.add(
  281. RestrictionsFactoryUtil.eq(
  282. "portletItemId", newPortletItem.getPortletItemId()));
  283. List<PortletItem> result = _persistence.findWithDynamicQuery(
  284. dynamicQuery);
  285. Assert.assertEquals(1, result.size());
  286. PortletItem existingPortletItem = result.get(0);
  287. Assert.assertEquals(existingPortletItem, newPortletItem);
  288. }
  289. @Test
  290. public void testDynamicQueryByPrimaryKeyMissing() throws Exception {
  291. DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(
  292. PortletItem.class, _dynamicQueryClassLoader);
  293. dynamicQuery.add(
  294. RestrictionsFactoryUtil.eq(
  295. "portletItemId", RandomTestUtil.nextLong()));
  296. List<PortletItem> result = _persistence.findWithDynamicQuery(
  297. dynamicQuery);
  298. Assert.assertEquals(0, result.size());
  299. }
  300. @Test
  301. public void testDynamicQueryByProjectionExisting() throws Exception {
  302. PortletItem newPortletItem = addPortletItem();
  303. DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(
  304. PortletItem.class, _dynamicQueryClassLoader);
  305. dynamicQuery.setProjection(
  306. ProjectionFactoryUtil.property("portletItemId"));
  307. Object newPortletItemId = newPortletItem.getPortletItemId();
  308. dynamicQuery.add(
  309. RestrictionsFactoryUtil.in(
  310. "portletItemId", new Object[] {newPortletItemId}));
  311. List<Object> result = _persistence.findWithDynamicQuery(dynamicQuery);
  312. Assert.assertEquals(1, result.size());
  313. Object existingPortletItemId = result.get(0);
  314. Assert.assertEquals(existingPortletItemId, newPortletItemId);
  315. }
  316. @Test
  317. public void testDynamicQueryByProjectionMissing() throws Exception {
  318. DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(
  319. PortletItem.class, _dynamicQueryClassLoader);
  320. dynamicQuery.setProjection(
  321. ProjectionFactoryUtil.property("portletItemId"));
  322. dynamicQuery.add(
  323. RestrictionsFactoryUtil.in(
  324. "portletItemId", new Object[] {RandomTestUtil.nextLong()}));
  325. List<Object> result = _persistence.findWithDynamicQuery(dynamicQuery);
  326. Assert.assertEquals(0, result.size());
  327. }
  328. @Test
  329. public void testResetOriginalValues() throws Exception {
  330. PortletItem newPortletItem = addPortletItem();
  331. _persistence.clearCache();
  332. PortletItem existingPortletItem = _persistence.findByPrimaryKey(
  333. newPortletItem.getPrimaryKey());
  334. Assert.assertEquals(
  335. Long.valueOf(existingPortletItem.getGroupId()),
  336. ReflectionTestUtil.<Long>invoke(
  337. existingPortletItem, "getOriginalGroupId", new Class<?>[0]));
  338. Assert.assertTrue(
  339. Objects.equals(
  340. existingPortletItem.getName(),
  341. ReflectionTestUtil.invoke(
  342. existingPortletItem, "getOriginalName", new Class<?>[0])));
  343. Assert.assertTrue(
  344. Objects.equals(
  345. existingPortletItem.getPortletId(),
  346. ReflectionTestUtil.invoke(
  347. existingPortletItem, "getOriginalPortletId",
  348. new Class<?>[0])));
  349. Assert.assertEquals(
  350. Long.valueOf(existingPortletItem.getClassNameId()),
  351. ReflectionTestUtil.<Long>invoke(
  352. existingPortletItem, "getOriginalClassNameId",
  353. new Class<?>[0]));
  354. }
  355. protected PortletItem addPortletItem() throws Exception {
  356. long pk = RandomTestUtil.nextLong();
  357. PortletItem portletItem = _persistence.create(pk);
  358. portletItem.setMvccVersion(RandomTestUtil.nextLong());
  359. portletItem.setGroupId(RandomTestUtil.nextLong());
  360. portletItem.setCompanyId(RandomTestUtil.nextLong());
  361. portletItem.setUserId(RandomTestUtil.nextLong());
  362. portletItem.setUserName(RandomTestUtil.randomString());
  363. portletItem.setCreateDate(RandomTestUtil.nextDate());
  364. portletItem.setModifiedDate(RandomTestUtil.nextDate());
  365. portletItem.setName(RandomTestUtil.randomString());
  366. portletItem.setPortletId(RandomTestUtil.randomString());
  367. portletItem.setClassNameId(RandomTestUtil.nextLong());
  368. _portletItems.add(_persistence.update(portletItem));
  369. return portletItem;
  370. }
  371. private List<PortletItem> _portletItems = new ArrayList<PortletItem>();
  372. private PortletItemPersistence _persistence;
  373. private ClassLoader _dynamicQueryClassLoader;
  374. }