public void Create_GivenValidNewEntityShouldCreateInDb() { var ctx = new Mock <RawMetricsContext>(false); var mockCollection = new Mock <IMongoCollection <RawMetric> >(); ctx.Setup(c => c.RawMetrics).Returns(mockCollection.Object); var dao = new RawMetricsDAO(ctx.Object); var result = dao.Create(new RawMetric() { DeviceId = 2, Date = DateTime.Now.Ticks, Value = "12" }); mockCollection.Verify(c => c.InsertOne(It.IsAny <RawMetric>(), It.IsAny <InsertOneOptions>(), It.IsAny <CancellationToken>()), Times.Once()); }
public void Create_GivenInvalidEntityShouldThrowException() { var ctx = new Mock <RawMetricsContext>(false); var mockCollection = new Mock <IMongoCollection <RawMetric> >(); ctx.Setup(c => c.RawMetrics).Returns(mockCollection.Object); var dao = new RawMetricsDAO(ctx.Object); var ex = Assert.Throws <Exception>(() => dao.Create(new RawMetric() { Date = DateTime.Now.Ticks, Value = "12" })); Assert.AreEqual("RawMetric entity integrity not respected. Please verify all your required fields.", ex.Message); }
private void OnMessage(IMessageConsumer sender, MessageEventArgs args) { ITextMessage msg = (ITextMessage)args.Message; dynamic rawMetricObject = JsonConvert.DeserializeObject(msg.Text); DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); long dateLong = Convert.ToInt64((rawMetricObject.date.Value - epoch).Millisecond); Atlantis.RawMetrics.DAL.Models.RawMetric modelMetric = new Atlantis.RawMetrics.DAL.Models.RawMetric() { Date = dateLong, DeviceId = (int)rawMetricObject.deviceId.Value, Value = rawMetricObject.value.Value }; RawMetric returnValue; returnValue = dao.Create(modelMetric); msg.Acknowledge(); }
public void Update_GivenValidNewEntityShouldUpdateExisting() { var ctx = new Mock <RawMetricsContext>(false); var mockCollection = new Mock <IMongoCollection <RawMetric> >(); int deviceId = 1; ctx.Setup(c => c.RawMetrics).Returns(mockCollection.Object); var dao = new RawMetricsDAO(ctx.Object); var initialValue = dao.Create(new RawMetric() { DeviceId = deviceId, Date = DateTime.Now.Ticks, Value = "12" }); var updatedValue = dao.Update(new RawMetric() { DeviceId = deviceId, Date = DateTime.Now.Ticks, Value = "16" }); mockCollection.Verify(c => c.ReplaceOne(It.IsAny <FilterDefinition <RawMetric> >(), It.IsAny <RawMetric>(), It.IsAny <UpdateOptions>(), It.IsAny <CancellationToken>()), Times.Once()); Assert.AreNotEqual(initialValue.Value, updatedValue.Value); }