diff options
author | rescobar | 2010-11-03 17:46:21 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2010-11-03 17:46:21 +0000 |
commit | 9e30e486b5d9fb291503f12368bd6ed228831812 (patch) | |
tree | 6387304bfa0fc67c80d41e357a64cafc719121fd | |
parent | 489952c3cc822596638d3ecb7d3c793af77e646c (diff) | |
download | org.eclipse.osee-9e30e486b5d9fb291503f12368bd6ed228831812.tar.gz org.eclipse.osee-9e30e486b5d9fb291503f12368bd6ed228831812.tar.xz org.eclipse.osee-9e30e486b5d9fb291503f12368bd6ed228831812.zip |
refinement: Add database test bundle and JoinQuery tests
17 files changed, 704 insertions, 1 deletions
diff --git a/plugins/org.eclipse.osee.framework.database.test/.classpath b/plugins/org.eclipse.osee.framework.database.test/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.osee.framework.database.test/.project b/plugins/org.eclipse.osee.framework.database.test/.project new file mode 100644 index 00000000000..9d2be56021a --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/.project @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osee.framework.database.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.osee.framework.database.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.database.test/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..3c0021d154c --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Osee Database Test +Bundle-SymbolicName: org.eclipse.osee.framework.database.test;singleton:=true +Bundle-Version: 0.9.7.qualifier +Bundle-Vendor: Eclipse.org +Fragment-Host: org.eclipse.osee.framework.database +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Require-Bundle: org.junit4 +Export-Package: org.eclipse.osee.framework.database.test diff --git a/plugins/org.eclipse.osee.framework.database.test/build.properties b/plugins/org.eclipse.osee.framework.database.test/build.properties new file mode 100644 index 00000000000..41eb6ade2b4 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/build.properties @@ -0,0 +1,4 @@ +source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/ArtifactJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/ArtifactJoinQueryTest.java new file mode 100644 index 00000000000..5f75a2c9b31 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/ArtifactJoinQueryTest.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.sql.Timestamp; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link ArtifactJoinQuery} + * + * @author Roberto E. Escobar + */ +public class ArtifactJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + ArtifactJoinQuery join = new ArtifactJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add(1234, 5678); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add(1234, 5678); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(4, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertTrue(entry[1] instanceof Timestamp); + Assert.assertEquals(1234, entry[2]); + Assert.assertEquals(5678, entry[3]); + + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + ArtifactJoinQuery join = new ArtifactJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/CharJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/CharJoinQueryTest.java new file mode 100644 index 00000000000..21ce892168c --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/CharJoinQueryTest.java @@ -0,0 +1,71 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link CharJoinQuery} + * + * @author Roberto E. Escobar + */ +public class CharJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + CharJoinQuery join = new CharJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add("hello"); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add("hello"); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(2, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertEquals("hello", entry[1]); + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + CharJoinQuery join = new CharJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/DatabaseCoreTestSuite.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/DatabaseCoreTestSuite.java new file mode 100644 index 00000000000..320fda4a12e --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/DatabaseCoreTestSuite.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({ + ArtifactJoinQueryTest.class, + CharJoinQueryTest.class, + ExportImportJoinQueryTest.class, + IdJoinQueryTest.class, + SearchTagJoinQueryTest.class, + TagQueueJoinQueryTest.class, + TransactionJoinQueryTest.class}) +/** + * @author Roberto E. Escobar + */ +public class DatabaseCoreTestSuite { + // Test Suite Class +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/ExportImportJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/ExportImportJoinQueryTest.java new file mode 100644 index 00000000000..aab450e313c --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/ExportImportJoinQueryTest.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.sql.Timestamp; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link ExportImportJoinQuery} + * + * @author Roberto E. Escobar + */ +public class ExportImportJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + ExportImportJoinQuery join = new ExportImportJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add(1234L, 5678L); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add(1234L, 5678L); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(4, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertTrue(entry[1] instanceof Timestamp); + Assert.assertEquals(1234L, entry[2]); + Assert.assertEquals(5678L, entry[3]); + + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + ExportImportJoinQuery join = new ExportImportJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/IdJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/IdJoinQueryTest.java new file mode 100644 index 00000000000..62f61fad083 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/IdJoinQueryTest.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.sql.Timestamp; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link IdJoinQuery} + * + * @author Roberto E. Escobar + */ +public class IdJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + IdJoinQuery join = new IdJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add(1234); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add(1234); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(3, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertTrue(entry[1] instanceof Timestamp); + Assert.assertEquals(1234, entry[2]); + + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + IdJoinQuery join = new IdJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/SearchTagJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/SearchTagJoinQueryTest.java new file mode 100644 index 00000000000..04f635503f5 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/SearchTagJoinQueryTest.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.sql.Timestamp; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link SearchTagJoinQuery} + * + * @author Roberto E. Escobar + */ +public class SearchTagJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + SearchTagJoinQuery join = new SearchTagJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add(1234L); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add(1234L); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(3, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertTrue(entry[1] instanceof Timestamp); + Assert.assertEquals(1234L, entry[2]); + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + SearchTagJoinQuery join = new SearchTagJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/TagQueueJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/TagQueueJoinQueryTest.java new file mode 100644 index 00000000000..a1e1cb0f4ed --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/TagQueueJoinQueryTest.java @@ -0,0 +1,74 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.sql.Timestamp; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link TagQueueJoinQuery} + * + * @author Roberto E. Escobar + */ +public class TagQueueJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + TagQueueJoinQuery join = new TagQueueJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add(1234L); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add(1234L); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(3, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertTrue(entry[1] instanceof Timestamp); + Assert.assertEquals(1234L, entry[2]); + + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + TagQueueJoinQuery join = new TagQueueJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/TransactionJoinQueryTest.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/TransactionJoinQueryTest.java new file mode 100644 index 00000000000..ba25a2a3936 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/core/TransactionJoinQueryTest.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.core; + +import java.sql.Timestamp; +import java.util.List; +import junit.framework.Assert; +import org.eclipse.osee.framework.core.exception.OseeCoreException; +import org.eclipse.osee.framework.core.exception.OseeDataStoreException; +import org.eclipse.osee.framework.database.test.mocks.MockJoinAccessor; +import org.junit.Test; + +/** + * Test Case for {@link TransactionJoinQuery} + * + * @author Roberto E. Escobar + */ +public class TransactionJoinQueryTest { + + @Test + public void testAdd() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + TransactionJoinQuery join = new TransactionJoinQuery(joinAccessor, 999); + Assert.assertEquals(0, join.size()); + Assert.assertEquals(true, join.isEmpty()); + + join.add(1234L, 5678); + Assert.assertEquals(1, join.size()); + Assert.assertEquals(false, join.isEmpty()); + + join.add(1234L, 5678); + Assert.assertEquals(1, join.size()); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(999, joinAccessor.getQueryId()); + + List<Object[]> data = joinAccessor.getDataList(); + Assert.assertEquals(1, data.size()); + + Object[] entry = data.get(0); + Assert.assertEquals(4, entry.length); + Assert.assertEquals(999, entry[0]); + Assert.assertTrue(entry[1] instanceof Timestamp); + Assert.assertEquals(1234L, entry[2]); + Assert.assertEquals(5678, entry[3]); + + } + + @Test(expected = OseeDataStoreException.class) + public void testStoreTwice() throws OseeCoreException { + MockJoinAccessor joinAccessor = new MockJoinAccessor(); + TransactionJoinQuery join = new TransactionJoinQuery(joinAccessor, 1000); + + Assert.assertEquals(false, join.wasStored()); + join.store(); + Assert.assertEquals(true, join.wasStored()); + + Assert.assertNull(joinAccessor.getConnection()); + Assert.assertEquals(1000, joinAccessor.getQueryId()); + + join.store(); + } +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/test/DatabaseTestSuite.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/test/DatabaseTestSuite.java new file mode 100644 index 00000000000..aea4cd6328f --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/test/DatabaseTestSuite.java @@ -0,0 +1,24 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.framework.database.test; + +import org.eclipse.osee.framework.database.core.DatabaseCoreTestSuite; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; + +@RunWith(Suite.class) +@Suite.SuiteClasses({DatabaseCoreTestSuite.class}) +/** + * @author Roberto E. Escobar + */ +public class DatabaseTestSuite { + // Test Suite Class +} diff --git a/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/test/mocks/MockJoinAccessor.java b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/test/mocks/MockJoinAccessor.java new file mode 100644 index 00000000000..a411eea5e21 --- /dev/null +++ b/plugins/org.eclipse.osee.framework.database.test/src/org/eclipse/osee/framework/database/test/mocks/MockJoinAccessor.java @@ -0,0 +1,79 @@ +/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.database.test.mocks;
+
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.database.core.DatabaseJoinAccessor.JoinItem;
+import org.eclipse.osee.framework.database.core.IJoinAccessor;
+import org.eclipse.osee.framework.database.core.OseeConnection;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class MockJoinAccessor implements IJoinAccessor {
+
+ private OseeConnection connection;
+ private JoinItem joinItem;
+ private int queryId;
+ private List<Object[]> dataList;
+
+ @SuppressWarnings("unused")
+ @Override
+ public void store(OseeConnection connection, JoinItem joinItem, int queryId, List<Object[]> dataList) throws OseeCoreException {
+ this.connection = connection;
+ this.joinItem = joinItem;
+ this.queryId = queryId;
+ this.dataList = dataList;
+ }
+
+ @SuppressWarnings("unused")
+ @Override
+ public int delete(OseeConnection connection, JoinItem joinItem, int queryId) throws OseeCoreException {
+ this.connection = connection;
+ this.joinItem = joinItem;
+ this.queryId = queryId;
+ return 0;
+ }
+
+ @SuppressWarnings("unused")
+ @Override
+ public Collection<Integer> getAllQueryIds(OseeConnection connection, JoinItem joinItem) throws OseeCoreException {
+ this.connection = connection;
+ this.joinItem = joinItem;
+ return null;
+ }
+
+ public void clear() {
+ connection = null;
+ joinItem = null;
+ dataList = null;
+ queryId = -1;
+ }
+
+ public OseeConnection getConnection() {
+ return connection;
+ }
+
+ public JoinItem getJoinItem() {
+ return joinItem;
+ }
+
+ public int getQueryId() {
+ return queryId;
+ }
+
+ public List<Object[]> getDataList() {
+ return dataList;
+ }
+
+}
\ No newline at end of file diff --git a/plugins/org.eclipse.osee.framework.database/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.database/META-INF/MANIFEST.MF index cbaa60a57ae..1d48fa8071d 100644 --- a/plugins/org.eclipse.osee.framework.database/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.framework.database/META-INF/MANIFEST.MF @@ -8,6 +8,7 @@ Export-Package: org.eclipse.osee.framework.database, org.eclipse.osee.framework.database.core, org.eclipse.osee.framework.database.operation Bundle-ActivationPolicy: lazy +Eclipse-ExtensibleAPI: true Bundle-Vendor: Eclipse Open System Engineering Environment Import-Package: org.eclipse.core.runtime, org.eclipse.core.runtime.jobs, diff --git a/plugins/org.eclipse.osee.framework.server.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.server.tests/META-INF/MANIFEST.MF index 4bd9abb0e93..07a0131385d 100644 --- a/plugins/org.eclipse.osee.framework.server.tests/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.osee.framework.server.tests/META-INF/MANIFEST.MF @@ -8,17 +8,18 @@ Bundle-Vendor: Eclipse Open System Engineering Environment Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Import-Package: org.eclipse.osee.framework.branch.management.test, org.eclipse.osee.framework.core.datastore.test, + org.eclipse.osee.framework.core.dsl.integration.test, org.eclipse.osee.framework.core.message.test, org.eclipse.osee.framework.core.model.test, org.eclipse.osee.framework.core.server.test, org.eclipse.osee.framework.core.test, + org.eclipse.osee.framework.database.test, org.eclipse.osee.framework.jdk.core.test, org.eclipse.osee.framework.lifecycle.test, org.eclipse.osee.framework.resource.locator.attribute.test, org.eclipse.osee.framework.resource.management.test, org.eclipse.osee.framework.resource.provider.attribute.test, org.eclipse.osee.framework.search.engine.test, - org.eclipse.osee.framework.core.dsl.integration.test, org.osgi.framework;version="1.3.0" Bundle-ActivationPolicy: lazy Require-Bundle: org.junit4;bundle-version="4.5.0" diff --git a/plugins/org.eclipse.osee.framework.server.tests/src/org/eclipse/osee/framework/server/tests/AllServerTestsSuite.java b/plugins/org.eclipse.osee.framework.server.tests/src/org/eclipse/osee/framework/server/tests/AllServerTestsSuite.java index b767dc66930..e7aa0293838 100644 --- a/plugins/org.eclipse.osee.framework.server.tests/src/org/eclipse/osee/framework/server/tests/AllServerTestsSuite.java +++ b/plugins/org.eclipse.osee.framework.server.tests/src/org/eclipse/osee/framework/server/tests/AllServerTestsSuite.java @@ -17,6 +17,7 @@ import org.eclipse.osee.framework.core.message.test.AllCoreMessageTestSuite; import org.eclipse.osee.framework.core.model.test.AllCoreModelTestSuite; import org.eclipse.osee.framework.core.server.test.CoreServerTestSuite; import org.eclipse.osee.framework.core.test.FrameworkCoreTestSuite; +import org.eclipse.osee.framework.database.test.DatabaseTestSuite; import org.eclipse.osee.framework.jdk.core.test.JdkCoreTestSuite; import org.eclipse.osee.framework.lifecycle.test.AllLifecycleTestSuite; import org.eclipse.osee.framework.resource.locator.attribute.test.AttributeLocatorProviderTestSuite; @@ -33,6 +34,7 @@ import org.junit.runners.Suite; @Suite.SuiteClasses({ JdkCoreTestSuite.class, FrameworkCoreTestSuite.class, + DatabaseTestSuite.class, AllCoreModelTestSuite.class, AllCoreDatastoreTestSuite.class, AllCoreMessageTestSuite.class, |