/*
* Copyright 2006-2008 Sxip Identity Corporation
*/
package org.openid4java.discovery;
import junit.framework.TestCase;
import junit.framework.Test;
import junit.framework.TestSuite;
import javax.servlet.ServletException;
/**
* @author Marius Scurtescu, Johnny Bufu
*/
public class DiscoveryTest extends TestCase
{
private String _testDataPath;
private Discovery _discovery;
public DiscoveryTest(String name) throws ServletException
{
super(name);
_testDataPath = System.getProperty("TEST_DATA");
_discovery = new Discovery();
if (_testDataPath == null)
throw new ServletException("TEST_DATA path not initialized");
}
public void testParseUrl() throws DiscoveryException
{
assertTrue(_discovery.parseIdentifier("http://example.com") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("HTTP://EXAMPLE.COM") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("http://example.com/a/b?q=1#end") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("https://example.com") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("HTTPS://EXAMPLE.COM") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("https://example.com/a/b?q=1#end") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("HttpS://Example.Com") instanceof UrlIdentifier);
}
public void testParseUrlNoProtocol() throws DiscoveryException
{
assertTrue(_discovery.parseIdentifier("example.com") instanceof UrlIdentifier);
assertTrue(_discovery.parseIdentifier("example.com/a/b?q=1#end") instanceof UrlIdentifier);
UrlIdentifier identifier = (UrlIdentifier) _discovery.parseIdentifier("example.com");
assertEquals("http", identifier.getUrl().getProtocol());
}
public void testParseXri() throws DiscoveryException
{
assertTrue(_discovery.parseIdentifier("xri://=example") instanceof XriIdentifier);
assertTrue(_discovery.parseIdentifier("xri://example") instanceof UrlIdentifier);
}
public void testParseXriNoProtocol() throws DiscoveryException
{
assertTrue(_discovery.parseIdentifier("=example") instanceof XriIdentifier);
assertTrue(_discovery.parseIdentifier("@example") instanceof XriIdentifier);
assertTrue(_discovery.parseIdentifier("$example") instanceof XriIdentifier);
assertTrue(_discovery.parseIdentifier("+example") instanceof XriIdentifier);
assertTrue(_discovery.parseIdentifier("!!1234") instanceof XriIdentifier);
}
//todo: tests for multiple discovered services / priorities
//todo: XRI path+query / service selection
//http://openid.net/pipermail/general/2006-October/000512.html
public static Test suite()
{
return new TestSuite(DiscoveryTest.class);
}
}