public override async Task OnActivateAsync() { logger = this.GetLogger(); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Not doing Activate yet"); Assert.False(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; logger.Info("OnActivateAsync"); // Spawn Task to run on default .NET thread pool var task = Task.Factory.StartNew(() => { logger.Info("Started-OnActivateAsync-SubTask"); Assert.True(TaskScheduler.Current == TaskScheduler.Default, "Running under default .NET Task scheduler"); Assert.True(doingActivate, "Still doing Activate in Sub-Task"); logger.Info("Finished-OnActivateAsync-SubTask"); }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default); await task; logger.Info("Started-OnActivateAsync"); await watcher.RecordActivateCall(Data.ActivationId.ToString()); Assert.True(doingActivate, "Doing Activate"); logger.Info("OnActivateAsync-Sleep"); Thread.Sleep(TimeSpan.FromSeconds(1)); Assert.True(doingActivate, "Still doing Activate after Sleep"); logger.Info("Finished-OnActivateAsync"); doingActivate = false; }
public void TestInitialize() { logger.Info("TestInitialize - {0}", TestContext.TestName); watcher = GrainClient.GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); StreamId = Guid.NewGuid(); StreamProviderName = StreamTestsConstants.SMS_STREAM_PROVIDER_NAME; StreamNamespace = StreamTestsConstants.StreamLifecycleTestsNamespace; }
public StreamLifecycleTests(ITestOutputHelper output) { this.output = output; watcher = GrainClient.GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); StreamId = Guid.NewGuid(); StreamProviderName = StreamTestsConstants.SMS_STREAM_PROVIDER_NAME; StreamNamespace = StreamTestsConstants.StreamLifecycleTestsNamespace; }
public void TestCleanup() { if (watcher != null) { watcher.Clear().Wait(); watcher = null; } }
public void TestCleanup() { if (watcher != null) { watcher.Clear().Wait(); watcher = null; } }
public void TestInitialize() { logger.Info("TestInitialize - {0}", TestContext.TestName); watcher = GrainClient.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); StreamId = Guid.NewGuid(); StreamProviderName = StreamTestsConstants.SMS_STREAM_PROVIDER_NAME; StreamNamespace = StreamTestsConstants.StreamLifecycleTestsNamespace; }
public StreamLifecycleTests(ITestOutputHelper output) { this.output = output; watcher = GrainClient.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); StreamId = Guid.NewGuid(); StreamProviderName = StreamTestsConstants.SMS_STREAM_PROVIDER_NAME; StreamNamespace = StreamTestsConstants.StreamLifecycleTestsNamespace; }
public override async Task OnActivateAsync(CancellationToken cancellationToken) { Assert.NotNull(TaskScheduler.Current); Assert.NotEqual(TaskScheduler.Current, TaskScheduler.Default); var startMe = new Task( () => { Assert.NotNull(TaskScheduler.Current); Assert.NotEqual(TaskScheduler.Current, TaskScheduler.Default); logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Not doing Activate"); Assert.False(doingDeactivate, "Not doing Deactivate"); doingActivate = true; }); // we want to use Task.ContinueWith with an async lambda, an explicitly typed variable is required to avoid // writing code that doesn't do what i think it is doing. Func <Task> asyncCont = async() => { Assert.NotNull(TaskScheduler.Current); Assert.NotEqual(TaskScheduler.Current, TaskScheduler.Default); logger.Info("Started-OnActivateAsync"); Assert.True(doingActivate, "Doing Activate 1"); Assert.False(doingDeactivate, "Not doing Deactivate"); try { logger.Info("Calling RecordActivateCall"); await watcher.RecordActivateCall(RuntimeHelpers.GetHashCode(this).ToString("X")); logger.Info("Returned from calling RecordActivateCall"); } catch (Exception exc) { var msg = "RecordActivateCall failed with error " + exc; logger.Error(0, msg); Assert.True(false, msg); } Assert.True(doingActivate, "Doing Activate 2"); Assert.False(doingDeactivate, "Not doing Deactivate"); await Task.Delay(TimeSpan.FromSeconds(1)); doingActivate = false; logger.Info("Finished-OnActivateAsync"); }; var awaitMe = startMe.ContinueWith(_ => asyncCont()).Unwrap(); startMe.Start(); await awaitMe; }
public override async Task InitializeAsync() { await base.InitializeAsync(); this.watcher = this.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); StreamId = Guid.NewGuid(); StreamProviderName = StreamTestsConstants.SMS_STREAM_PROVIDER_NAME; StreamNamespace = StreamTestsConstants.StreamLifecycleTestsNamespace; }
protected Task RecordActivate() { #if COUNT_ACTIVATE_DEACTIVATE watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); return(watcher.RecordActivateCall(IdentityString)); #else return(Task.CompletedTask); #endif }
public override Task OnActivateAsync() { logger = this.GetLogger(); var startMe = new Task( () => { logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Not doing Activate"); Assert.False(doingDeactivate, "Not doing Deactivate"); doingActivate = true; }); // we want to use Task.ContinueWith with an async lambda, an explicitly typed variable is required to avoid // writing code that doesn't do what i think it is doing. Func <Task> asyncCont = async() => { logger.Info("Started-OnActivateAsync"); Assert.True(doingActivate, "Doing Activate"); Assert.False(doingDeactivate, "Not doing Deactivate"); try { logger.Info("Calling RecordActivateCall"); await watcher.RecordActivateCall(Data.ActivationId.ToString()); logger.Info("Returned from calling RecordActivateCall"); } catch (Exception exc) { var msg = "RecordActivateCall failed with error " + exc; logger.Error(0, msg); Assert.True(false, msg); } Assert.True(doingActivate, "Doing Activate"); Assert.False(doingDeactivate, "Not doing Deactivate"); await Task.Delay(TimeSpan.FromSeconds(1)); doingActivate = false; logger.Info("Finished-OnActivateAsync"); }; var awaitMe = startMe.ContinueWith(_ => asyncCont()).Unwrap(); startMe.Start(); return(awaitMe); }
public override async Task OnActivateAsync(CancellationToken cancellationToken) { logger.LogInformation("OnActivateAsync"); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Activate method should have finished"); Assert.False(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; await watcher.RecordActivateCall(RuntimeHelpers.GetHashCode(this).ToString("X")); Assert.True(doingActivate, "Activate method still running"); doingActivate = false; }
public override async Task OnActivateAsync() { logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Activate method should have finished"); Assert.False(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; await watcher.RecordActivateCall(Data.ActivationId.ToString()); Assert.True(doingActivate, "Activate method still running"); doingActivate = false; }
public override async Task OnActivateAsync() { logger = GetLogger(); logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); Assert.IsFalse(doingActivate, "Activate method should have finished"); Assert.IsFalse(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; await watcher.RecordActivateCall(Data.ActivationId.ToString()); Assert.IsTrue(doingActivate, "Activate method still running"); doingActivate = false; }
public override Task OnActivateAsync(CancellationToken cancellationToken) { logger.LogInformation("OnActivateAsync"); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Activate method should have finished"); Assert.False(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; return(watcher.RecordActivateCall(RuntimeHelpers.GetHashCode(this).ToString("X")) .ContinueWith((Task t) => { Assert.False(t.IsFaulted, "RecordActivateCall failed"); Assert.True(doingActivate, "Doing Activate"); doingActivate = false; })); }
public override Task OnActivateAsync() { logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); Assert.False(doingActivate, "Activate method should have finished"); Assert.False(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; return(watcher.RecordActivateCall(Data.ActivationId.ToString()) .ContinueWith((Task t) => { Assert.False(t.IsFaulted, "RecordActivateCall failed"); Assert.True(doingActivate, "Doing Activate"); doingActivate = false; })); }
public override Task OnActivateAsync() { logger = GetLogger(); logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); Assert.IsFalse(doingActivate, "Activate method should have finished"); Assert.IsFalse(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; return watcher.RecordActivateCall(Data.ActivationId.ToString()) .ContinueWith((Task t) => { Assert.IsFalse(t.IsFaulted, "RecordActivateCall failed"); Assert.IsTrue(doingActivate, "Doing Activate"); doingActivate = false; }); }
public override Task OnActivateAsync() { logger = GetLogger(); var startMe = new Task( () => { logger.Info("OnActivateAsync"); watcher = GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); Assert.IsFalse(doingActivate, "Not doing Activate"); Assert.IsFalse(doingDeactivate, "Not doing Deactivate"); doingActivate = true; }); // we want to use Task.ContinueWith with an async lambda, an explicitly typed variable is required to avoid // writing code that doesn't do what i think it is doing. Func<Task> asyncCont = async () => { logger.Info("Started-OnActivateAsync"); Assert.IsTrue(doingActivate, "Doing Activate"); Assert.IsFalse(doingDeactivate, "Not doing Deactivate"); try { logger.Info("Calling RecordActivateCall"); await watcher.RecordActivateCall(Data.ActivationId.ToString()); logger.Info("Returned from calling RecordActivateCall"); } catch (Exception exc) { var msg = "RecordActivateCall failed with error " + exc; logger.Error(0, msg); Assert.Fail(msg); } Assert.IsTrue(doingActivate, "Doing Activate"); Assert.IsFalse(doingDeactivate, "Not doing Deactivate"); await Task.Delay(TimeSpan.FromSeconds(1)); doingActivate = false; logger.Info("Finished-OnActivateAsync"); }; var awaitMe = startMe.ContinueWith(_ => asyncCont()).Unwrap(); startMe.Start(); return awaitMe; }
public void TestInitialize() { watcher = GrainClient.GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); watcher.Clear().Wait(); }
public GrainActivateDeactivateTests() { watcher = GrainClient.GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); watcher.Clear().Wait(); }
public async Task WatcherGrain_GetGrain() { IActivateDeactivateWatcherGrain grain = GrainClient.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(1); await grain.Clear(); }
public void TestInitialize() { watcher = GrainClient.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); watcher.Clear().Wait(); }
public GrainActivateDeactivateTests(DefaultClusterFixture fixture) : base(fixture) { watcher = this.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); watcher.Clear().Wait(); }
public GrainActivateDeactivateTests() { watcher = GrainClient.GrainFactory.GetGrain <IActivateDeactivateWatcherGrain>(0); watcher.Clear().Wait(); }
public override async Task OnActivateAsync() { logger = GetLogger(); watcher = GrainFactory.GetGrain<IActivateDeactivateWatcherGrain>(0); Assert.IsFalse(doingActivate, "Not doing Activate yet"); Assert.IsFalse(doingDeactivate, "Not doing Deactivate yet"); doingActivate = true; logger.Info("OnActivateAsync"); // Spawn Task to run on default .NET thread pool var task = Task.Factory.StartNew(() => { logger.Info("Started-OnActivateAsync-SubTask"); Assert.IsTrue(TaskScheduler.Current == TaskScheduler.Default, "Running under default .NET Task scheduler"); Assert.IsTrue(doingActivate, "Still doing Activate in Sub-Task"); logger.Info("Finished-OnActivateAsync-SubTask"); }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default); await task; logger.Info("Started-OnActivateAsync"); await watcher.RecordActivateCall(Data.ActivationId.ToString()); Assert.IsTrue(doingActivate, "Doing Activate"); logger.Info("OnActivateAsync-Sleep"); Thread.Sleep(TimeSpan.FromSeconds(1)); Assert.IsTrue(doingActivate, "Still doing Activate after Sleep"); logger.Info("Finished-OnActivateAsync"); doingActivate = false; }