package test.at.gv.egovernment.moa.id.auth.builder; import at.gv.egovernment.moa.id.auth.builder.PersonDataBuilder; import at.gv.egovernment.moa.id.auth.data.IdentityLink; import at.gv.egovernment.moa.id.auth.parser.InfoboxReadResponseParser; import at.gv.egovernment.moa.util.Constants; import test.at.gv.egovernment.moa.id.UnitTestCase; /** * @author Paul Ivancsics * @version $Id$ */ public class PersonDataBuilderTest extends UnitTestCase implements Constants { /** * Constructor for PersonDataBuilderTest. */ public PersonDataBuilderTest(String arg) { super(arg); } public void testBuild() throws Exception { String xmlInfoboxReadResponse = readFile("data/test/xmldata/testperson1/InfoboxReadResponse.xml"); IdentityLink il = new InfoboxReadResponseParser(xmlInfoboxReadResponse).parseIdentityLink(); String xmlPersonData = new PersonDataBuilder().build(il, true); String xmlPersonDataShould = "123456789012http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahlHermannMuster1968-10-22"; assertPersonDataEquals(xmlPersonDataShould, xmlPersonData); } public void testBuildNoZMRZahl() throws Exception { String xmlInfoboxReadResponse = readFile("data/test/xmldata/testperson1/InfoboxReadResponse.xml"); IdentityLink il = new InfoboxReadResponseParser(xmlInfoboxReadResponse).parseIdentityLink(); String xmlPersonData = new PersonDataBuilder().build(il, false); String xmlPersonDataShould = XML_DECL + "HermannMuster1968-10-22"; assertPersonDataEquals(xmlPersonDataShould, xmlPersonData); } private void assertPersonDataEquals(String s1, String s2) throws Exception { String ss1 = insertPrNS(s1); String ss2 = insertPrNS(s2); assertXmlEquals(ss1, ss2); } private String insertPrNS(String xmlPersonData) { int startNS = xmlPersonData.indexOf("Person") + "Person".length() + 1; String s = xmlPersonData.substring(0, startNS) + "xmlns:pr=\"" + PD_NS_URI + "\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " + xmlPersonData.substring(startNS); return s; } }