Example #1
0
        public async Task <IEnumerable <EntidadDatoBase> > ObtenerDatos(int idSensor, int top) //Obtiene todos los datos asociados a un sensor, sin filtros
        {
            IEnumerable <EntidadDatoBase> datos = null;

            try
            {
                datos = await repositorioSensor.ObtenerDatos(idSensor, top);
            }
            catch (Exception)
            {
                log.Warning($"Problema al obtener datos del sensor {idSensor}; no se encuentra en la base de datos.");
            }

            return(datos); //devuelve null o un IEnumerable<EntidadDatoBase>
        }
        public async Task TestInsertaDato()
        {
            DateTime fechaDatoInsertado = DateTime.UtcNow;
            float    humedad = 23, temperatura = 25;

            EntidadDato dato = new EntidadDato()
            {
                Humedad     = humedad,
                Temperatura = temperatura,
                FK_IdSensor = idSensor,
                Stamp       = fechaDatoInsertado
            };

            try
            {
                var resultado = await repositorioSensor.InsertaDato(dato);

                Assert.IsTrue(resultado);
            }
            catch (Exception ex)
            {
                Assert.Fail($"Error InsertaDato: {ex.Message}");
            }

            try
            {
                var datosBd = await repositorioSensor.ObtenerDatos(idSensor, fechaDatoInsertado.AddSeconds(-1), fechaDatoInsertado.AddSeconds(1));

                Assert.IsNotNull(datosBd);
                Assert.AreEqual(1, datosBd.Count());
                Assert.AreEqual(humedad, datosBd.FirstOrDefault().Humedad);
                Assert.AreEqual(temperatura, datosBd.FirstOrDefault().Temperatura);
                Assert.AreEqual(fechaDatoInsertado.Second, datosBd.FirstOrDefault().Stamp.Second);
            }
            catch (Exception ex)
            {
                Assert.Fail($"Error ObtenerDatos: {ex.Message}");
            }
        }
Example #3
0
        public async Task TestInsertaInformacion()
        {
            DateTime stampInicial = DateTime.UtcNow;
            float    humedad = 23, temperatura = 25;

            var listaDatos = new List <EntidadDatoBase>()
            {
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(1)
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(2)
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(3)
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(4)
                }
            };

            EntidadPeticion peticion = new EntidadPeticion()
            {
                Sensor       = sensor,
                Proyecto     = proyecto,
                EstacionBase = estacionBase,
                Datos        = listaDatos
            };

            try
            {
                var resultado = await servicioInsertaInformacion.InsertaPeticion(peticion);

                Assert.IsNotNull(resultado);
                Assert.IsTrue(resultado);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            try
            {
                var datosBd = await repositorioSensor.ObtenerDatos(idSensor, stampInicial.AddMinutes(-1), stampInicial.AddMinutes(5));

                Assert.IsNotNull(datosBd);
                Assert.AreEqual(listaDatos.Count(), datosBd.Count());
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }