public void Constructors() { _ = new ClientProtocolException(); _ = new ClientProtocolException("exception"); _ = new ClientProtocolException("exception", new Exception("bang")); _ = new ClientProtocolException(ClientProtocolError.Undefined, true); _ = new ClientProtocolException(ClientProtocolError.Undefined, "exception"); _ = new ClientProtocolException(ClientProtocolError.Undefined, "exception", true); _ = new ClientProtocolException(ClientProtocolError.Undefined, new Exception("bang")); _ = new ClientProtocolException(ClientProtocolError.Undefined, "exception", new Exception("bang")); _ = new ClientProtocolException(ClientProtocolError.Undefined, new Exception("bang"), true); var e = new ClientProtocolException(ClientProtocolError.AccessControl, "exception", new Exception("bang"), true); Assert.That(e.Message, Is.EqualTo("exception")); Assert.That(e.InnerException, Is.Not.Null); Assert.That(e.InnerException.Message, Is.EqualTo("bang")); Assert.That(e.Retryable, Is.True); Assert.That(e.Error, Is.EqualTo(ClientProtocolError.AccessControl)); e = e.SerializeAndDeSerialize(); Assert.That(e.Message, Is.EqualTo("exception")); Assert.That(e.InnerException, Is.Not.Null); Assert.That(e.InnerException.Message, Is.EqualTo("bang")); Assert.That(e.Retryable, Is.True); Assert.That(e.Error, Is.EqualTo(ClientProtocolError.AccessControl)); Assert.Throws <ArgumentNullException>(() => e.GetObjectData(default !, default));
/// <summary> /// Create an exception representing server errors. /// </summary> /// <param name="errorHolders">Server errors.</param> /// <returns>An exception representing the specified server errors.</returns> private static ClientProtocolException CreateException(IEnumerator <ErrorHolder> errorHolders) { if (errorHolders == null) { throw new ArgumentNullException(nameof(errorHolders)); } if (!errorHolders.MoveNext()) { return(null); } var errorHolder = errorHolders.Current; if (errorHolder == null) { return(new ClientProtocolException(ClientProtocolError.Undefined)); } var innerException = CreateException(errorHolders); var error = ClientProtocolError.Undefined; if (Enum.IsDefined(typeof(ClientProtocolError), errorHolder.ErrorCode)) { error = (ClientProtocolError)errorHolder.ErrorCode; } var retryable = RetryableErrors.Contains(error); var exception = new ClientProtocolException(error, errorHolder.Message, innerException, retryable); var sb = new StringBuilder(); var first = true; foreach (var stackTraceElement in errorHolder.StackTraceElements) { if (first) { first = false; } else { sb.AppendLine(); } sb.Append(" ").Append(stackTraceElement); } exception.Data.Add("server", sb.ToString()); return(exception); }
public void TestCreation() { var clientProtocolException = new ClientProtocolException("Test"); Assert.AreEqual("Test", clientProtocolException.Message); }