From 28696b6d5f867e22066ae1ca817502769126054a Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Thu, 30 Nov 2023 10:23:53 +0100 Subject: Bug Fix - DynamirFrame version 2 was not detected during decoding --- .../org/uic/barcode/ticketTests/TIticketTest.java | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 src/test/java/org/uic/barcode/ticketTests/TIticketTest.java (limited to 'src/test/java/org/uic/barcode/ticketTests/TIticketTest.java') diff --git a/src/test/java/org/uic/barcode/ticketTests/TIticketTest.java b/src/test/java/org/uic/barcode/ticketTests/TIticketTest.java new file mode 100644 index 0000000..b205e16 --- /dev/null +++ b/src/test/java/org/uic/barcode/ticketTests/TIticketTest.java @@ -0,0 +1,75 @@ +package org.uic.barcode.ticketTests; + + +import java.util.Base64; +import java.util.TimeZone; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.uic.barcode.Decoder; +import org.uic.barcode.dynamicFrame.Constants; +import org.uic.barcode.dynamicFrame.api.IDynamicFrame; +import org.uic.barcode.logger.LoggerFactory; +import org.uic.barcode.staticFrame.ticketLayoutBarcode.TicketLayout; +import org.uic.barcode.ticket.api.spec.IUicRailTicket; + +public class TIticketTest { + + TimeZone defaulttimeZone = null; + + String ticketBase64 = "AVVlV4hJ4ABQCCRocJknuREASeB6KmwhTRgwYMGrRg4coAqB4AROT01FB0NP" + + "R05PTUVPAEAEEgFYWAAAFAO5r+0lA5zvA32uCITK5NwUtOrK5NLG0ECQxJ3AidwAAAQVQyRn" + + "HoGAg4SwQyQAsoGCAYCEFUMkZx6CAYEtmCyYCYMDlUMkZx6BAIMEFUMkZx6BgIOBoQACIdM/" + + "3NC/C94syIud9wO7mYNByejQ4l/ik6HEhi7t3XV7vuPZQox/T2r6zccEDw3Ri48MO0LAjOH6" + + "sdzYk9CRfgMaOYIoEQM8jg15cDXzeO2ixAMSKKNvwfo2Fa5brPyMkyd0o0EpmBEIBRkK7smz" + + "ZoF34ztlSrOxWZs5itVsgL3PIlWZ/yhVOgpo"; + + + + + /** + * Prepare tickets. + */ + @Before public void prepare() { + + LoggerFactory.setActivateConsoleLog(true); + + defaulttimeZone = TimeZone.getDefault(); + //decode in local CET time zone + TimeZone.setDefault(TimeZone.getTimeZone("CET")); + } + + + /** + * clean up + */ + @After public void resetTimeZone() { + TimeZone.setDefault(defaulttimeZone); + } + + @Test + public void testDecoder() throws Exception { + + + byte[] content = Base64.getDecoder().decode(ticketBase64); + + // try to decode + Decoder decoder = new Decoder(content); + TicketLayout layout = decoder.getLayout(); + IUicRailTicket ticket = decoder.getUicTicket(); + IDynamicFrame frame = decoder.getDynamicFrame(); + + Assert.assertNotNull(frame); + Assert.assertNotNull(frame.getLevel2Data()); + Assert.assertNotNull(frame.getLevel2Data().getLevel1Data()); + + Assert.assertNotNull(frame.getLevel2Data().getLevel1Signature()); + assert(frame.getFormat().equals(Constants.DYNAMIC_BARCODE_FORMAT_VERSION_2)); + + + } + + +} \ No newline at end of file -- cgit v1.2.3