Skip to content

Commit

Permalink
Attempt to add integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
phated authored and abonander committed May 21, 2020
1 parent 33915ae commit 168ce9b
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 4 deletions.
19 changes: 17 additions & 2 deletions tests/mysql-derives.rs
Expand Up @@ -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,
Expand All @@ -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));
27 changes: 27 additions & 0 deletions tests/postgres-derives.rs
Expand Up @@ -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")]
Expand Down Expand Up @@ -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<()> {
Expand Down
19 changes: 17 additions & 2 deletions tests/sqlite-derives.rs
Expand Up @@ -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,
Expand All @@ -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));

0 comments on commit 168ce9b

Please sign in to comment.