예제 #1
0
        public void UnserialiseStringToObjectNoHeader()
        {
            var AcceptCardJSON = @"{
                ""payload"":{
                    ""timeout"":5000,
                    ""track1"":true,
                    ""track2"": true,
                    ""track3"":true,
                    ""chip"":true,
                    ""security"":true,
                    ""fluxInactive"":true,
                    ""watermark"":true,
                    ""memoryChip"":true,
                    ""track1Front"":true,
                    ""frontImage"":true,
                    ""backImage"":true,
                    ""track1JIS"":true,
                    ""track3JIS"":true,
                    ""ddi"":true
            }";

            var assemblyName = Assembly.GetAssembly(typeof(ReadRawDataCommand))?.GetName();

            IsNotNull(assemblyName);

            var decoder = new MessageDecoder(MessageDecoder.AutoPopulateType.Command, assemblyName)
            {
                { typeof(ReadRawDataCommand) }
            };

            bool rc = decoder.TryUnserialise(AcceptCardJSON, out object result);

            IsFalse(rc);
            AreEqual(null, result);
        }
예제 #2
0
        public void UnserialiseStringToObject()
        {
            var ReadCardJSON = @"{""payload"":{""track1"":{""status"":""ok"",""data"":""123456789""},""track2"":{""status"":""dataMissing"",""data"":""123456789""},""track3"":{""status"":""dataInvalid"",""data"":""123456789""},""completionCode"":""success"",""errorDescription"":""OK""},""headers"":{""name"":""CardReader.ReadRawData"",""requestId"":""ee6d592b-483c-4c22-98ef-1070e290bf4f"",""type"":""completion""}}";

            var assemblyName = Assembly.GetAssembly(typeof(ReadRawDataCompletion))?.GetName();

            IsNotNull(assemblyName);

            var decoder = new MessageDecoder(MessageDecoder.AutoPopulateType.Response, assemblyName)
            {
                { typeof(ReadRawDataCompletion) }
            };

            bool rc = decoder.TryUnserialise(ReadCardJSON, out object resultMessage);

            IsTrue(rc);
            IsNotNull(resultMessage);

            Completion <ReadRawDataCompletion.PayloadData> result = resultMessage as Completion <ReadRawDataCompletion.PayloadData> ?? throw new Exception();

            IsNotNull(result);

            IsInstanceOfType(result, typeof(ReadRawDataCompletion));
            ReadRawDataCompletion readCardCompletion = result as ReadRawDataCompletion;

            IsNotNull(readCardCompletion);
            IsNotNull(readCardCompletion.Payload);
            ReadRawDataCompletion.PayloadData readCardPayload = readCardCompletion.Payload as ReadRawDataCompletion.PayloadData;
            IsNotNull(readCardPayload);
            IsNotNull(readCardPayload.Track1);
            IsNotNull(readCardPayload.Track2);
            IsNotNull(readCardPayload.Track3);
        }
예제 #3
0
        public void UnserialiseStringToObject()
        {
            var ReadCardJSON = @"{
                ""headers"":{
                    ""name"":""CardReader.ReadRawData"",
                    ""requestId"":""b34800d0-9dd2-4d50-89ea-92d1b13df54b"",
                    ""type"":""command""
                },
                ""payload"":{
                    ""timeout"":5000,
                    ""track1"":true,
                    ""track2"": true,
                    ""track3"":true,
                    ""chip"":true,
                    ""security"":true,
                    ""fluxInactive"":true,
                    ""watermark"":true,
                    ""memoryChip"":true,
                    ""track1Front"":true,
                    ""frontImage"":true,
                    ""backImage"":true,
                    ""track1JIS"":true,
                    ""track3JIS"":true,
                    ""ddi"":true
                 }
            }";

            var assemblyName = Assembly.GetAssembly(typeof(ReadRawDataCommand))?.GetName();

            IsNotNull(assemblyName);

            var decoder = new MessageDecoder(MessageDecoder.AutoPopulateType.Command, assemblyName)
            {
                { typeof(ReadRawDataCommand) }
            };

            bool rc = decoder.TryUnserialise(ReadCardJSON, out object resultMessage);

            IsTrue(rc);
            IsNotNull(resultMessage);

            Command <ReadRawDataCommand.PayloadData> result = resultMessage as Command <ReadRawDataCommand.PayloadData> ?? throw new Exception();

            IsNotNull(result);

            IsInstanceOfType(result, typeof(ReadRawDataCommand));
            ReadRawDataCommand readCardCommand = result as ReadRawDataCommand;

            IsNotNull(readCardCommand);
            IsNotNull(readCardCommand.Payload);
            ReadRawDataCommand.PayloadData readCardPayload = readCardCommand.Payload as ReadRawDataCommand.PayloadData;
            IsNotNull(readCardPayload);
            AreEqual(true, readCardPayload.Track1);
        }
예제 #4
0
        public void UnserialiseStringToObjectNotJSON()
        {
            var AcceptCardJSON = @"Not JSON";
            var assemblyName   = Assembly.GetAssembly(typeof(ReadRawDataCommand))?.GetName();

            IsNotNull(assemblyName);

            var decoder = new MessageDecoder(MessageDecoder.AutoPopulateType.Command, assemblyName)
            {
                { typeof(ReadRawDataCommand) }
            };

            bool rc = decoder.TryUnserialise(AcceptCardJSON, out object result);

            IsFalse(rc);
            AreEqual(null, result);
        }
예제 #5
0
        public void UnserialiseStringToEvent()
        {
            var MediaInsertedJSON = @"{
                ""headers"":{
                    ""name"":""CardReader.MediaInsertedEvent"",
                    ""requestId"":""b34800d0-9dd2-4d50-89ea-92d1b13df54b"",
                    ""type"":""event""
                },
                ""payload"":{}
            }";

            var assemblyName = Assembly.GetAssembly(typeof(XFS4IoT.CardReader.Events.MediaInsertedEvent))?.GetName();

            IsNotNull(assemblyName);

            var decoder = new MessageDecoder(MessageDecoder.AutoPopulateType.Command, assemblyName)
            {
                { typeof(XFS4IoT.CardReader.Events.MediaInsertedEvent) }
            };

            bool rc = decoder.TryUnserialise(MediaInsertedJSON, out object resultMessage);

            IsTrue(rc);
            IsNotNull(resultMessage);

            Event <MessagePayloadBase> result = resultMessage as Event <MessagePayloadBase> ?? throw new Exception();

            IsNotNull(result);

            IsInstanceOfType(result, typeof(XFS4IoT.CardReader.Events.MediaInsertedEvent));
            XFS4IoT.CardReader.Events.MediaInsertedEvent mediaInsertedEvent = result as XFS4IoT.CardReader.Events.MediaInsertedEvent;
            IsNotNull(mediaInsertedEvent);
            IsNotNull(mediaInsertedEvent.Payload);
            MessagePayloadBase mediaInsertedPayload = mediaInsertedEvent.Payload as MessagePayloadBase;

            IsNotNull(mediaInsertedPayload);
        }