Hi Mike,

In Shiro's SimpleSessionTest, I created the following test case (the
session is instantiated via the default, no arg constructor -
additional attributes are not modified):

@Test
    public void testDefaultSerialization() throws Exception {
        SimpleSession session = new SimpleSession();

        long timeout = session.getTimeout();
        Date start = session.getStartTimestamp();
        Date lastAccess = session.getLastAccessTime();

        SimpleSession deserialized = serializeAndDeserialize(session);

        assertEquals(timeout, deserialized.getTimeout());
        assertEquals(start, deserialized.getStartTimestamp());
        assertEquals(lastAccess, deserialized.getLastAccessTime());
    }

It passes without error.

I also changed the serializeAndDeserialize method to use the exact
code that you pasted:

@Test
    public void testDefaultSerialization() throws Exception {
        SimpleSession session = new SimpleSession();
        long timeout = session.getTimeout();
        Date start = session.getStartTimestamp();
        Date lastAccess = session.getLastAccessTime();

        byte[] serialized = toBytes(session);
        SimpleSession deserialized = (SimpleSession)fromBytes(serialized);

        assertEquals(timeout, deserialized.getTimeout());
        assertEquals(start, deserialized.getStartTimestamp());
        assertEquals(lastAccess, deserialized.getLastAccessTime());
    }

This passes successfully as well.

I don't suppose you have a test case that can reproduce the issue?

Regards,

Les

Reply via email to