summaryrefslogtreecommitdiff
path: root/orktrack/src/net/sf/oreka/orktrack/test/ProgramTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'orktrack/src/net/sf/oreka/orktrack/test/ProgramTest.java')
-rw-r--r--orktrack/src/net/sf/oreka/orktrack/test/ProgramTest.java128
1 files changed, 128 insertions, 0 deletions
diff --git a/orktrack/src/net/sf/oreka/orktrack/test/ProgramTest.java b/orktrack/src/net/sf/oreka/orktrack/test/ProgramTest.java
new file mode 100644
index 0000000..8195398
--- /dev/null
+++ b/orktrack/src/net/sf/oreka/orktrack/test/ProgramTest.java
@@ -0,0 +1,128 @@
+/*
+ * Oreka -- A media capture and retrieval platform
+ *
+ * Copyright (C) 2005, orecx LLC
+ *
+ * http://www.orecx.com
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License.
+ * Please refer to http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+package net.sf.oreka.orktrack.test;
+
+import java.util.Iterator;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import net.sf.oreka.Direction;
+import net.sf.oreka.HibernateManager;
+import net.sf.oreka.orktrack.OrkTrack;
+import net.sf.oreka.orktrack.ProgramManager;
+import net.sf.oreka.persistent.LoginString;
+import net.sf.oreka.persistent.RecProgram;
+import net.sf.oreka.persistent.RecSegment;
+import net.sf.oreka.persistent.User;
+
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+
+public class ProgramTest extends TestCase {
+
+ public static void main (String[] args) {
+ junit.textui.TestRunner.run (suite());
+ }
+ protected void setUp() throws Exception {
+ OrkTrack.initialize("C:/oreka/log4j.properties", "C:/oreka/mysql.hbm.xml", "C:/oreka/orktrack.config.xml");
+ }
+ public static Test suite() {
+ return new TestSuite(ProgramTest.class);
+ }
+
+ public void test1() throws Exception {
+
+
+ Session hbnSession = HibernateManager.getSession();
+ Transaction tx = hbnSession.beginTransaction();
+
+ // create a user
+ User user = new User();
+ user.setFirstname("mawagade");
+ hbnSession.save(user);
+ LoginString ls = new LoginString();
+ ls.setLoginString("1234");
+ ls.setUser(user);
+ hbnSession.save(ls);
+
+ // create a program
+ RecProgram prog1 = new RecProgram();
+ prog1.setDirection(Direction.IN);
+ prog1.setTargetUser(user);
+ hbnSession.save(prog1);
+
+ tx.commit();
+ hbnSession.close();
+
+ ProgramManager.instance().load();
+
+ RecSegment seg = new RecSegment();
+ seg.setDirection(Direction.IN);
+ seg.setUser(user);
+
+ hbnSession = HibernateManager.getSession();
+ tx = hbnSession.beginTransaction();
+ if (ProgramManager.instance().filterSegmentAgainstAllPrograms(seg, hbnSession)) {
+ hbnSession.save(seg);
+ }
+ tx.commit();
+ hbnSession.close();
+
+ // verify result
+ hbnSession = HibernateManager.getSession();
+ tx = hbnSession.beginTransaction();
+ RecProgram prog = (RecProgram)hbnSession.load(RecProgram.class, prog1.getId());
+ assertTrue(prog.getRecordedSoFar() == 1);
+ Iterator<RecSegment> it = prog.getRecSegments().iterator();
+ assertTrue(it.next().getId() == seg.getId());
+ tx.commit();
+ hbnSession.close();
+ }
+
+// public void testManyToMany() throws Exception {
+//
+// Session hbnSession = HibernateManager.getSession();
+// Transaction tx = hbnSession.beginTransaction();
+//
+// // Create two programs
+// RecProgram prog1 = new RecProgram();
+// hbnSession.save(prog1);
+// RecProgram prog2 = new RecProgram();
+// hbnSession.save(prog2);
+//
+// // create 1000 segments
+// for(int i=0; i<1000; i++) {
+// RecSegment seg = new RecSegment();
+// seg.getRecPrograms().add(prog1);
+// seg.getRecPrograms().add(prog2);
+// hbnSession.save(seg);
+// }
+//
+// tx.commit();
+// hbnSession.close();
+//
+// hbnSession = HibernateManager.getSession();
+// tx = hbnSession.beginTransaction();
+//
+// // create a new segment and add it to the program
+// RecProgram prog = (RecProgram)hbnSession.load(RecProgram.class, prog2.getId());
+// RecSegment seg = new RecSegment();
+// seg.getRecPrograms().add(prog);
+// hbnSession.save(seg);
+//
+// tx.commit();
+// hbnSession.close();
+// }
+}