Status - complete test coverage
This commit is contained in:
parent
4642443d37
commit
676c7b34dc
1 changed files with 38 additions and 6 deletions
|
@ -68,7 +68,7 @@ pub enum Redirect {
|
|||
/// The mailbox has moved to a different address, and all future
|
||||
/// messages should be sent to that address.
|
||||
Permanent = 1,
|
||||
Other,
|
||||
Other = 2,
|
||||
}
|
||||
|
||||
impl TryFrom<u8> for Redirect {
|
||||
|
@ -103,7 +103,7 @@ pub enum TemporaryFailure {
|
|||
RateLimit = 4,
|
||||
/// The mailbox isn't accepting mail right now, but it might in the future.
|
||||
MailboxFull = 5,
|
||||
Other,
|
||||
Other = 6,
|
||||
}
|
||||
|
||||
impl TryFrom<u8> for TemporaryFailure {
|
||||
|
@ -140,7 +140,7 @@ pub enum PermanentFailure {
|
|||
DomainNotServiced = 3,
|
||||
/// Your request is malformed, and won't be accepted by the mailserver.
|
||||
BadRequest = 9,
|
||||
Other,
|
||||
Other = 4,
|
||||
}
|
||||
|
||||
impl TryFrom<u8> for PermanentFailure {
|
||||
|
@ -178,7 +178,7 @@ pub enum AuthenticationFailure {
|
|||
/// The mailserver needs you to complete a task to confirm that you are a
|
||||
/// legitimate sender. (This is reserved for a Hashcash style anti-spam measure).
|
||||
ProofRequired = 4,
|
||||
Other,
|
||||
Other = 5,
|
||||
}
|
||||
|
||||
impl TryFrom<u8> for AuthenticationFailure {
|
||||
|
@ -209,8 +209,40 @@ mod tests {
|
|||
|
||||
#[test]
|
||||
fn to_number_redirect() {
|
||||
let num: u8 = Status::Redirect(Redirect::Temporary).into();
|
||||
assert_eq!(num, 30);
|
||||
assert_eq!(u8::from(Status::Redirect(Redirect::Temporary)), 30);
|
||||
assert_eq!(u8::from(Status::Redirect(Redirect::Permanent)), 31);
|
||||
assert_eq!(u8::from(Status::Redirect(Redirect::Other)), 32);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn to_number_temporary() {
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::TemporaryError)), 40);
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::ServerUnavailable)), 41);
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::CgiError)), 42);
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::ProxyError)), 43);
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::RateLimit)), 44);
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::MailboxFull)), 45);
|
||||
assert_eq!(u8::from(Status::TemporaryFailure(TemporaryFailure::Other)), 46);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn to_number_permanent() {
|
||||
assert_eq!(u8::from(Status::PermanentFailure(PermanentFailure::PermanentError)), 50);
|
||||
assert_eq!(u8::from(Status::PermanentFailure(PermanentFailure::MailboxNonexistent)), 51);
|
||||
assert_eq!(u8::from(Status::PermanentFailure(PermanentFailure::MailboxGone)), 52);
|
||||
assert_eq!(u8::from(Status::PermanentFailure(PermanentFailure::DomainNotServiced)), 53);
|
||||
assert_eq!(u8::from(Status::PermanentFailure(PermanentFailure::BadRequest)), 59);
|
||||
assert_eq!(u8::from(Status::PermanentFailure(PermanentFailure::Other)), 54);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn to_number_auth() {
|
||||
assert_eq!(u8::from(Status::AuthenticationFailure(AuthenticationFailure::CertificateRequired)), 60);
|
||||
assert_eq!(u8::from(Status::AuthenticationFailure(AuthenticationFailure::UnauthorizedSender)), 61);
|
||||
assert_eq!(u8::from(Status::AuthenticationFailure(AuthenticationFailure::CertificateInvalid)), 62);
|
||||
assert_eq!(u8::from(Status::AuthenticationFailure(AuthenticationFailure::IdentityMismatch)), 63);
|
||||
assert_eq!(u8::from(Status::AuthenticationFailure(AuthenticationFailure::ProofRequired)), 64);
|
||||
assert_eq!(u8::from(Status::AuthenticationFailure(AuthenticationFailure::Other)), 65);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Add table
Reference in a new issue