Skip to content

Commit

Permalink
Move CLI introspection tests to DB tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
SamirTalwar committed Jun 24, 2024
1 parent 7c40d12 commit 56617a7
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 55 deletions.
4 changes: 2 additions & 2 deletions crates/configuration/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ pub mod environment;
pub mod error;
pub mod metrics;

mod version3;
mod version4;
pub mod version3;
pub mod version4;

pub use configuration::{
generate_latest_schema, introspect, make_runtime_configuration, parse_configuration,
Expand Down
30 changes: 5 additions & 25 deletions crates/configuration/src/version3/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,21 @@

#![cfg(test)]

use crate::version3::{introspect, RawConfiguration};
use std::collections::HashMap;
use crate::version3::RawConfiguration;
use std::path::Path;

use crate::common;

mod postgres {

pub const CHINOOK_NDC_METADATA_PATH: &str = "static/postgres/v3-chinook-ndc-metadata";

pub const CONNECTION_URI: &str = "postgresql://postgres:password@localhost:64002";
pub(super) const CHINOOK_NDC_METADATA_PATH: &str = "static/postgres/v3-chinook-ndc-metadata";
}

mod citus {
pub const CHINOOK_NDC_METADATA_PATH: &str = "static/citus/v3-chinook-ndc-metadata";
pub(super) const CHINOOK_NDC_METADATA_PATH: &str = "static/citus/v3-chinook-ndc-metadata";
}

mod cockroach {
pub const CHINOOK_NDC_METADATA_PATH: &str = "static/cockroach/v3-chinook-ndc-metadata";
pub(super) const CHINOOK_NDC_METADATA_PATH: &str = "static/cockroach/v3-chinook-ndc-metadata";
}

#[tokio::test]
Expand Down Expand Up @@ -60,23 +56,7 @@ async fn cockroach_configuration_v3_conforms_to_the_schema() {
.unwrap();
}

#[tokio::test]
async fn postgres_current_only_configure_initial_configuration_is_unchanged() {
let args = RawConfiguration::empty();
let connection_string = postgres::CONNECTION_URI;
let environment = HashMap::from([(
crate::DEFAULT_CONNECTION_URI_VARIABLE.into(),
connection_string.into(),
)]);

let default_configuration = introspect(args, environment)
.await
.expect("configuration::introspect");

insta::assert_json_snapshot!(default_configuration);
}

pub async fn configuration_conforms_to_the_schema(
async fn configuration_conforms_to_the_schema(
chinook_ndc_metadata_path: impl AsRef<Path>,
) -> anyhow::Result<()> {
common::check_value_conforms_to_schema::<RawConfiguration>(
Expand Down
2 changes: 1 addition & 1 deletion crates/configuration/src/version4/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! Internal Configuration and state for our connector.

mod comparison;
mod connection_settings;
pub mod connection_settings;
mod metadata;
mod options;
mod to_runtime_configuration;
Expand Down
30 changes: 5 additions & 25 deletions crates/configuration/src/version4/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,21 @@

#![cfg(test)]

use crate::version4::{introspect, ParsedConfiguration};
use std::collections::HashMap;
use crate::version4::ParsedConfiguration;
use std::path::Path;

use crate::common;

mod postgres {

pub const CHINOOK_NDC_METADATA_PATH: &str = "static/postgres/v4-chinook-ndc-metadata";

pub const CONNECTION_URI: &str = "postgresql://postgres:password@localhost:64002";
pub(super) const CHINOOK_NDC_METADATA_PATH: &str = "static/postgres/v4-chinook-ndc-metadata";
}

mod citus {
pub const CHINOOK_NDC_METADATA_PATH: &str = "static/citus/v4-chinook-ndc-metadata";
pub(super) const CHINOOK_NDC_METADATA_PATH: &str = "static/citus/v4-chinook-ndc-metadata";
}

mod cockroach {
pub const CHINOOK_NDC_METADATA_PATH: &str = "static/cockroach/v4-chinook-ndc-metadata";
pub(super) const CHINOOK_NDC_METADATA_PATH: &str = "static/cockroach/v4-chinook-ndc-metadata";
}

#[tokio::test]
Expand Down Expand Up @@ -60,23 +56,7 @@ async fn cockroach_configuration_v3_conforms_to_the_schema() {
.unwrap();
}

#[tokio::test]
async fn postgres_current_only_configure_initial_configuration_is_unchanged() {
let args = ParsedConfiguration::empty();
let connection_string = postgres::CONNECTION_URI;
let environment = HashMap::from([(
crate::DEFAULT_CONNECTION_URI_VARIABLE.into(),
connection_string.into(),
)]);

let default_configuration = introspect(args, environment)
.await
.expect("configuration::introspect");

insta::assert_json_snapshot!(default_configuration);
}

pub async fn configuration_conforms_to_the_schema(
async fn configuration_conforms_to_the_schema(
chinook_ndc_metadata_path: impl AsRef<Path>,
) -> anyhow::Result<()> {
common::check_value_conforms_to_schema::<ParsedConfiguration>(
Expand Down
22 changes: 22 additions & 0 deletions crates/tests/databases-tests/src/postgres/cli_version3_tests.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
use std::collections::HashMap;

use ndc_postgres_configuration::version3::connection_settings::DEFAULT_CONNECTION_URI_VARIABLE;
use ndc_postgres_configuration::version3::{introspect, RawConfiguration};

const CONNECTION_URI: &str = "postgresql://postgres:password@localhost:64002";

#[tokio::test]
async fn postgres_current_only_configure_initial_configuration_is_unchanged() {
let args = RawConfiguration::empty();
let connection_string = CONNECTION_URI;
let environment = HashMap::from([(
DEFAULT_CONNECTION_URI_VARIABLE.into(),
connection_string.into(),
)]);

let default_configuration = introspect(args, environment)
.await
.expect("configuration::introspect");

insta::assert_json_snapshot!(default_configuration);
}
22 changes: 22 additions & 0 deletions crates/tests/databases-tests/src/postgres/cli_version4_tests.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
use std::collections::HashMap;

use ndc_postgres_configuration::version4::connection_settings::DEFAULT_CONNECTION_URI_VARIABLE;
use ndc_postgres_configuration::version4::{introspect, ParsedConfiguration};

const CONNECTION_URI: &str = "postgresql://postgres:password@localhost:64002";

#[tokio::test]
async fn postgres_current_only_configure_initial_configuration_is_unchanged() {
let args = ParsedConfiguration::empty();
let connection_string = CONNECTION_URI;
let environment = HashMap::from([(
DEFAULT_CONNECTION_URI_VARIABLE.into(),
connection_string.into(),
)]);

let default_configuration = introspect(args, environment)
.await
.expect("configuration::introspect");

insta::assert_json_snapshot!(default_configuration);
}
2 changes: 2 additions & 0 deletions crates/tests/databases-tests/src/postgres/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
pub mod cli_update_tests;
pub mod cli_version3_tests;
pub mod cli_version4_tests;
pub mod common;
pub mod configuration_tests;
pub mod explain_tests;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
source: crates/configuration/src/version3/tests.rs
source: crates/tests/databases-tests/src/postgres/cli_version3_tests.rs
expression: default_configuration
---
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
source: crates/configuration/src/version4/tests.rs
source: crates/tests/databases-tests/src/postgres/cli_version4_tests.rs
expression: default_configuration
---
{
Expand Down

0 comments on commit 56617a7

Please sign in to comment.