Skip to content

Commit 3988725

Browse files
committed
style fixes
1 parent 1a98d99 commit 3988725

15 files changed

+47
-44
lines changed

build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
fn main() {
33
// trigger recompilation when a new migration is added
44
println!("cargo:rerun-if-changed=migrations");
5-
}
5+
}

justfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ test:
4747
testv:
4848
RUST_BACKTRACE=1 cargo test -- --nocapture
4949

50+
## Format the code
51+
format:
52+
cargo fmt
53+
5054
## Run the linter
5155
lint:
5256
cargo check

src/configuration.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
use secrecy::{ExposeSecret, Secret};
2-
use sqlx::postgres::{PgConnectOptions, PgSslMode};
32
use serde_aux::field_attributes::deserialize_number_from_string;
3+
use sqlx::postgres::{PgConnectOptions, PgSslMode};
44

55
use crate::domain::SubscriberEmail;
66

7-
87
#[derive(Clone, serde::Deserialize)]
98
pub struct Settings {
109
pub database: DatabaseSettings,
@@ -49,13 +48,17 @@ pub fn get_configuration() -> Result<Settings, config::ConfigError> {
4948
.expect("Failed to parse APP_ENVIRONMENT");
5049
let environment_filename = format!("{}.yaml", environment.as_str());
5150
let settings = config::Config::builder()
51+
.add_source(config::File::from(
52+
configuration_directory.join("base.yaml"),
53+
))
54+
.add_source(config::File::from(
55+
configuration_directory.join(environment_filename),
56+
))
5257
.add_source(
53-
config::File::from(configuration_directory.join("base.yaml"))
54-
)
55-
.add_source(
56-
config::File::from(configuration_directory.join(environment_filename))
58+
config::Environment::with_prefix("APP")
59+
.separator("__")
60+
.prefix_separator("_"),
5761
)
58-
.add_source(config::Environment::with_prefix("APP").separator("__").prefix_separator("_"))
5962
.build()?;
6063
// Try to convert the configuration reader into our Settings type
6164
settings.try_deserialize::<Settings>()

src/domain/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
mod new_subscriber;
12
mod subscriber_email;
23
mod subscriber_name;
3-
mod new_subscriber;
44

5+
pub use new_subscriber::NewSubscriber;
56
pub use subscriber_email::SubscriberEmail;
67
pub use subscriber_name::SubscriberName;
7-
pub use new_subscriber::NewSubscriber;

src/domain/new_subscriber.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
2-
use crate::domain::subscriber_name::SubscriberName;
31
use crate::domain::subscriber_email::SubscriberEmail;
2+
use crate::domain::subscriber_name::SubscriberName;
43

54
pub struct NewSubscriber {
65
pub email: SubscriberEmail,

src/domain/subscriber_email.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ impl SubscriberEmail {
77
pub fn parse(s: String) -> Result<SubscriberEmail, String> {
88
if validate_email(&s) {
99
Ok(Self(s))
10-
}
11-
else {
10+
} else {
1211
Err(format!("{} is not a valid email address.", s))
1312
}
1413
}
@@ -22,11 +21,11 @@ impl AsRef<str> for SubscriberEmail {
2221

2322
#[cfg(test)]
2423
mod tests {
24+
use crate::domain::SubscriberEmail;
25+
use claims::assert_err;
2526
use fake::faker::internet::en::SafeEmail;
2627
use fake::Fake;
2728
use rand::{rngs::StdRng, SeedableRng};
28-
use claims::assert_err;
29-
use crate::domain::SubscriberEmail;
3029

3130
#[test]
3231
fn empty_string_is_rejected() {

src/domain/subscriber_name.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ impl SubscriberName {
1111
let contains_forbidden_characters = s.chars().any(|c| forbidden_characters.contains(&c));
1212
if is_empty_or_whitespace || is_too_long || contains_forbidden_characters {
1313
Err(format!("{} is not a valid subscriber name.", s))
14-
}
15-
else {
14+
} else {
1615
Ok(Self(s))
1716
}
1817
}
@@ -24,7 +23,6 @@ impl AsRef<str> for SubscriberName {
2423
}
2524
}
2625

27-
2826
#[cfg(test)]
2927
mod tests {
3028
use crate::domain::SubscriberName;

src/email_client.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@ impl EmailClient {
2727
timeout: std::time::Duration,
2828
) -> Self {
2929
let base_url = Url::parse(&base_url).expect("Invalid base URL for email client.");
30-
let http_client = Client::builder()
31-
.timeout(timeout)
32-
.build()
33-
.unwrap();
30+
let http_client = Client::builder().timeout(timeout).build().unwrap();
3431
Self {
3532
http_client,
3633
base_url,

src/main.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
use zero2prod::startup::Application;
21
use zero2prod::configuration::get_configuration;
2+
use zero2prod::startup::Application;
33
use zero2prod::telemetry::{get_subscriber, init_subscriber};
44

5-
65
#[tokio::main]
76
async fn main() -> Result<(), std::io::Error> {
87
// setup tracing
@@ -15,4 +14,3 @@ async fn main() -> Result<(), std::io::Error> {
1514
server.run_until_stopped().await?;
1615
Ok(())
1716
}
18-

src/routes/health_check.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use actix_web::{Responder, HttpResponse};
1+
use actix_web::{HttpResponse, Responder};
22

33
pub async fn health_check() -> impl Responder {
44
HttpResponse::Ok()

src/routes/subscriptions_confirm.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,12 @@ pub async fn confirm(parameters: web::Query<Parameters>, pool: web::Data<PgPool>
1919
return HttpResponse::InternalServerError().finish();
2020
}
2121
HttpResponse::Ok().finish()
22-
},
22+
}
2323
None => return HttpResponse::Unauthorized().finish(),
2424
}
2525
}
2626

27-
pub async fn confirm_subscriber(
28-
pool: &PgPool,
29-
subscriber_id: Uuid,
30-
) -> Result<(), sqlx::Error> {
27+
pub async fn confirm_subscriber(pool: &PgPool, subscriber_id: Uuid) -> Result<(), sqlx::Error> {
3128
sqlx::query!(
3229
r#"
3330
UPDATE subscriptions

src/startup.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::configuration::{DatabaseSettings, Settings};
22
use crate::email_client::EmailClient;
3-
use crate::routes::{health_check, subscribe, confirm};
3+
use crate::routes::{confirm, health_check, subscribe};
44
use actix_web::dev::Server;
55
use actix_web::{web, App, HttpServer};
66
use sqlx::postgres::PgPoolOptions;

tests/api/helpers.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
use once_cell::sync::Lazy;
2-
use sqlx::{Connection, Executor, PgConnection, PgPool};
32
use sqlx::postgres::PgPoolOptions;
3+
use sqlx::{Connection, Executor, PgConnection, PgPool};
44
use uuid::Uuid;
55
use wiremock::MockServer;
6-
use zero2prod::configuration::{DatabaseSettings, get_configuration};
7-
use zero2prod::startup::{Application, get_connection_pool};
6+
use zero2prod::configuration::{get_configuration, DatabaseSettings};
7+
use zero2prod::startup::{get_connection_pool, Application};
88
use zero2prod::telemetry::{get_subscriber, init_subscriber};
99

1010
pub struct TestApp {
@@ -91,7 +91,9 @@ pub async fn spawn_app() -> TestApp {
9191
configure_database(&configuration.database).await;
9292

9393
// Launch the application as a background task
94-
let application = Application::build(configuration.clone()).await.expect("Failed to build application.");
94+
let application = Application::build(configuration.clone())
95+
.await
96+
.expect("Failed to build application.");
9597
let application_port = application.port();
9698
let address = format!("http://localhost:{}", application_port);
9799
let _ = tokio::spawn(application.run_until_stopped());
@@ -105,10 +107,9 @@ pub async fn spawn_app() -> TestApp {
105107

106108
async fn configure_database(config: &DatabaseSettings) -> PgPool {
107109
// Create database
108-
let mut connection =
109-
PgConnection::connect_with(&config.without_db())
110-
.await
111-
.expect("Failed to connect to Postgres");
110+
let mut connection = PgConnection::connect_with(&config.without_db())
111+
.await
112+
.expect("Failed to connect to Postgres");
112113
connection
113114
.execute(&*format!(r#"CREATE DATABASE "{}";"#, config.name))
114115
.await

tests/api/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
mod helpers;
21
mod health_check;
2+
mod helpers;
33
mod subscriptions;
44
mod subscriptions_confirm;

tests/api/subscriptions_confirm.rs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ async fn the_link_returned_by_subscribe_returns_a_200_if_called() {
3535

3636
assert_eq!(confirmation_links.html, confirmation_links.plain_text);
3737
assert_eq!(confirmation_links.html.host_str().unwrap(), "127.0.0.1");
38-
assert_eq!(confirmation_links.plain_text.host_str().unwrap(), "127.0.0.1");
38+
assert_eq!(
39+
confirmation_links.plain_text.host_str().unwrap(),
40+
"127.0.0.1"
41+
);
3942

4043
let mut confirmation_link = confirmation_links.html.clone();
4144
confirmation_link.set_port(Some(app.port)).unwrap();
@@ -67,7 +70,11 @@ async fn clicking_on_the_confirmation_link_confirms_a_subscriber() {
6770
confirmation_link.set_port(Some(app.port)).unwrap();
6871

6972
// Act
70-
reqwest::get(confirmation_link).await.unwrap().error_for_status().unwrap();
73+
reqwest::get(confirmation_link)
74+
.await
75+
.unwrap()
76+
.error_for_status()
77+
.unwrap();
7178

7279
// Assert
7380
let saved = sqlx::query!("SELECT email, name, status FROM subscriptions",)

0 commit comments

Comments
 (0)