public void DirectoryNotEmptyExceptionCtor() { DirectoryNotEmptyException ex = new DirectoryNotEmptyException("message", "path"); ex.Message.Should().Be("message"); ex.Path.Should().Be("path"); }
public static EtcdException ProcessException(this FlurlHttpException This) { if (This.IsTimeoutException()) { return(This.AsTimeoutException()); } if (This.IsInvalidHostException()) { return(This.AsInvalidHostException()); } if (This.IsInvalidRequestException()) { return(This.AsInvalidRequestException()); } if (This.IsBadRequestException()) { return(This.AsBadRequestException()); } if (This.IsServiceUnavailableException()) { return(This.AsServiceUnavailableException()); } if (This.IsHttpConnectionException()) { return(This.AsHttpConnectionException()); } var etcdError = This.GetResponseJson <EtcdError>(); if (etcdError == null) { return(new UnknownErrorException(This.Message)); } var message = etcdError.Message; etcdError.ErrorCode = etcdError.ErrorCode ?? (This.GetEtcdErrorCode() ?? EtcdErrorCode.Unknown); EtcdException exception; // Ugh. The switch from hell. switch (etcdError.ErrorCode.Value) { case EtcdErrorCode.KeyNotFound: exception = new KeyNotFoundException(message); break; case EtcdErrorCode.TestFailed: exception = new TestFailedException(message); break; case EtcdErrorCode.NotFile: exception = new NotAFileException(message); break; case EtcdErrorCode.NoMorePeer: exception = new NoMorePeerException(message); break; case EtcdErrorCode.NotDirectory: exception = new NotADirectoryException(message); break; case EtcdErrorCode.NodeExists: exception = new NodeExistsException(message); break; case EtcdErrorCode.KeyIsPreserved: exception = new KeyIsPreservedException(message); break; case EtcdErrorCode.RootReadOnly: exception = new RootIsReadOnlyException(message); break; case EtcdErrorCode.DirectoryNotEmpty: exception = new DirectoryNotEmptyException(message); break; case EtcdErrorCode.ExistingPeerAddress: exception = new ExistingPeerAddressException(message); break; case EtcdErrorCode.ValueRequired: exception = new ValueRequiredException(message); break; case EtcdErrorCode.PreviousValueRequired: exception = new PreviousValueRequiredException(message); break; case EtcdErrorCode.TtlNotANumber: exception = new TtlNotANumberException(message); break; case EtcdErrorCode.IndexNotANumber: exception = new IndexNotANumberException(message); break; case EtcdErrorCode.ValueOrTtlRequired: exception = new ValueOrTtlRequiredException(message); break; case EtcdErrorCode.TimeoutNotANumber: exception = new TimeoutNotANumberException(message); break; case EtcdErrorCode.NameRequired: exception = new NameRequiredException(message); break; case EtcdErrorCode.IndexOrValueRequired: exception = new IndexOrValueRequiredException(message); break; case EtcdErrorCode.IndexValueMutex: exception = new IndexValueMutexException(message); break; case EtcdErrorCode.InvalidField: exception = new InvalidFieldException(message); break; case EtcdErrorCode.InvalidForm: exception = new InvalidFormException(message); break; case EtcdErrorCode.RaftInternal: exception = new RaftInternalException(message); break; case EtcdErrorCode.LeaderElect: exception = new LeaderElectException(message); break; case EtcdErrorCode.WatcherCleared: exception = new WatcherClearedException(message); break; case EtcdErrorCode.EventIndexCleared: exception = new EventIndexClearedException(message); break; case EtcdErrorCode.StandbyInternal: exception = new StandbyInternalException(message); break; case EtcdErrorCode.InvalidActiveSize: exception = new InvalidActiveSizeException(message); break; case EtcdErrorCode.InvalidRemoveDelay: exception = new InvalidRemoveDelayException(message); break; case EtcdErrorCode.ClientInternal: exception = new ClientInternalException(message); break; default: exception = new UnknownErrorException(message); break; } exception.EtcdError = etcdError; if (This.Call != null) { exception.HttpStatusCode = This.Call.HttpStatus; exception.RequestUrl = This.Call.Request.RequestUri.ToString(); exception.RequestMethod = This.Call.Request.Method; } return(exception); }