--- /dev/null
+package user.jobengine.db;\r
+\r
+import static org.junit.Assert.assertEquals;\r
+import static org.junit.Assert.assertNotNull;\r
+import static org.junit.Assert.assertNull;\r
+import static org.junit.Assert.assertTrue;\r
+\r
+import java.sql.Timestamp;\r
+import java.util.Arrays;\r
+import java.util.Calendar;\r
+import java.util.List;\r
+\r
+import org.junit.Test;\r
+\r
+import sqlj.runtime.ref.DefaultContext;\r
+import user.commons.CalendarUtils;\r
+import user.commons.IEntityBase;\r
+import user.commons.StoreUri;\r
+import user.commons.remotestore.RemoteStoreProtocol;\r
+import user.jobengine.db.data.TestDB;\r
+\r
+public class TestItem extends TestBase {\r
+\r
+ //@BeforeClass\r
+ public static void initialize() {\r
+ if (manager.getItemType("Visszarögzített") == null)\r
+ manager.createItemType("Visszarögzített", "Visszarögzített").add();\r
+\r
+ // TestDB.createStructure();\r
+ // TestDB.createItemTypes();\r
+ if (manager.getStaticItemType() == null)\r
+ TestDB.createStaticItemTypes();\r
+ if (manager.getItemType("Generic") == null)\r
+ manager.createItemType("Generic", "Generic").add();\r
+\r
+ if (manager.getStore("TSM") == null) {\r
+ Store store = manager.createStore("TSM", true, false);\r
+ StoreUri storeUri = manager.createStoreUri(RemoteStoreProtocol.TSM, "MEDIACUBE");\r
+ storeUri.setSource(true);\r
+ storeUri.setTarget(true);\r
+ storeUri.setUserName("mediacube");\r
+ storeUri.setPassword("password");\r
+ store.appendStoreUri(storeUri);\r
+ store.add();\r
+ }\r
+ if (manager.getStore("Low-res") == null) {\r
+ Store store = manager.createStore("Low-res", true, true);\r
+ StoreUri storeUri = manager.createStoreUri(RemoteStoreProtocol.LOCAL, "/mediacube/data/lowres/www/video/");\r
+ storeUri.setSource(true);\r
+ storeUri.setTarget(true);\r
+ store.appendStoreUri(storeUri);\r
+ storeUri = manager.createStoreUri(RemoteStoreProtocol.SMB, "\\\\10.10.1.26\\mclowres\\www\\video");\r
+ storeUri.setSource(true);\r
+ storeUri.setTarget(false);\r
+ store.appendStoreUri(storeUri);\r
+ store.add();\r
+ }\r
+ StoreUri storeUri = manager.createStoreUri(RemoteStoreProtocol.HTTP, "10.10.1.28/video");\r
+ storeUri.setPortNumber(90);\r
+ storeUri.setSource(true);\r
+ storeUri.setTarget(false);\r
+ manager.getStore("Low-res").appendStoreUri(storeUri);\r
+ manager.getStore("Low-res").setPersister(manager);\r
+ manager.getStore("Low-res").add();\r
+\r
+ if (manager.getFileType("High-res") == null) {\r
+ FileType fileType = manager.createFileType("High-res", "High resolution material", "MPEG Video", "PCM", 1, 8, 25);\r
+ fileType.add();\r
+ }\r
+ if (manager.getFileType("Low-res") == null) {\r
+ FileType fileType = manager.createFileType("Low-res", "Low resolution material", "MPEG-4", "AAC", 1, 4, 25);\r
+ fileType.add();\r
+ }\r
+\r
+ // if (manager.getStore("Local video") == null) {\r
+ // Store store = manager.createStore("Local video", false, false);\r
+ // StoreUri storeUri = manager.createStoreUri(RemoteStoreProtocol.HTTP, "localhost/lowres/");\r
+ // store.appendStoreUri(storeUri);\r
+ // store.add();\r
+ // }\r
+ // if (manager.getFileType("Lowres") == null) {\r
+ // FileType fileType = manager.createFileType("Lowres", "Streamable low-res video, 512Kbps", "WMVA", "WMA", 1,\r
+ // 1, 25);\r
+ // fileType.add();\r
+ // }\r
+\r
+ }\r
+\r
+ @Test\r
+ public void testCreate() {\r
+ // Fixture\r
+ Item sut = manager.createItem("Adásanyag light", "Ötödik elem", "Scifi", null);\r
+\r
+ // Exercise\r
+ sut.add();\r
+\r
+ // Verify\r
+ assertTrue(sut.getId() > 0);\r
+ }\r
+\r
+ @Test\r
+ public void testCreateFull() {\r
+ // manager.truncate();\r
+ Item item = manager.createItem("Generic", "Ötödik elem", "Scifi", "");\r
+ item.add();\r
+\r
+ Media media = manager.createMedia("Generic", "Média1", "Nagyon frankó kis mozi.", null);\r
+ item.appendMedia(media);\r
+ item.add();\r
+\r
+ MediaFile mf = manager.createMediaFile("low.wmv", manager.getFileType("Lowres"), manager.getStore("Local video"), media);\r
+ mf.add();\r
+ }\r
+\r
+ @Test\r
+ public void testCreateManyAndSearch() {\r
+\r
+ if (manager.getStaticItemType() == null)\r
+ TestDB.createStaticItemTypes();\r
+\r
+ for (int i = 0; i < 1000; i++) {\r
+ Item sut = manager.createItem("Default", "Hatodik elem" + i, "Scifi", i + "");\r
+ sut.add();\r
+ assertTrue(sut.getId() > 0);\r
+ System.out.println("Item created: " + i);\r
+ }\r
+\r
+ SearchResult<Item> search = manager.searchItem("elem", 0, 9);\r
+ assertEquals(10, search.getItemCount());\r
+\r
+ for (Item item : search.getItems()) {\r
+ System.out.println(item.getTitle());\r
+ }\r
+ }\r
+\r
+ @Test\r
+ public void testCreateManyFull() {\r
+ // manager.truncate();\r
+\r
+ for (int i = 0; i < 1000; i++) {\r
+ Item item = manager.createItem("Generic", "Ötödik elem " + i, "Scifi", i + "");\r
+ item.add();\r
+\r
+ Media media = manager.createMedia("Generic", "Média1", "Nagyon frankó kis mozi.", null);\r
+ item.appendMedia(media);\r
+ item.add();\r
+\r
+ MediaFile mf = manager.createMediaFile("low.wmv", manager.getFileType("Lowres"), manager.getStore("Local video"), media);\r
+ mf.add();\r
+\r
+ System.out.println("Item created: " + i);\r
+ }\r
+ }\r
+\r
+ @Test\r
+ public void testCreateWithAttribute() {\r
+ // L�trehoz�s, dinamikus attrib�tummal.\r
+ // Fixture\r
+ Item sut = manager.createItem("Film", "Hatodik érzék", "Scifi", null);\r
+ String value1 = "Kalapács Miklós";\r
+ String value2 = "Hagyó Zsuzsanna";\r
+ int value3 = 2000;\r
+\r
+ sut.setAttribute("Főszereplő", value1);\r
+ sut.setAttribute("Szinkron", value2);\r
+ sut.setAttribute("Gyártás éve", value3);\r
+\r
+ // Exercise\r
+ sut.add();\r
+\r
+ // Verify\r
+ assertTrue(sut.getId() > 0);\r
+\r
+ Item actual = (Item) manager.get(Item.class, sut.getId());\r
+ assertEquals(value1, actual.getAttribute("Főpszereplő"));\r
+ assertEquals(value2, actual.getAttribute("Szinkron"));\r
+ assertEquals(value3, actual.getAttribute("Gyártás éve"));\r
+ }\r
+\r
+ @Test\r
+ @SuppressWarnings("unchecked")\r
+ public void testCreateWithDomainAttribute() {\r
+ // Fixture\r
+ Item sut = null;\r
+ sut = manager.createItem("Domain", "Domain teszt record", "Scifi", null);\r
+ sut.setAttribute("Szereplők", Arrays.asList(new Domain("Kovács Gizi"), new Domain("Szekér Ivett"), new Domain("Hanka Barbara")));\r
+\r
+ // Exercise\r
+ sut.add();\r
+\r
+ // Verify\r
+ List<Domain> domains = (List<Domain>) sut.getAttribute("Szereplők");\r
+\r
+ assertNotNull(domains);\r
+ assertEquals(3, domains.size());\r
+ for (Domain d : domains) {\r
+ assertTrue(d.getId() > 0);\r
+ assertTrue(d.getDomainCategoryId() > 0);\r
+ }\r
+ }\r
+\r
+ @Test(expected = ItemManagerException.class)\r
+ public void testCreateWithUniqueAttribute() {\r
+ // L�trehoz�s, unique dinamikus attrib�tummal.\r
+ // Az els� besz�r�s sikeres, a m�sodik nem, mert a mez� UNIQUE\r
+ // Fixture\r
+ Item sut = null;\r
+ sut = manager.createItem("Adásanyag", "Nyolcadik kör", "Scifi", null);\r
+ sut.setAttribute("Kameraállás", "bal");\r
+ sut.setAttribute("Csatorna", 3);\r
+ sut.add();\r
+\r
+ sut = manager.createItem("Adásanyag", "Kilencedik ház", "Scifi", null);\r
+ sut.setAttribute("Kameraállás", "bal");\r
+ sut.setAttribute("Csatorna", 3);\r
+\r
+ // Exercise, Verify\r
+ sut.add();\r
+ }\r
+\r
+ @Test\r
+ public void testCreateWorkflowActions_and_search() {\r
+ // manager.truncate(WorkflowAction.class);\r
+ // String[] tags = { "INGEST", "ARCHIVE", "TRANSCODE" };\r
+ // for (int i = 0; i < 1000; i++) {\r
+ // Calendar touched = Calendar.getInstance();\r
+ // Calendar started = Calendar.getInstance();\r
+ // Calendar finished = Calendar.getInstance();\r
+ // finished.add(Calendar.HOUR_OF_DAY, 1);\r
+ // String houseId = "house" + i % 10;\r
+ // WorkflowAction item = manager.createWorkflowAction(new Timestamp(touched.getTimeInMillis()),\r
+ // new Timestamp(started.getTimeInMillis()), new Timestamp(finished.getTimeInMillis()), true, houseId,\r
+ // houseId, houseId, houseId, tags[i % 3], 1000);\r
+ // item.add();\r
+ // System.out.println("Created " + i + " id: " + item.getId());\r
+ // }\r
+ //\r
+ WorkflowActionDAO dao = (WorkflowActionDAO) manager.getBaseDAO(WorkflowAction.class);\r
+\r
+ Calendar begin = CalendarUtils.createZeroCalendar();\r
+ Calendar end = CalendarUtils.createZeroCalendar();\r
+ end.add(Calendar.DAY_OF_YEAR, 1);\r
+ List<IEntityBase> workflowActions = dao.getWorkflowActions(new Timestamp(begin.getTimeInMill
\ No newline at end of file