public async Task Storage_Init() { //Arrange InitilizeProviderHost(); Provider = new ElasticStorageProvider(); //Act await Provider.Init("test", Runtime,Configuration); //Assert }
public async Task Storage_WriteAsync_ShouldSave_GrainState_FirstTime_UnderOptimisticLockingControl() { //Arrange InitilizeProviderHost(); ProviderExt = new ElasticStorageProvider(); Provider = ProviderExt; var grainState = new MyTestGrainState(); var currentVersion = grainState.Version; //Act await ProviderExt.Init("test", Runtime, Configuration); // due to difficulties in creating grainReference as object we test internal WriteStateToElasticAsync await ProviderExt.WriteStateToElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); //Assert grainState.Version.Should().BeGreaterThan(currentVersion); }
public async Task Storage_ClearStateAsync_Should_DeleteStored_GrainState() { //Arrange InitilizeProviderHost(); ProviderExt = new ElasticStorageProvider(); Provider = ProviderExt; var grainState = new MyTestGrainState() { Etag = "xxx", MyString = "mystring", MyInt = 1 }; await ProviderExt.Init("test", Runtime, Configuration); // due to difficulties in creating grainReference as object we test internal WriteStateToElasticAsync await ProviderExt.WriteStateToElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); //Act await ProviderExt.ClearStateInElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); //Assert var anotherCopy = new MyTestGrainState(); var newObject = new MyTestGrainState(); await ProviderExt.ReadStateFromElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, anotherCopy); anotherCopy.ShouldBeEquivalentTo(newObject, x => x.Excluding(t => t.Etag)); }
public async Task Storage_WriteAsync_Should_NOT_Allow_Store_updated_GrainState_WithIncorrectVersion() { //Arrange InitilizeProviderHost(); ProviderExt = new ElasticStorageProvider(); Provider = ProviderExt; var grainState = new MyTestGrainState(); await ProviderExt.Init("test", Runtime, Configuration); // due to difficulties in creating grainReference as object we test internal WriteStateToElasticAsync await ProviderExt.WriteStateToElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); grainState.Version = 222;//incorrect version //Act grainState.MyInt = 4; await ProviderExt.WriteStateToElasticAsync(nameof(MyGrainState), ExampleGrainRefKeyString, grainState); //Assert // throw ElasticsearchStorageException }