@Test @Rollback(value = false) @Transactional(value = TxType.NEVER) public void storeEntity() throws IOException, PreviewTooLongException { Assert.assertEquals(printerProjectDao.getRowCount(), 0); project1 = createPrinterProject( PROJECT_1_NAME, PROJECT_1_DESCRIPTION, PROJECT_1_TAGS, PROJECT_1_CATEGORIES, ImageTools.loadImageFromResource(PROJECT_1_PREVIEW_FILE), PROJECT_1_USER); printerProjectDao.makePersistent(project1); Assert.assertNotNull(project1.getId()); Assert.assertEquals(printerProjectDao.getRowCount(), 1); // Retrieve from database PrinterProject projectRetrieved = printerProjectDao.get(project1.getId()); // Check new object. Assert.assertTrue(comparePrinterProjects(project1, projectRetrieved)); // Add new Project project2 = createPrinterProject( PROJECT_2_NAME, PROJECT_2_DESCRIPTION, PROJECT_2_TAGS, PROJECT_2_CATEGORIES, ImageTools.loadImageFromResource(PROJECT_2_PREVIEW_FILE), PROJECT_2_USER); printerProjectDao.makePersistent(project2); Assert.assertNotNull(project2.getId()); Assert.assertEquals(printerProjectDao.getRowCount(), 2); }
public static PrinterProject createPrinterProject( String name, String description, Set<String> tags, Set<String> categories, byte[] preview, String user) throws PreviewTooLongException { PrinterProject project = new PrinterProject(); project.setName(name); project.setDescription(description); project.setTags(tags); project.setPreview(preview); project.setCategories(categories); project.setCreatedBy(user); return project; }
private boolean comparePrinterProjects(PrinterProject project1, PrinterProject project2) { if ((project1.getName() != null && project2.getName() == null) || (project1.getName() == null && project2.getName() != null)) { return false; } if (project1.getName() != null && project2.getName() != null) { if (!project1.getName().equals(project2.getName())) { return false; } } if ((project1.getDescription() != null && project2.getDescription() == null) || (project1.getDescription() == null && project2.getDescription() != null)) { return false; } if (project1.getDescription() != null && project2.getDescription() != null) { if (!project1.getDescription().equals(project2.getDescription())) { return false; } } if (project1.getTags() != null && project2.getTags() != null) { if (!project1.getTags().equals(project2.getTags())) { return false; } } else if (project1.getTags() == null || project2.getTags() == null) { return false; } if (project1.getCategories() != null && project2.getCategories() != null) { if (!project1.getCategories().equals(project2.getCategories())) { return false; } } else if (project1.getCategories() == null || project2.getCategories() == null) { return false; } if (!Arrays.equals(project1.getPreview(), project2.getPreview())) { return false; } return true; }