From 36df04342f2cb7be3f7eae00062d00587c288be3 Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Fri, 5 Jan 2018 14:39:05 +0100 Subject: [PATCH] no-jira: fix unit tests for video, make them run several times, implement hashCode and equals method for VideoMeta object... --- .../modules/video/model/VideoMetaImpl.java | 41 ++++++++--------- .../video/manager/VideoMetadataDAOTest.java | 45 ++++++++++--------- .../manager/VideoTranscodingDAOTest.java | 4 +- 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java b/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java index e9d6e04fea8..5066c4bf357 100644 --- a/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java +++ b/src/main/java/org/olat/modules/video/model/VideoMetaImpl.java @@ -77,20 +77,6 @@ public class VideoMetaImpl implements VideoMeta, Persistable, ModifiedInfo { @Column(name="vid_length", nullable=true, insertable=true, updatable=true) private String length; - - - public VideoMetaImpl(OLATResource videoResource, int width, int height, long size, String format, String length) { - super(); - this.creationDate = new Date(); - this.lastModified = new Date(); - this.videoResource = videoResource; - this.width = width; - this.height = height; - this.size = size; - this.format = format; - this.length = length; - } - public VideoMetaImpl(int width, int height, long size) { this.width = width; this.height = height; @@ -121,11 +107,6 @@ public class VideoMetaImpl implements VideoMeta, Persistable, ModifiedInfo { this.lastModified = date; } - @Override - public boolean equalsByPersistableKey(Persistable persistable) { - return false; - } - @Override public Long getKey() { return key; @@ -190,6 +171,26 @@ public class VideoMetaImpl implements VideoMeta, Persistable, ModifiedInfo { public void setLength(String length) { this.length = length; } + + @Override + public int hashCode() { + return key == null ? 237865 : key.hashCode(); + } + @Override + public boolean equals(Object obj) { + if(obj == this) { + return true; + } + if(obj instanceof VideoMetaImpl) { + VideoMetaImpl meta = (VideoMetaImpl)obj; + return key != null && key.equals(meta.key); + } + return false; + } -} + @Override + public boolean equalsByPersistableKey(Persistable persistable) { + return equals(persistable); + } +} \ No newline at end of file diff --git a/src/test/java/org/olat/modules/video/manager/VideoMetadataDAOTest.java b/src/test/java/org/olat/modules/video/manager/VideoMetadataDAOTest.java index f43aaa38176..8ac3d7d76bd 100644 --- a/src/test/java/org/olat/modules/video/manager/VideoMetadataDAOTest.java +++ b/src/test/java/org/olat/modules/video/manager/VideoMetadataDAOTest.java @@ -43,26 +43,23 @@ public class VideoMetadataDAOTest extends OlatTestCase { private DB dbInstance; @Autowired private VideoMetadataDAO videoMetadataDao; - @Test public void createVideoMetadata () { - RepositoryEntry entry = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry entry1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry entry2 = JunitTestHelper.createAndPersistRepositoryEntry(); + //create metadata entries - VideoMeta meta = videoMetadataDao.createVideoMetadata(entry, 1500, "vid.mp4"); - Assert.assertNotNull(meta); - VideoMeta meta1 = videoMetadataDao.createVideoMetadata(entry1, 5500, "vid.mov"); + VideoMeta meta1 = videoMetadataDao.createVideoMetadata(entry1, 1500, "vid.mp4"); Assert.assertNotNull(meta1); - dbInstance.commitAndCloseSession(); - //retrieve by olatresource - VideoMeta meta2 = videoMetadataDao.getVideoMetadata(entry.getOlatResource()); + VideoMeta meta2 = videoMetadataDao.createVideoMetadata(entry2, 5500, "vid.mov"); Assert.assertNotNull(meta2); - Assert.assertTrue(meta2.getSize() == 1500); - //update value - meta2.setSize(2500); - Assert.assertTrue(meta2.getSize() == 2500); dbInstance.commitAndCloseSession(); + + //retrieve by olat resource + VideoMeta reloadMeta1 = videoMetadataDao.getVideoMetadata(entry1.getOlatResource()); + Assert.assertNotNull(reloadMeta1); + Assert.assertEquals(1500, reloadMeta1.getSize()); } @Test @@ -71,6 +68,7 @@ public class VideoMetadataDAOTest extends OlatTestCase { RepositoryEntry entry1 = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry entry2 = JunitTestHelper.createAndPersistRepositoryEntry(); RepositoryEntry entry3 = JunitTestHelper.createAndPersistRepositoryEntry(); + //create metadata entries VideoMeta meta0 = videoMetadataDao.createVideoMetadata(entry0, 1500, "vid.mp4"); VideoMeta meta1 = videoMetadataDao.createVideoMetadata(entry1, 1100, "vide.mp4"); @@ -81,22 +79,27 @@ public class VideoMetadataDAOTest extends OlatTestCase { Assert.assertNotNull(meta2); Assert.assertNotNull(meta0); dbInstance.commitAndCloseSession(); + //retrieve list of entries List<VideoMetaImpl> metadata = videoMetadataDao.getAllVideoResourcesMetadata(); - Assert.assertEquals(4, metadata.size()); - dbInstance.commitAndCloseSession(); + Assert.assertTrue(metadata.contains(meta0)); + Assert.assertTrue(metadata.contains(meta1)); + Assert.assertTrue(metadata.contains(meta2)); + Assert.assertTrue(metadata.contains(meta3)); + //delete entries int deleted0 = videoMetadataDao.deleteVideoMetadata(entry0.getOlatResource()); - int deleted1 = videoMetadataDao.deleteVideoMetadata(entry3.getOlatResource()); + int deleted3 = videoMetadataDao.deleteVideoMetadata(entry3.getOlatResource()); Assert.assertEquals(1, deleted0); - Assert.assertNotEquals(0, deleted1); + Assert.assertNotEquals(0, deleted3); dbInstance.commitAndCloseSession(); + //retrieve new list - List<VideoMetaImpl> metadata1 = videoMetadataDao.getAllVideoResourcesMetadata(); - Assert.assertEquals(2, metadata1.size()); - Assert.assertEquals("mov", metadata1.get(1).getFormat()); - Assert.assertEquals(1100, metadata1.get(0).getSize()); - dbInstance.commitAndCloseSession(); + List<VideoMetaImpl> deleteMetadata = videoMetadataDao.getAllVideoResourcesMetadata(); + Assert.assertFalse(deleteMetadata.contains(meta0)); + Assert.assertTrue(deleteMetadata.contains(meta1)); + Assert.assertTrue(deleteMetadata.contains(meta2)); + Assert.assertFalse(deleteMetadata.contains(meta3)); } } diff --git a/src/test/java/org/olat/modules/video/manager/VideoTranscodingDAOTest.java b/src/test/java/org/olat/modules/video/manager/VideoTranscodingDAOTest.java index 978d939fdb2..af04a38c16f 100644 --- a/src/test/java/org/olat/modules/video/manager/VideoTranscodingDAOTest.java +++ b/src/test/java/org/olat/modules/video/manager/VideoTranscodingDAOTest.java @@ -71,8 +71,8 @@ public class VideoTranscodingDAOTest extends OlatTestCase { // check for overall pending transcodings List<VideoTranscoding> vTranscodingList2 = videoTranscodingDao.getVideoTranscodingsPendingAndInProgress(); Assert.assertNotNull(vTranscodingList2); - Assert.assertEquals(1, vTranscodingList2.size()); - Assert.assertEquals(vTranscoding, vTranscodingList2.get(0)); + Assert.assertTrue(vTranscodingList2.size() >= 1); + Assert.assertTrue(vTranscodingList2.contains(vTranscoding)); } @Test -- GitLab