/* * Copyright 2006-2008 Sxip Identity Corporation */ package org.openid4java.consumer; import junit.framework.TestCase; import junit.framework.Test; import junit.framework.TestSuite; import org.openid4java.association.Association; /** * @author Marius Scurtescu */ public abstract class ConsumerAssociationStoreTest extends TestCase { ConsumerAssociationStore _associationStore; public ConsumerAssociationStoreTest(String name) { super(name); } public void setUp() throws Exception { _associationStore = createStore(); } protected abstract ConsumerAssociationStore createStore(); public void tearDown() throws Exception { _associationStore = null; } public void testSaveLoadRemove() { _associationStore.save("http://example.com", Association.generateHmacSha1("a", 60)); _associationStore.save("http://example.com", Association.generateHmacSha256("b", 60)); _associationStore.save("http://example.com", Association.generateHmacSha1("c", 60)); assertNotNull(_associationStore.load("http://example.com", "a")); assertNotNull(_associationStore.load("http://example.com", "b")); assertNotNull(_associationStore.load("http://example.com", "c")); assertNotNull(_associationStore.load("http://example.com")); _associationStore.remove("http://example.com", "b"); assertNull(_associationStore.load("http://example.com", "b")); } public void testCleanup() throws InterruptedException { _associationStore.save("http://example.com", Association.generateHmacSha1("a", 1)); _associationStore.save("http://example.com", Association.generateHmacSha256("b", 1)); _associationStore.save("http://example.com", Association.generateHmacSha1("c", 1)); _associationStore.save("http://example.net", Association.generateHmacSha1("a", 1)); _associationStore.save("http://example.net", Association.generateHmacSha256("b", 1)); _associationStore.save("http://example.net", Association.generateHmacSha1("c", 1)); Thread.sleep(2000); _associationStore.save("http://example.org", Association.generateHmacSha1("d", 1)); } public static Test suite() { return new TestSuite(InMemoryConsumerAssociationStoreTest.class); } }