Attempt to add integration tests

This commit is contained in:
Blaine Bublitz 2020-05-17 21:15:05 -07:00 committed by Austin Bonander
parent 33915ae3ad
commit 168ce9bed0
3 changed files with 61 additions and 4 deletions

View File

@ -19,7 +19,20 @@ enum Weak {
// "Strong" enums can map to TEXT or a custom enum
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "lowercase")]
enum Color {
enum ColorLower {
Red,
Green,
Blue,
}
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "snake_case")]
enum ColorSnake {
RedGreen,
BlueBlack,
}
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "uppercase")]
enum ColorUpper {
Red,
Green,
Blue,
@ -40,4 +53,6 @@ test_type!(weak_enum(
"4" == Weak::Three
));
test_type!(strong_color_enum(MySql, Color, "'green'" == Color::Green));
test_type!(strong_color_enum(MySql, ColorLower, "'green'" == ColorLower::Green));
test_type!(strong_color_enum(MySql, ColorSnake, "'red_green'" == ColorSnake::RedGreen));
test_type!(strong_color_enum(MySql, ColorLower, "'GREEN'" == ColorUpper::Green));

View File

@ -28,6 +28,28 @@ enum Strong {
Three,
}
// rename_all variants
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "lowercase")]
enum ColorLower {
Red,
Green,
Blue,
}
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "snake_case")]
enum ColorSnake {
RedGreen,
BlueBlack,
}
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "uppercase")]
enum ColorUpper {
Red,
Green,
Blue,
}
// "Strong" enum can map to a custom type
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename = "mood")]
@ -71,6 +93,11 @@ test_type!(strong_enum(
"'four'::text" == Strong::Three
));
test_type!(strong_color_enum(MySql, ColorLower, "'green'" == ColorLower::Green));
test_type!(strong_color_enum(MySql, ColorSnake, "'red_green'" == ColorSnake::RedGreen));
test_type!(strong_color_enum(MySql, ColorLower, "'GREEN'" == ColorUpper::Green));
#[cfg_attr(feature = "runtime-async-std", async_std::test)]
#[cfg_attr(feature = "runtime-tokio", tokio::test)]
async fn test_enum_type() -> anyhow::Result<()> {

View File

@ -19,7 +19,20 @@ enum Weak {
// "Strong" enums can map to TEXT or a custom enum
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "lowercase")]
enum Color {
enum ColorLower {
Red,
Green,
Blue,
}
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "snake_case")]
enum ColorSnake {
RedGreen,
BlueBlack,
}
#[derive(PartialEq, Debug, sqlx::Type)]
#[sqlx(rename_all = "uppercase")]
enum ColorUpper {
Red,
Green,
Blue,
@ -40,4 +53,6 @@ test_type!(weak_enum(
"4" == Weak::Three
));
test_type!(strong_color_enum(Sqlite, Color, "'green'" == Color::Green));
test_type!(strong_color_enum(MySql, ColorLower, "'green'" == ColorLower::Green));
test_type!(strong_color_enum(MySql, ColorSnake, "'red_green'" == ColorSnake::RedGreen));
test_type!(strong_color_enum(MySql, ColorLower, "'GREEN'" == ColorUpper::Green));