PageRenderTime 49ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/Raven.Tests.TimeSeries/TimeSeriesChangeTests.cs

http://github.com/ayende/ravendb
C# | 122 lines | 0 code | 0 blank | 122 comment | 0 complexity | 1d7490cd2e6c215ab659e70179e00f11 MD5 | raw file
Possible License(s): GPL-3.0, MPL-2.0-no-copyleft-exception, LGPL-2.1, Apache-2.0, BSD-3-Clause, CC-BY-SA-3.0
  1. /*
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Threading.Tasks;
  5. using FluentAssertions;
  6. using Raven.Abstractions.TimeSeries;
  7. using Xunit;
  8. using Xunit.Extensions;
  9. using Xunit.Sdk;
  10. namespace Raven.Tests.TimeSeries
  11. {
  12. public class TimeSeriesChangeTests : RavenBaseTimeSeriesTest
  13. {
  14. private const string TimeSeriesName = "FooBarTimeSeriesStore";
  15. private const string TimeSeriesName = "FooBarTimeSeries";
  16. [Theory]
  17. [InlineData(2)]
  18. [InlineData(-2)]
  19. public async Task CountrsReset_should_work(int delta)
  20. {
  21. using (var store = NewRemoteTimeSeriesStore(DefaultTimeSeriesName))
  22. {
  23. await store.Admin.CreateTimeSeriesAsync(new TimeSeriesDocument
  24. {
  25. Settings = new Dictionary<string, string>
  26. {
  27. {"Raven/TimeSeries/DataDir", @"~\TimeSeries\Cs1"}
  28. },
  29. }, TimeSeriesName);
  30. const string timeSeriesGroupName = "FooBarGroup";
  31. await store.ChangeAsync(timeSeriesGroupName, TimeSeriesName, delta);
  32. var total = await store.GetOverallTotalAsync(timeSeriesGroupName, TimeSeriesName);
  33. total.Should().Be(delta);
  34. await store.ResetAsync(timeSeriesGroupName, TimeSeriesName);
  35. total = await store.GetOverallTotalAsync(timeSeriesGroupName, TimeSeriesName);
  36. total.Should().Be(0);
  37. }
  38. }
  39. [Theory]
  40. [InlineData(2)]
  41. [InlineData(-2)]
  42. public async Task CountrsDelete_should_work(int delta)
  43. {
  44. using (var store = NewRemoteTimeSeriesStore(DefaultTimeSeriesName))
  45. {
  46. await store.Admin.CreateTimeSeriesAsync(new TimeSeriesDocument
  47. {
  48. Settings = new Dictionary<string, string>
  49. {
  50. {"Raven/TimeSeries/DataDir", @"~\TimeSeries\Cs1"}
  51. },
  52. }, TimeSeriesName);
  53. const string timeSeriesGroupName = "FooBarGroup";
  54. await store.ChangeAsync(timeSeriesGroupName, TimeSeriesName, delta);
  55. var total = await store.GetOverallTotalAsync(timeSeriesGroupName, TimeSeriesName);
  56. total.Should().Be(delta);
  57. Assert.Throws<InvalidOperationException>(async() => await store.DeleteAsync(timeSeriesGroupName, TimeSeriesName));
  58. }
  59. }
  60. [Fact]
  61. public async Task TimeSeriesIncrement_should_work()
  62. {
  63. using (var store = NewRemoteTimeSeriesStore(DefaultTimeSeriesName))
  64. {
  65. await store.Admin.CreateTimeSeriesAsync(new TimeSeriesDocument
  66. {
  67. Settings = new Dictionary<string, string>
  68. {
  69. {"Raven/TimeSeries/DataDir", @"~\TimeSeries\Cs1"}
  70. },
  71. }, TimeSeriesName);
  72. const string TimeSeriesGroupName = "FooBarGroup12";
  73. await store.IncrementAsync(TimeSeriesGroupName, TimeSeriesName);
  74. var total = await store.GetOverallTotalAsync(TimeSeriesGroupName, TimeSeriesName);
  75. total.Should().Be(1);
  76. await store.IncrementAsync(TimeSeriesGroupName, TimeSeriesName);
  77. total = await store.GetOverallTotalAsync(TimeSeriesGroupName, TimeSeriesName);
  78. total.Should().Be(2);
  79. }
  80. }
  81. [Fact]
  82. public async Task TimeSeries_change_should_work()
  83. {
  84. using (var store = NewRemoteTimeSeriesStore(DefaultTimeSeriesName))
  85. {
  86. await store.Admin.CreateTimeSeriesAsync(new TimeSeriesDocument
  87. {
  88. Settings = new Dictionary<string, string>
  89. {
  90. {"Raven/TimeSeries/DataDir", @"~\TimeSeries\Cs1"}
  91. },
  92. }, TimeSeriesName);
  93. const string TimeSeriesGroupName = "FooBarGroup";
  94. await store.ChangeAsync(TimeSeriesGroupName, TimeSeriesName, 5);
  95. var total = await store.GetOverallTotalAsync(TimeSeriesGroupName, TimeSeriesName);
  96. total.Should().Be(5);
  97. await store.ChangeAsync(TimeSeriesGroupName, TimeSeriesName, -30);
  98. total = await store.GetOverallTotalAsync(TimeSeriesGroupName, TimeSeriesName);
  99. total.Should().Be(-25);
  100. }
  101. }
  102. }
  103. }
  104. */