You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2015/11/07 01:42:57 UTC
svn commit: r1713056 - in
/tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session:
TestPrincipal.java TestSerializablePrincipal.java TesterPrincipal.java
Author: kkolinko
Date: Sat Nov 7 00:42:56 2015
New Revision: 1713056
URL: http://svn.apache.org/viewvc?rev=1713056&view=rev
Log:
Convert test class to JUnit4 and sync with Tomcat 7
Added:
tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TesterPrincipal.java
- copied, changed from r1713051, tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestPrincipal.java
Removed:
tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestPrincipal.java
Modified:
tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java
Modified: tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java?rev=1713056&r1=1713055&r2=1713056&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java (original)
+++ tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java Sat Nov 7 00:42:56 2015
@@ -27,66 +27,101 @@ import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.fail;
+
+import org.junit.Test;
+
import org.apache.catalina.realm.GenericPrincipal;
-import junit.framework.TestCase;
-public class TestSerializablePrincipal extends TestCase {
+public class TestSerializablePrincipal {
/**
* Simple serialization / de-serialization test for bug 43840.
*/
+ @SuppressWarnings("null")
+ @Test
public void testWriteReadPrincipal() {
- // Get a temporary file to use for the serialization test
- File file = null;
- try {
- file = File.createTempFile("ser", null);
- file.deleteOnExit();
- } catch (IOException e) {
- e.printStackTrace();
- fail("ioe creating temporary file");
+
+ File tempDir = new File(System.getProperty("tomcat.test.temp", "output/tmp"));
+ if (!tempDir.mkdirs() && !tempDir.isDirectory()) {
+ fail("Unable to create temporary directory for test");
}
-
+
// Create the Principal to serialize
List<String> roles = new ArrayList<String>();
roles.add("RoleA");
roles.add("RoleB");
- TestPrincipal tpOriginal = new TestPrincipal("inner");
+ TesterPrincipal tpOriginal = new TesterPrincipal("inner");
GenericPrincipal gpOriginal =
new GenericPrincipal(null, "usr", "pwd", roles, tpOriginal);
-
- // Do the serialization
+
+ // Get a temporary file to use for the serialization test
+ File file = null;
try {
- FileOutputStream fos = new FileOutputStream(file);
- ObjectOutputStream oos = new ObjectOutputStream(fos);
- SerializablePrincipal.writePrincipal(gpOriginal, oos);
- oos.close();
- fos.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- fail("fnfe creating object output stream");
+ file = File.createTempFile("ser", null, tempDir);
} catch (IOException e) {
e.printStackTrace();
- fail("ioe serializing principal");
+ fail("ioe creating temporary file");
}
-
- // De-serialize the Principal
+
GenericPrincipal gpNew = null;
try {
- FileInputStream fis = new FileInputStream(file);
- ObjectInputStream ois = new ObjectInputStream(fis);
- gpNew = SerializablePrincipal.readPrincipal(ois, null);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- fail("fnfe reading object output stream");
- } catch (IOException e) {
- e.printStackTrace();
- fail("ioe de-serializing principal");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- fail("cnfe de-serializing principal");
+ // Do the serialization
+ FileOutputStream fos = null;
+ try {
+ fos = new FileOutputStream(file);
+ ObjectOutputStream oos = new ObjectOutputStream(fos);
+ SerializablePrincipal.writePrincipal(gpOriginal, oos);
+ oos.close();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ fail("fnfe creating object output stream");
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("ioe serializing principal");
+ } finally {
+ if (fos != null) {
+ try {
+ fos.close();
+ } catch (IOException ignored) {
+ // NO OP
+ }
+ }
+ }
+
+ // De-serialize the Principal
+ FileInputStream fis = null;
+ try {
+ fis = new FileInputStream(file);
+ ObjectInputStream ois = new ObjectInputStream(fis);
+ gpNew = SerializablePrincipal.readPrincipal(ois, null);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ fail("fnfe reading object output stream");
+ } catch (IOException e) {
+ e.printStackTrace();
+ fail("ioe de-serializing principal");
+ } catch (ClassNotFoundException e) {
+ e.printStackTrace();
+ fail("cnfe de-serializing principal");
+ } finally {
+ if (fis != null) {
+ try {
+ fis.close();
+ } catch (IOException ignored) {
+ // NO OP
+ }
+ }
+ }
+ } finally {
+ if (!file.delete()) {
+ System.out.println("Failed to delete " + file);
+ }
}
-
+
// Now test how similar original and de-serialized versions are
assertEquals("User names different", gpOriginal.getName(),
gpNew.getName());
Copied: tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TesterPrincipal.java (from r1713051, tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestPrincipal.java)
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TesterPrincipal.java?p2=tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TesterPrincipal.java&p1=tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestPrincipal.java&r1=1713051&r2=1713056&rev=1713056&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TestPrincipal.java (original)
+++ tomcat/tc6.0.x/trunk/test/org/apache/catalina/ha/session/TesterPrincipal.java Sat Nov 7 00:42:56 2015
@@ -20,16 +20,18 @@ package org.apache.catalina.ha.session;
import java.io.Serializable;
import java.security.Principal;
-public class TestPrincipal implements Principal, Serializable {
-
+public class TesterPrincipal implements Principal, Serializable {
+
+ private static final long serialVersionUID = 1L;
+
private String name;
- public TestPrincipal(String theName) {
+ public TesterPrincipal(String theName) {
name = theName;
}
-
+
public String getName() {
return name;
}
-
+
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org