/********************************************************************** * $Source: /cvsroot/hibiscus/hbci4java/test/hbci4java/msg/TestBug1129.java,v $ * $Revision: 1.1 $ * $Date: 2012/03/06 23:18:26 $ * $Author: willuhn $ * * Copyright (c) by willuhn - software & services * All rights reserved * **********************************************************************/ package hbci4java.msg; import hbci4java.AbstractTest; import java.util.Hashtable; import org.junit.Assert; import org.junit.Test; import org.kapott.hbci.exceptions.ParseErrorException; import org.kapott.hbci.manager.HBCIKernelImpl; import org.kapott.hbci.manager.HBCIUtils; import org.kapott.hbci.manager.MsgGen; import org.kapott.hbci.protocol.MSG; import org.kapott.hbci.protocol.factory.MSGFactory; /** * Tests fuer BUGZILLA 1129. */ public class TestBug1129 extends AbstractTest { /** * Versucht, die Datei mit dem Response zu parsen. * @return die geparsten Daten. * @throws Exception */ private Hashtable<String, String> parse() throws Exception { String data = getFile("msg/bugzilla-1129.txt"); HBCIKernelImpl kernel = new HBCIKernelImpl(null,"plus"); kernel.rawNewMsg("DauerList"); MsgGen gen = kernel.getMsgGen(); MSG msg = MSGFactory.getInstance().createMSG("CustomMsgRes",data,data.length(),gen); Hashtable<String,String> ht = new Hashtable<String,String>(); msg.extractValues(ht); return ht; } /** * Testet das Parsen eines Responses mit ungueltigem DTAUS ohne Fehlertoleranz. * Code muss einen Fehler werfen. * @throws Exception */ @Test public void test001() throws Exception { try { parse(); throw new Exception("Test-Code haette eine Exception werfen muessen"); } catch (Exception e) { Assert.assertEquals(ParseErrorException.class,e.getClass()); Assert.assertTrue(((ParseErrorException)e).isFatal()); } } /** * Testet das Parsen eines Responses mit ungueltigem DTAUS MIT Fehlertoleranz. * @throws Exception */ @Test public void test002() throws Exception { HBCIUtils.setParam("client.errors.ignoreWrongDataSyntaxErrors","yes"); parse(); } /** * Testet das Decodieren der DIN-66003 Umlaute. * @throws Exception */ @Test public void test003() throws Exception { HBCIUtils.setParam("client.errors.ignoreWrongDataSyntaxErrors","yes"); Hashtable<String, String> ht = parse(); Assert.assertEquals("EB�HREN Z.T. IM VORAUS",ht.get("CustomMsgRes.GVRes_6.DauerListRes4.usage.usage_3")); } } /********************************************************************** * $Log: TestBug1129.java,v $ * Revision 1.1 2012/03/06 23:18:26 willuhn * @N Patch 37 - BUGZILLA 1129 * **********************************************************************/