public void WhenExecuteGetCypherResultsFails_ShouldRaiseCompletedWithException() { // Arrange const string queryText = @"return 1"; var parameters = new Dictionary <string, object>(); var cypherQuery = new CypherQuery(queryText, parameters, CypherResultMode.Set); var cypherApiQuery = new CypherApiQuery(cypherQuery); using (var testHarness = new RestTestHarness { { MockRequest.PostObjectAsJson("/cypher", cypherApiQuery), MockResponse.Throws() } }) { var graphClient = testHarness.CreateAndConnectGraphClient(); OperationCompletedEventArgs eventArgs = null; graphClient.OperationCompleted += (sender, e) => { eventArgs = e; }; //Act Assert.Throws <MockResponseThrowsException>(() => { graphClient.ExecuteGetCypherResults <ExecuteGetCypherResultsTests.SimpleResultDto>(cypherQuery); }, "We should expect an exception"); Assert.IsNotNull(eventArgs, "but we should also have received the completion event"); Assert.IsTrue(eventArgs.HasException); Assert.AreEqual(typeof(MockResponseThrowsException), eventArgs.Exception.GetType()); Assert.AreEqual(-1, eventArgs.ResourcesReturned); } }
public void WhenExecuteCypherFails_ShouldRaiseCompletedWithException() { // Arrange const string queryText = @"bad cypher"; var parameters = new Dictionary <string, object>(); var cypherQuery = new CypherQuery(queryText, parameters, CypherResultMode.Set); var cypherApiQuery = new CypherApiQuery(cypherQuery); using (var testHarness = new RestTestHarness { { MockRequest.PostObjectAsJson("/cypher", cypherApiQuery), MockResponse.Throws() } }) { var graphClient = testHarness.CreateAndConnectGraphClient(); OperationCompletedEventArgs eventArgs = null; graphClient.OperationCompleted += (sender, e) => { eventArgs = e; }; //Act Assert.Throws <MockResponseThrowsException>(() => { graphClient.ExecuteCypher(cypherQuery); }); Assert.NotNull(eventArgs); Assert.True(eventArgs.HasException); Assert.Equal(typeof(MockResponseThrowsException), eventArgs.Exception.GetType()); Assert.Equal(-1, eventArgs.ResourcesReturned); } }
private void ClientContext_OperationCompleted(object sender, OperationCompletedEventArgs e) { Logger.GetLog().Debug("ClientContext_OperationCompleted: " + e.Result.ToString() + ", " + e.ErrorCode.ToString()); State.Completed(this, clientContext, peerContext, e); Completed(this, e); }
public async Task WhenExecuteCypherFails_ShouldRaiseCompletedWithException() { // Arrange const string queryText = @"bad cypher"; var parameters = new Dictionary <string, object>(); var cypherQuery = new CypherQuery(queryText, parameters, CypherResultMode.Set, "neo4j"); var transactionApiQuery = new CypherStatementList { new CypherTransactionStatement(cypherQuery) }; using (var testHarness = new RestTestHarness { { MockRequest.PostObjectAsJson("/transaction/commit", transactionApiQuery), MockResponse.Throws() } }) { var graphClient = await testHarness.CreateAndConnectGraphClient(); OperationCompletedEventArgs eventArgs = null; graphClient.OperationCompleted += (sender, e) => { eventArgs = e; }; //Act await Assert.ThrowsAsync <MockResponseThrowsException>(async() => { await graphClient.ExecuteCypherAsync(cypherQuery); }); Assert.NotNull(eventArgs); Assert.True(eventArgs.HasException); Assert.Equal(typeof(MockResponseThrowsException), eventArgs.Exception.GetType()); Assert.Equal(-1, eventArgs.ResourcesReturned); } }
public void OperationCompletedLog(object sender, OperationCompletedEventArgs eventArgs) { var message = new OperationCompletedEventMessage() { Query = eventArgs.QueryText, ResultCount = eventArgs.ResourcesReturned, Time = eventArgs.TimeTaken }; Publish(message); }
void viewModel_OperationCompleted(object sender, OperationCompletedEventArgs e) { // if (!e.Error) { viewModel.OperationCompleted -= new EventHandler <OperationCompletedEventArgs>(viewModel_OperationCompleted); if (NavigationService.CanGoBack) { NavigationService.GoBack(); } } else { progressBar.ShowProgress(false); } }
public void ShouldFireOnCompletedEvenWhenException() { var httpClient = Substitute.For <IHttpClient>(); httpClient .SendAsync(Arg.Any <HttpRequestMessage>()) .Throws(new NotImplementedException()); var graphClient = new GraphClient(new Uri("http://foo/db/data"), httpClient); OperationCompletedEventArgs operationCompletedArgs = null; graphClient.OperationCompleted += (s, e) => { operationCompletedArgs = e; }; // act Assert.Throws <AggregateException>(() => graphClient.ConnectAsync().Wait()); Assert.NotNull(operationCompletedArgs); Assert.That(operationCompletedArgs.HasException); Assert.AreEqual(typeof(NotImplementedException), operationCompletedArgs.Exception.GetType()); }
private void OnOperationCompleted( object sender, OperationCompletedEventArgs e ) { OperationCompleted?.Invoke( this, e ); }
private void Hide(object sender, OperationCompletedEventArgs e) { Visibility = Visibility.Collapsed; }
void RepliesManager_OperationCompleted(object sender, OperationCompletedEventArgs e) { txtRepliesLoading.Visibility = Visibility.Collapsed; Twitter_OperationCompleted(sender, e); }
static void client_OperationCompleted(object sender, OperationCompletedEventArgs e) { Logger.Log("Graph Operation Completed\n" + e.QueryText + "\nResources Returned: " + e.ResourcesReturned + "\nTime: " + e.TimeTaken.Milliseconds + "ms"); }
private void Loaded(OperationCompletedEventArgs<LastMessages> obj) { IsBusy = false; if (IsFirstLoading) IsFirstLoading = false; if (obj.Error == null) try { posts = FilterPosts(obj.Result.Posts).ToObservable(); IsError = false; } catch (Exception exc) { IsError = true; Logger.LogError(exc, "Error during LastMessages data loading"); } else { IsError = true; ErrorMessage = obj.Error.Message.Length > 35 ? obj.Error.Message.Remove(35) : obj.Error.Message; Logger.LogError(obj.Error, "Error during LastMessages data loading"); } if (SelectedPost == null) Posts = posts; //update only when there is no selected item }
private void MinusRatingActionCallback(OperationCompletedEventArgs<RatingOrKarmaChangeResult> obj) { if (obj.Error == null && obj.Result != null && (obj.Result.Error == null || !obj.Result.Error.HasError)) { var post = Posts.FirstOrDefault(i => i.PostId == obj.Result.Id); if (post != null) post.IncrementRating(false); } }
private void MediatorContext_Completed(object sender, OperationCompletedEventArgs e) { if (e.Result == Client.General.ClientConst.OperationResult.Successful) { echoElapsedCount = 0; retryCount = 0; return; } retryCount++; if (e.Result == Client.General.ClientConst.OperationResult.Restartable) { if (isStopped || retryCount > 10) { return; } Task.Run(() => { RequireDisconnectAllPeers(this, EventArgs.Empty); RequireConnect(this, EventArgs.Empty); }); } if (e.Result == Client.General.ClientConst.OperationResult.Retryable) { if (isStopped) { if (retryCount > 2) { mediatorContext.State = new DisconnectedState(); return; } Task.Run(() => { RequireDisconnect(this, EventArgs.Empty); }); return; } if (retryCount > 10) { return; } // isStoppedでない: ConnectかMaintain なので絞りこめる if (mediatorContext.State is ConnectedState) { Task.Run(() => { RequireMaintain(this, EventArgs.Empty); }); } if (mediatorContext.State is DisconnectedState) { Task.Run(() => { RequireConnect(this, EventArgs.Empty); }); } } }
internal override void Completed(MediatorContext mediatorContext, IClientContext clientContext, IPeerContext peerContext, OperationCompletedEventArgs oce) { if (oce.Result == ClientConst.OperationResult.Retryable) { mediatorContext.State = new ConnectedState(); return; } mediatorContext.State = new DisconnectedState(); }
protected virtual void OnOperationCompleted(OperationCompletedEventArgs e) { var handler = OperationCompleted; if (handler != null) handler(this, e); }
void Twitter_OperationCompleted(object sender, OperationCompletedEventArgs e) { LastUpdated = DateTime.Now; SetLoading(false); }
void FavouritesManager_OperationCompleted(object sender, OperationCompletedEventArgs e) { Twitter_OperationCompleted(sender, e); }
internal override void Completed(MediatorContext mediatorContext, IClientContext clientContext, IPeerContext peerContext, OperationCompletedEventArgs oce) { ClientConst.OperationResult operationResult = oce.Result; if (operationResult == ClientConst.OperationResult.Successful) { Logger.GetLog().Info("接続を維持しています(接続数: " + peerContext.Connections + ")。"); mediatorContext.State = new ConnectedState(); } else if (operationResult == ClientConst.OperationResult.Restartable) { Logger.GetLog().Info("IPアドレスが変化しているため、再接続します。"); peerContext.DisconnectAll(); Logger.GetLog().Info("ピア接続をすべて切断しました(接続数: " + peerContext.Connections + ")"); mediatorContext.State = new DisconnectedState(); bool result = mediatorContext.Connect(); if (!result) { mediatorContext.State = new ConnectedState(); } } else if (operationResult == ClientConst.OperationResult.Retryable) { // FIXME: 暫定。本当はすぐに再試行したい Logger.GetLog().Info("接続維持に失敗しました。再試行可能なエラーです。"); mediatorContext.State = new ConnectedState(); } else { throw new NotSupportedException(); } }
internal virtual void Completed(MediatorContext mediatorContext, IClientContext clientContext, IPeerContext peerContext, OperationCompletedEventArgs oce) { throw new NotImplementedException(); }