From fae876ec63c86dfdba2fb679b1c292d399b79e4b Mon Sep 17 00:00:00 2001 From: evenyag Date: Sat, 7 May 2022 16:07:41 +0800 Subject: [PATCH] test: Add more test for parser error --- src/sql/src/errors.rs | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/src/sql/src/errors.rs b/src/sql/src/errors.rs index 22446d66dd..f7d1b9ed48 100644 --- a/src/sql/src/errors.rs +++ b/src/sql/src/errors.rs @@ -48,20 +48,42 @@ mod tests { use super::*; - #[test] - pub fn test_error_conversion() { - pub fn raise_error() -> Result<(), SpParserError> { - Err(SpParserError::ParserError("parser error".to_string())) - } + fn raise_sp_error() -> Result<(), SpParserError> { + Err(SpParserError::ParserError("parser error".to_string())) + } + #[test] + fn test_syntax_error() { + let err = raise_sp_error() + .context(SpSyntaxSnafu { sql: "" }) + .err() + .unwrap(); assert_matches!( - raise_error().context(SpSyntaxSnafu { - sql: "".to_string(), - }), - Err(ParserError::SpSyntax { + err, + ParserError::SpSyntax { sql: _, source: SpParserError::ParserError { .. } + } + ); + assert_eq!(StatusCode::InvalidSyntax, err.status_code()); + + let err = raise_sp_error() + .context(UnexpectedSnafu { + sql: "", + expected: "", + actual: "", }) - ) + .err() + .unwrap(); + assert_eq!(StatusCode::InvalidSyntax, err.status_code()); + } + + #[test] + fn test_unsupported_error() { + let err = ParserError::Unsupported { + sql: "".to_string(), + keyword: "".to_string(), + }; + assert_eq!(StatusCode::Unsupported, err.status_code()); } }