示例#1
0
        public void MessageCommandTest()
        {
            long ticks          = DateTime.UtcNow.Ticks;
            var  messageCommand = new TelemetryDataCommand("{\"Temperature\":24, \"Time\":" + ticks + "}");

            Assert.IsTrue(messageCommand.IsValid);
            Assert.AreEqual("{\"Temperature\":24,\"Time\":" + ticks + "}", messageCommand.TelemetryData.ToString(Formatting.None));
        }
示例#2
0
        private void HandleTelemetryDataCommand(TelemetryDataCommand command)
        {
            if (!_connection.ConnectionState.HasFlag(ConnectionState.LoggedIn))
            {
                _connection.Reply("telemetrydata unauthorized");
                return;
            }

            try
            {
                _telemetryDataService.RecordTelemetryData(_connection.DeviceId, command.TelemetryData);
                _connection.Reply("telemetrydata ack");
            }
            catch (Exception ex)
            {
                Logger.Error("Telemetry record error. Device: {0}. {1}", _connection.DeviceId, ex.ToString());
                _connection.Reply("telemetrydata error");
            }

            _connection.Heartbeat();
        }
示例#3
0
        public void MessageParseErrorTest()
        {
            var messageCommand = new TelemetryDataCommand("{\"Temperature\":}");

            Assert.IsFalse(messageCommand.IsValid);
        }