/** * creates a new CardHolder based on track2 * @param track2 cards track2 * @exception InvalidCardException */ public CardHolder (String track2) throws InvalidCardException { super(); parseTrack2 (track2); }
@Test public void testGetServiceCode() throws Throwable { CardHolder cardHolder = new CardHolder(); cardHolder.parseTrack2(" trk1=\"true\""); String result = cardHolder.getServiceCode(); assertEquals("result", " ", result); }
@Test public void testParseTrack2() throws Throwable { CardHolder cardHolder = new CardHolder(); cardHolder.parseTrack2("uD|kOAf(Ls@RaT\f4_3[l\f#mF*'7-yeK^S?qBK ~G"); assertEquals("cardHolder.pan", "u", cardHolder.pan); assertEquals("cardHolder.exp", "|kOA", cardHolder.exp); assertEquals("cardHolder.trailler", "f(Ls@RaT\f4_3[l\f#mF*'7-yeK^S?qBK ~G", cardHolder.trailer); }
@Test public void testParseTrack2ThrowsInvalidCardException() throws Throwable { CardHolder cardHolder = new CardHolder("testCardHolderPan", "4Cha"); try { cardHolder.parseTrack2("D0"); fail("Expected InvalidCardException to be thrown"); } catch (InvalidCardException ex) { assertEquals("ex.getMessage()", "invalid track2", ex.getMessage()); assertEquals("cardHolder.exp", "4Cha", cardHolder.exp); assertEquals("cardHolder.pan", "testCardHolderPan", cardHolder.pan); assertNull("cardHolder.trailler", cardHolder.trailer); } }
@Test public void testParseTrack2ThrowsInvalidCardException1() throws Throwable { CardHolder cardHolder = new CardHolder(); try { cardHolder.parseTrack2("testCardHolders"); fail("Expected InvalidCardException to be thrown"); } catch (InvalidCardException ex) { assertEquals("ex.getMessage()", "invalid track2", ex.getMessage()); assertNull("cardHolder.exp", cardHolder.exp); assertNull("cardHolder.pan", cardHolder.pan); assertNull("cardHolder.trailler", cardHolder.trailer); } }
@Test public void testParseTrack2ThrowsInvalidCardException2() throws Throwable { CardHolder cardHolder = new CardHolder("k'X9|DH:!;uQ<kG8!P?- ,\"Y!u`r;jB^)>3AbS9,"); try { cardHolder.parseTrack2(null); fail("Expected InvalidCardException to be thrown"); } catch (InvalidCardException ex) { assertEquals("ex.getMessage()", "null track2 data", ex.getMessage()); assertEquals("cardHolder.exp", "H:!;", cardHolder.exp); assertEquals("cardHolder.pan", "k'X9|", cardHolder.pan); assertEquals("cardHolder.trailler", "uQ<kG8!P?- ,\"Y!u`r;jB^)>3AbS9,", cardHolder.trailer); } }
/** * Construct a CardHolder based on content received on * field 35 (track2) or field 2 (PAN) + field 14 (EXP) * @param m an ISOMsg * @throws InvalidCardException */ public CardHolder (ISOMsg m) throws InvalidCardException { super(); if (m.hasField(35)) parseTrack2((String) m.getValue(35)); else if (m.hasField(2)) { setPAN((String) m.getValue(2)); if (m.hasField(14)) setEXP((String) m.getValue(14)); } else { throw new InvalidCardException("required fields not present"); } if (m.hasField(45)) { setTrack1((String) m.getValue(45)); } if (m.hasField(55)) { setSecurityCode(m.getString(55)); } }