1#[derive(thiserror::Error, Debug)]
4pub enum PopgetterError {
5 #[error("Connection failure.")]
6 FailedConnection,
7 #[error("Metric not found.")]
8 MetricNotFound(String),
9 #[error("Invalid search syntax: {0}")]
10 InvalidSearchQuery(String),
11 #[error("Non-existent geometry for metric requested: {0}")]
12 NonExistentGeometry(String),
13 #[error("Wrapped polars error: {0}")]
14 PolarsError(#[from] polars::error::PolarsError),
15 #[error("Unknown error.")]
16 Unknown,
17}
18
19#[cfg(test)]
20mod tests {
21 use polars::error::{ErrString, PolarsError};
22
23 use super::*;
24
25 #[test]
26 fn test_from_polars_error() {
27 let polars_error = PolarsError::ShapeMismatch(ErrString::from("An example polars error"));
28 let popgetter_error: PopgetterError = polars_error.into();
29 println!("{}", popgetter_error);
30 }
31}