diff --git a/cargo-registry-markdown/lib.rs b/cargo-registry-markdown/lib.rs
index 8009b279c09..688baacc2f6 100644
--- a/cargo-registry-markdown/lib.rs
+++ b/cargo-registry-markdown/lib.rs
@@ -390,8 +390,7 @@ mod tests {
assert_eq!(
result,
format!(
- "
hi
\n",
- host
+ "hi
\n"
)
);
@@ -399,8 +398,7 @@ mod tests {
assert_eq!(
result,
format!(
- "there
\n",
- host
+ "there
\n"
)
);
@@ -408,8 +406,7 @@ mod tests {
assert_eq!(
result,
format!(
- "
\n",
- host
+ "
\n",
)
);
@@ -417,8 +414,7 @@ mod tests {
assert_eq!(
result,
format!(
- "
\n",
- host
+ "
\n",
)
);
@@ -426,8 +422,7 @@ mod tests {
assert_eq!(
result,
format!(
- "
\n",
- host
+ "
\n",
)
);
@@ -435,8 +430,7 @@ mod tests {
assert_eq!(
result,
format!(
- "
\n",
- host
+ "
\n",
)
);
@@ -444,8 +438,7 @@ mod tests {
assert_eq!(
result,
format!(
- "
\n",
- host
+ "
\n",
)
);
}
diff --git a/cargo-registry-s3/lib.rs b/cargo-registry-s3/lib.rs
index ed48d815bbf..aefae0d0c9b 100644
--- a/cargo-registry-s3/lib.rs
+++ b/cargo-registry-s3/lib.rs
@@ -85,7 +85,7 @@ impl Bucket {
"{}.s3{}.amazonaws.com",
self.name,
match self.region {
- Some(ref r) if !r.is_empty() => format!("-{}", r),
+ Some(ref r) if !r.is_empty() => format!("-{r}"),
Some(_) => String::new(),
None => String::new(),
}
@@ -95,13 +95,9 @@ impl Bucket {
fn auth(&self, verb: &str, date: &str, path: &str, md5: &str, content_type: &str) -> String {
let string = format!(
"{verb}\n{md5}\n{ty}\n{date}\n{headers}/{name}/{path}",
- verb = verb,
- md5 = md5,
ty = content_type,
- date = date,
headers = "",
name = self.name,
- path = path
);
let signature = {
let key = self.secret_key.as_bytes();
diff --git a/src/admin/delete_crate.rs b/src/admin/delete_crate.rs
index e286a293ec7..f710d4b6c81 100644
--- a/src/admin/delete_crate.rs
+++ b/src/admin/delete_crate.rs
@@ -37,7 +37,7 @@ fn delete(opts: Opts, conn: &PgConnection) {
let n = diesel::delete(crates::table.find(krate.id))
.execute(conn)
.unwrap();
- println!(" {} deleted", n);
+ println!(" {n} deleted");
if !dialoguer::confirm("commit?") {
panic!("aborting transaction");
diff --git a/src/admin/on_call.rs b/src/admin/on_call.rs
index 3a0a1ecc437..28f953ac29e 100644
--- a/src/admin/on_call.rs
+++ b/src/admin/on_call.rs
@@ -31,7 +31,7 @@ impl Event {
let response = Client::new()
.post("https://events.pagerduty.com/generic/2010-04-15/create_event.json")
.header(header::ACCEPT, "application/vnd.pagerduty+json;version=2")
- .header(header::AUTHORIZATION, format!("Token token={}", api_token))
+ .header(header::AUTHORIZATION, format!("Token token={api_token}"))
.json(&FullEvent {
service_key,
event: self,
diff --git a/src/admin/render_readmes.rs b/src/admin/render_readmes.rs
index 990cf348b81..9fabe742888 100644
--- a/src/admin/render_readmes.rs
+++ b/src/admin/render_readmes.rs
@@ -52,8 +52,8 @@ pub fn run(opts: Opts) -> anyhow::Result<()> {
};
let older_than = older_than.naive_utc();
- println!("Start time: {}", start_time);
- println!("Rendering readmes older than: {}", older_than);
+ println!("Start time: {start_time}");
+ println!("Rendering readmes older than: {older_than}");
let mut query = versions::table
.inner_join(crates::table)
@@ -67,14 +67,14 @@ pub fn run(opts: Opts) -> anyhow::Result<()> {
.into_boxed();
if let Some(crate_name) = opts.crate_name {
- println!("Rendering readmes for {}", crate_name);
+ println!("Rendering readmes for {crate_name}");
query = query.filter(crates::name.eq(crate_name));
}
let version_ids: Vec = query.load(&conn).expect("error loading version ids");
let total_versions = version_ids.len();
- println!("Rendering {} versions", total_versions);
+ println!("Rendering {total_versions} versions");
let page_size = opts.page_size;
@@ -138,8 +138,8 @@ pub fn run(opts: Opts) -> anyhow::Result<()> {
}
for handle in tasks {
match handle.join() {
- Err(err) => println!("Thread panicked: {:?}", err),
- Ok(Err(err)) => println!("Thread failed: {:?}", err),
+ Err(err) => println!("Thread panicked: {err:?}"),
+ Ok(Err(err)) => println!("Thread failed: {err:?}"),
_ => {}
}
}
@@ -161,7 +161,7 @@ fn get_readme(
let location = match uploader {
Uploader::S3 { .. } => location,
- Uploader::Local => format!("http://localhost:8888/{}", location),
+ Uploader::Local => format!("http://localhost:8888/{location}"),
};
let mut extra_headers = header::HeaderMap::new();
@@ -188,7 +188,7 @@ fn render_pkg_readme(mut archive: Archive, pkg_name: &str) -> anyhow
let mut entries = archive.entries().context("Invalid tar archive entries")?;
let manifest: Manifest = {
- let path = format!("{}/Cargo.toml", pkg_name);
+ let path = format!("{pkg_name}/Cargo.toml");
let contents = find_file_by_path(&mut entries, Path::new(&path))
.context("Failed to read Cargo.toml file")?;
@@ -201,9 +201,9 @@ fn render_pkg_readme(mut archive: Archive, pkg_name: &str) -> anyhow
.readme
.clone()
.unwrap_or_else(|| "README.md".into());
- let path = format!("{}/{}", pkg_name, readme_path);
+ let path = format!("{pkg_name}/{readme_path}");
let contents = find_file_by_path(&mut entries, Path::new(&path))
- .with_context(|| format!("Failed to read {} file", readme_path))?;
+ .with_context(|| format!("Failed to read {readme_path} file"))?;
// pkg_path_in_vcs Unsupported from admin::render_readmes. See #4095
// Would need access to cargo_vcs_info
diff --git a/src/bin/enqueue-job.rs b/src/bin/enqueue-job.rs
index 95197cc07b3..3c9c80ff765 100644
--- a/src/bin/enqueue-job.rs
+++ b/src/bin/enqueue-job.rs
@@ -11,7 +11,7 @@ fn main() -> Result<()> {
let mut args = std::env::args().skip(1);
let job = args.next().unwrap_or_default();
- println!("Enqueueing background job: {}", job);
+ println!("Enqueueing background job: {job}");
match &*job {
"update_downloads" => {
diff --git a/src/bin/monitor.rs b/src/bin/monitor.rs
index ce0e89f0681..7cfc2874f63 100644
--- a/src/bin/monitor.rs
+++ b/src/bin/monitor.rs
@@ -54,8 +54,7 @@ fn check_failing_background_jobs(conn: &PgConnection) -> Result<()> {
on_call::Event::Trigger {
incident_key: Some(EVENT_KEY.into()),
description: format!(
- "{} jobs have been in the queue for more than {} minutes",
- stalled_job_count, max_job_time
+ "{stalled_job_count} jobs have been in the queue for more than {max_job_time} minutes"
),
}
} else {
@@ -95,7 +94,7 @@ fn check_stalled_update_downloads(conn: &PgConnection) -> Result<()> {
if minutes > max_job_time {
return log_and_trigger_event(on_call::Event::Trigger {
incident_key: Some(EVENT_KEY.into()),
- description: format!("update_downloads job running for {} minutes", minutes),
+ description: format!("update_downloads job running for {minutes} minutes"),
});
}
};
@@ -130,13 +129,13 @@ fn check_spam_attack(conn: &PgConnection) -> Result<()> {
.optional()?;
if let Some(bad_crate) = bad_crate {
- event_description = Some(format!("Crate named {} published", bad_crate));
+ event_description = Some(format!("Crate named {bad_crate} published"));
}
let event = if let Some(event_description) = event_description {
on_call::Event::Trigger {
incident_key: Some(EVENT_KEY.into()),
- description: format!("{}, possible spam attack underway", event_description,),
+ description: format!("{event_description}, possible spam attack underway"),
}
} else {
on_call::Event::Resolve {
@@ -153,11 +152,11 @@ fn log_and_trigger_event(event: on_call::Event) -> Result<()> {
match event {
on_call::Event::Trigger {
ref description, ..
- } => println!("Paging on-call: {}", description),
+ } => println!("Paging on-call: {description}"),
on_call::Event::Resolve {
description: Some(ref description),
..
- } => println!("{}", description),
+ } => println!("{description}"),
_ => {} // noop
}
event.send()
diff --git a/src/bin/server.rs b/src/bin/server.rs
index 04e3586af98..e321817c8cc 100644
--- a/src/bin/server.rs
+++ b/src/bin/server.rs
@@ -110,7 +110,7 @@ fn main() -> Result<(), Box> {
// Do not change this line! Removing the line or changing its contents in any way will break
// the test suite :)
- println!("Listening at http://{}", addr);
+ println!("Listening at http://{addr}");
// Creating this file tells heroku to tell nginx that the application is ready
// to receive traffic.
@@ -120,7 +120,7 @@ fn main() -> Result<(), Box> {
} else {
"/tmp/app-initialized"
};
- println!("Writing to {}", path);
+ println!("Writing to {path}");
File::create(path).unwrap();
// Launch nginx via the Heroku nginx buildpack
@@ -137,7 +137,7 @@ fn main() -> Result<(), Box> {
println!("Persisting remaining downloads counters");
match app.downloads_counter.persist_all_shards(&app) {
Ok(stats) => stats.log(),
- Err(err) => println!("downloads_counter error: {}", err),
+ Err(err) => println!("downloads_counter error: {err}"),
}
println!("Server has gracefully shutdown!");
@@ -154,7 +154,7 @@ fn downloads_counter_thread(app: Arc) {
match app.downloads_counter.persist_next_shard(&app) {
Ok(stats) => stats.log(),
- Err(err) => println!("downloads_counter error: {}", err),
+ Err(err) => println!("downloads_counter error: {err}"),
}
});
}
@@ -169,7 +169,7 @@ fn log_instance_metrics_thread(app: Arc) {
std::thread::spawn(move || loop {
if let Err(err) = log_instance_metrics_inner(&app) {
- eprintln!("log_instance_metrics error: {}", err);
+ eprintln!("log_instance_metrics error: {err}");
}
std::thread::sleep(interval);
});
diff --git a/src/boot/categories.rs b/src/boot/categories.rs
index de14d3250ac..632a585aeb6 100644
--- a/src/boot/categories.rs
+++ b/src/boot/categories.rs
@@ -38,7 +38,7 @@ impl Category {
fn required_string_from_toml<'a>(toml: &'a toml::value::Table, key: &str) -> Result<&'a str> {
toml.get(key)
.and_then(toml::Value::as_str)
- .with_context(|| format!("Expected category TOML attribute '{}' to be a String", key))
+ .with_context(|| format!("Expected category TOML attribute '{key}' to be a String"))
}
fn optional_string_from_toml<'a>(toml: &'a toml::value::Table, key: &str) -> &'a str {
@@ -54,7 +54,7 @@ fn categories_from_toml(
for (slug, details) in categories {
let details = details
.as_table()
- .with_context(|| format!("category {} was not a TOML table", slug))?;
+ .with_context(|| format!("category {slug} was not a TOML table"))?;
let category = Category::from_parent(
slug,
@@ -66,7 +66,7 @@ fn categories_from_toml(
if let Some(categories) = details.get("categories") {
let categories = categories
.as_table()
- .with_context(|| format!("child categories of {} were not a table", slug))?;
+ .with_context(|| format!("child categories of {slug} were not a table"))?;
result.extend(categories_from_toml(categories, Some(&category))?);
}
diff --git a/src/controllers.rs b/src/controllers.rs
index 4dae7b59055..169ff5e0175 100644
--- a/src/controllers.rs
+++ b/src/controllers.rs
@@ -72,7 +72,7 @@ mod prelude {
let query_string = url::form_urlencoded::Serializer::new(String::new())
.extend_pairs(params)
.finish();
- format!("?{}", query_string)
+ format!("?{query_string}")
}
fn log_metadata(&mut self, key: &'static str, value: V) {
diff --git a/src/controllers/krate/search.rs b/src/controllers/krate/search.rs
index d34520399bb..3951776e1a0 100644
--- a/src/controllers/krate/search.rs
+++ b/src/controllers/krate/search.rs
@@ -104,7 +104,7 @@ pub fn search(req: &mut dyn RequestExt) -> EndpointResult {
.filter(
categories::slug
.eq(cat)
- .or(categories::slug.like(format!("{}::%", cat))),
+ .or(categories::slug.like(format!("{cat}::%"))),
),
),
);
diff --git a/src/controllers/token.rs b/src/controllers/token.rs
index 536edc5b27c..7ed38c09ce0 100644
--- a/src/controllers/token.rs
+++ b/src/controllers/token.rs
@@ -42,7 +42,7 @@ pub fn new(req: &mut dyn RequestExt) -> EndpointResult {
.ok_or_else(|| bad_request("missing header: Content-Length"))?;
if length > max_size {
- return Err(bad_request(&format!("max content length is: {}", max_size)));
+ return Err(bad_request(&format!("max content length is: {max_size}")));
}
let mut json = vec![0; length as usize];
@@ -52,7 +52,7 @@ pub fn new(req: &mut dyn RequestExt) -> EndpointResult {
String::from_utf8(json).map_err(|_| bad_request(&"json body was not valid utf-8"))?;
let new: NewApiTokenRequest = json::from_str(&json)
- .map_err(|e| bad_request(&format!("invalid new token request: {:?}", e)))?;
+ .map_err(|e| bad_request(&format!("invalid new token request: {e:?}")))?;
let name = &new.api_token.name;
if name.is_empty() {
@@ -88,7 +88,7 @@ pub fn new(req: &mut dyn RequestExt) -> EndpointResult {
pub fn revoke(req: &mut dyn RequestExt) -> EndpointResult {
let id = req.params()["id"]
.parse::()
- .map_err(|e| bad_request(&format!("invalid token id: {:?}", e)))?;
+ .map_err(|e| bad_request(&format!("invalid token id: {e:?}")))?;
let authenticated_user = req.authenticate()?;
let conn = req.db_conn()?;
diff --git a/src/controllers/util.rs b/src/controllers/util.rs
index 693733bb5db..aa824d8148f 100644
--- a/src/controllers/util.rs
+++ b/src/controllers/util.rs
@@ -57,10 +57,8 @@ fn verify_origin(req: &dyn RequestExt) -> AppResult<()> {
.find(|value| !allowed_origins.iter().any(|it| it == value));
if let Some(bad_origin) = bad_origin {
- let error_message = format!(
- "only same-origin requests can be authenticated. got {:?}",
- bad_origin
- );
+ let error_message =
+ format!("only same-origin requests can be authenticated. got {bad_origin:?}");
return Err(internal(&error_message).chain(forbidden()));
}
Ok(())
diff --git a/src/email.rs b/src/email.rs
index 63b19497fe6..7d9b913d669 100644
--- a/src/email.rs
+++ b/src/email.rs
@@ -74,12 +74,9 @@ https://{}/confirm/{}",
) -> AppResult<()> {
let subject = "Crate ownership invitation";
let body = format!(
- "{} has invited you to become an owner of the crate {}!\n
-Visit https://{domain}/accept-invite/{} to accept this invitation,
+ "{user_name} has invited you to become an owner of the crate {crate_name}!\n
+Visit https://{domain}/accept-invite/{token} to accept this invitation,
or go to https://{domain}/me/pending-invites to manage all of your crate ownership invitations.",
- user_name,
- crate_name,
- token,
domain = crate::config::domain_name()
);
diff --git a/src/git.rs b/src/git.rs
index c613d66b2f2..4e9eeaa7622 100644
--- a/src/git.rs
+++ b/src/git.rs
@@ -241,7 +241,7 @@ impl Repository {
repo.remote_with_fetch(
name,
url,
- &format!("+refs/heads/master:refs/remotes/{}/master", name),
+ &format!("+refs/heads/master:refs/remotes/{name}/master"),
)
})
.clone(
@@ -368,13 +368,13 @@ impl Repository {
/// This function also prints the commit message and a success or failure
/// message to the console.
pub fn commit_and_push(&self, message: &str, modified_file: &Path) -> anyhow::Result<()> {
- println!("Committing and pushing \"{}\"", message);
+ println!("Committing and pushing \"{message}\"");
let relative_path = modified_file.strip_prefix(self.checkout_path.path())?;
self.perform_commit_and_push(message, relative_path)
- .map(|_| println!("Commit and push finished for \"{}\"", message))
+ .map(|_| println!("Commit and push finished for \"{message}\""))
.map_err(|err| {
- eprintln!("Commit and push for \"{}\" errored: {}", message, err);
+ eprintln!("Commit and push for \"{message}\" errored: {err}");
err
})
}
@@ -396,7 +396,7 @@ impl Repository {
let head = self.head_oid()?;
if head != original_head {
- println!("Resetting index from {} to {}", original_head, head);
+ println!("Resetting index from {original_head} to {head}");
}
let obj = self.repository.find_object(head, None)?;
diff --git a/src/github.rs b/src/github.rs
index 6a94ce5d95f..06b2db2310d 100644
--- a/src/github.rs
+++ b/src/github.rs
@@ -26,7 +26,7 @@ impl GitHubClient {
}
pub fn org_by_name(&self, org_name: &str, auth: &AccessToken) -> AppResult {
- let url = format!("/orgs/{}", org_name);
+ let url = format!("/orgs/{org_name}");
self.request(&url, auth)
}
@@ -36,7 +36,7 @@ impl GitHubClient {
team_name: &str,
auth: &AccessToken,
) -> AppResult {
- let url = format!("/orgs/{}/teams/{}", org_name, team_name);
+ let url = format!("/orgs/{org_name}/teams/{team_name}");
self.request(&url, auth)
}
@@ -47,10 +47,7 @@ impl GitHubClient {
username: &str,
auth: &AccessToken,
) -> AppResult {
- let url = format!(
- "/organizations/{}/team/{}/memberships/{}",
- org_id, team_id, username
- );
+ let url = format!("/organizations/{org_id}/team/{team_id}/memberships/{username}");
self.request(&url, auth)
}
@@ -62,7 +59,7 @@ impl GitHubClient {
T: DeserializeOwned,
{
let url = format!("{}{}", self.base_url, url);
- info!("GITHUB HTTP: {}", url);
+ info!("GITHUB HTTP: {url}");
self.client()
.get(&url)
diff --git a/src/middleware.rs b/src/middleware.rs
index df952a3f45f..87155e0fa2e 100644
--- a/src/middleware.rs
+++ b/src/middleware.rs
@@ -90,10 +90,7 @@ pub fn build_middleware(app: Arc, endpoints: RouteBuilder) -> MiddlewareBui
if let Ok(capacity) = env::var("DB_PRIMARY_POOL_SIZE") {
if let Ok(capacity) = capacity.parse() {
if capacity >= 10 {
- println!(
- "Enabling BalanceCapacity middleware with {} pool capacity",
- capacity
- );
+ println!("Enabling BalanceCapacity middleware with {capacity} pool capacity");
m.around(balance_capacity::BalanceCapacity::new(capacity))
} else {
println!(
diff --git a/src/middleware/debug.rs b/src/middleware/debug.rs
index d6eae135cf8..e8e179dc922 100644
--- a/src/middleware/debug.rs
+++ b/src/middleware/debug.rs
@@ -14,7 +14,7 @@ impl Middleware for Debug {
res.map(|res| {
debug!(" <- {:?}", res.status());
for (k, v) in res.headers().iter() {
- debug!(" <- {} {:?}", k, v);
+ debug!(" <- {k} {v:?}");
}
res
})
diff --git a/src/models/action.rs b/src/models/action.rs
index 266e91c681e..d8b945f80da 100644
--- a/src/models/action.rs
+++ b/src/models/action.rs
@@ -44,7 +44,7 @@ impl FromSql for VersionAction {
0 => Ok(VersionAction::Publish),
1 => Ok(VersionAction::Yank),
2 => Ok(VersionAction::Unyank),
- n => Err(format!("unknown version action: {}", n).into()),
+ n => Err(format!("unknown version action: {n}").into()),
}
}
}
diff --git a/src/models/dependency.rs b/src/models/dependency.rs
index 0548f4386db..37688a5d05f 100644
--- a/src/models/dependency.rs
+++ b/src/models/dependency.rs
@@ -48,7 +48,7 @@ impl FromSql for DependencyKind {
0 => Ok(DependencyKind::Normal),
1 => Ok(DependencyKind::Build),
2 => Ok(DependencyKind::Dev),
- n => Err(format!("unknown kind: {}", n).into()),
+ n => Err(format!("unknown kind: {n}").into()),
}
}
}
diff --git a/src/models/krate.rs b/src/models/krate.rs
index 7dd789fe363..bb707cf4543 100644
--- a/src/models/krate.rs
+++ b/src/models/krate.rs
@@ -210,7 +210,7 @@ impl Crate {
crates::name: SelectableExpression,
{
if name.len() > 2 {
- let wildcard_name = format!("%{}%", name);
+ let wildcard_name = format!("%{name}%");
Box::new(canon_crate_name(crates::name).like(canon_crate_name(wildcard_name)))
} else {
diesel_infix_operator!(MatchesWord, "%>");
diff --git a/src/models/version.rs b/src/models/version.rs
index b777087a50b..2e46c846050 100644
--- a/src/models/version.rs
+++ b/src/models/version.rs
@@ -286,7 +286,7 @@ mod tests {
assert_ok!(validate_license_expr("GPL-3.0+"));
let error = assert_err!(validate_license_expr("apache 2.0"));
- let error = format!("{}", error);
+ let error = format!("{error}");
assert!(error.starts_with("unknown or invalid license expression; see http"));
}
}
diff --git a/src/tests/account_lock.rs b/src/tests/account_lock.rs
index e94e3e28bf2..c877b525d1e 100644
--- a/src/tests/account_lock.rs
+++ b/src/tests/account_lock.rs
@@ -29,10 +29,7 @@ fn account_locked_indefinitely() {
let response = user.get::<()>(URL);
assert_eq!(response.status(), StatusCode::FORBIDDEN);
- let error_message = format!(
- "This account is indefinitely locked. Reason: {}",
- LOCK_REASON
- );
+ let error_message = format!("This account is indefinitely locked. Reason: {LOCK_REASON}");
assert_eq!(
response.into_json(),
json!({ "errors": [{ "detail": error_message }] })
@@ -50,10 +47,7 @@ fn account_locked_with_future_expiry() {
let response = user.get::<()>(URL);
assert_eq!(response.status(), StatusCode::FORBIDDEN);
- let error_message = format!(
- "This account is locked until {}. Reason: {}",
- until, LOCK_REASON,
- );
+ let error_message = format!("This account is locked until {until}. Reason: {LOCK_REASON}");
assert_eq!(
response.into_json(),
json!({ "errors": [{ "detail": error_message }] })
diff --git a/src/tests/keyword.rs b/src/tests/keyword.rs
index 8f1c9511015..43e33e57e52 100644
--- a/src/tests/keyword.rs
+++ b/src/tests/keyword.rs
@@ -65,7 +65,7 @@ fn update_crate() {
let user = user.as_model();
let cnt = |kw: &str| {
- let json: GoodKeyword = anon.get(&format!("/api/v1/keywords/{}", kw)).good();
+ let json: GoodKeyword = anon.get(&format!("/api/v1/keywords/{kw}")).good();
json.keyword.crates_cnt as usize
};
diff --git a/src/tests/krate/downloads.rs b/src/tests/krate/downloads.rs
index bbc97137dba..fcdb208859f 100644
--- a/src/tests/krate/downloads.rs
+++ b/src/tests/krate/downloads.rs
@@ -24,7 +24,7 @@ fn assert_dl_count(
query: Option<&str>,
count: i32,
) {
- let url = format!("/api/v1/crates/{}/downloads", name_and_version);
+ let url = format!("/api/v1/crates/{name_and_version}/downloads");
let downloads: Downloads = if let Some(query) = query {
anon.get_with_query(&url, query).good()
} else {
@@ -50,7 +50,7 @@ fn download() {
});
let download = |name_and_version: &str| {
- let url = format!("/api/v1/crates/{}/download", name_and_version);
+ let url = format!("/api/v1/crates/{name_and_version}/download");
let response = anon.get::<()>(&url);
assert_eq!(response.status(), StatusCode::FOUND);
// TODO: test the with_json code path
@@ -71,13 +71,13 @@ fn download() {
assert_dl_count(&anon, "FOO_DOWNLOAD", None, 2);
let yesterday = (Utc::today() + Duration::days(-1)).format("%F");
- let query = format!("before_date={}", yesterday);
+ let query = format!("before_date={yesterday}");
assert_dl_count(&anon, "FOO_DOWNLOAD/1.0.0", Some(&query), 0);
// crate/downloads always returns the last 90 days and ignores date params
assert_dl_count(&anon, "FOO_DOWNLOAD", Some(&query), 2);
let tomorrow = (Utc::today() + Duration::days(1)).format("%F");
- let query = format!("before_date={}", tomorrow);
+ let query = format!("before_date={tomorrow}");
assert_dl_count(&anon, "FOO_DOWNLOAD/1.0.0", Some(&query), 2);
assert_dl_count(&anon, "FOO_DOWNLOAD", Some(&query), 2);
}
diff --git a/src/tests/krate/following.rs b/src/tests/krate/following.rs
index e110409c93c..6e856bd468a 100644
--- a/src/tests/krate/following.rs
+++ b/src/tests/krate/following.rs
@@ -71,7 +71,7 @@ fn disallow_api_token_auth_for_get_crate_following_status() {
// Token auth on GET for get following status is disallowed
token
- .get(&format!("/api/v1/crates/{}/following", a_crate))
+ .get(&format!("/api/v1/crates/{a_crate}/following"))
.assert_forbidden();
}
@@ -95,7 +95,7 @@ fn getting_followed_crates_allows_api_token_auth() {
}
// Token auth on GET for get following status is disallowed
- user.get::(&format!("/api/v1/crates/{}/following", crate_name))
+ user.get::(&format!("/api/v1/crates/{crate_name}/following"))
.good()
.following
};
@@ -103,7 +103,7 @@ fn getting_followed_crates_allows_api_token_auth() {
let follow = |crate_name: &str| {
assert!(
token
- .put::(&format!("/api/v1/crates/{}/follow", crate_name), b"")
+ .put::(&format!("/api/v1/crates/{crate_name}/follow"), b"")
.good()
.ok
);
diff --git a/src/tests/krate/reverse_dependencies.rs b/src/tests/krate/reverse_dependencies.rs
index 9a28f2ef72a..60c4f942fc1 100644
--- a/src/tests/krate/reverse_dependencies.rs
+++ b/src/tests/krate/reverse_dependencies.rs
@@ -12,7 +12,7 @@ struct RevDeps {
impl crate::util::MockAnonymousUser {
fn reverse_dependencies(&self, krate_name: &str) -> RevDeps {
- let url = format!("/api/v1/crates/{}/reverse_dependencies", krate_name);
+ let url = format!("/api/v1/crates/{krate_name}/reverse_dependencies");
self.get(&url).good()
}
}
diff --git a/src/tests/krate/yanking.rs b/src/tests/krate/yanking.rs
index 2d61bf8d0c2..5bdbba5adbe 100644
--- a/src/tests/krate/yanking.rs
+++ b/src/tests/krate/yanking.rs
@@ -6,7 +6,7 @@ use http::StatusCode;
impl crate::util::MockTokenUser {
/// Yank the specified version of the specified crate and run all pending background jobs
fn yank(&self, krate_name: &str, version: &str) -> crate::util::Response {
- let url = format!("/api/v1/crates/{}/{}/yank", krate_name, version);
+ let url = format!("/api/v1/crates/{krate_name}/{version}/yank");
let response = self.delete(&url);
self.app().run_pending_background_jobs();
response
@@ -14,7 +14,7 @@ impl crate::util::MockTokenUser {
/// Unyank the specified version of the specified crate and run all pending background jobs
fn unyank(&self, krate_name: &str, version: &str) -> crate::util::Response {
- let url = format!("/api/v1/crates/{}/{}/unyank", krate_name, version);
+ let url = format!("/api/v1/crates/{krate_name}/{version}/unyank");
let response = self.put(&url, &[]);
self.app().run_pending_background_jobs();
response
@@ -24,7 +24,7 @@ impl crate::util::MockTokenUser {
impl crate::util::MockCookieUser {
/// Yank the specified version of the specified crate and run all pending background jobs
fn yank(&self, krate_name: &str, version: &str) -> crate::util::Response {
- let url = format!("/api/v1/crates/{}/{}/yank", krate_name, version);
+ let url = format!("/api/v1/crates/{krate_name}/{version}/yank");
let response = self.delete(&url);
self.app().run_pending_background_jobs();
response
@@ -32,7 +32,7 @@ impl crate::util::MockCookieUser {
/// Unyank the specified version of the specified crate and run all pending background jobs
fn unyank(&self, krate_name: &str, version: &str) -> crate::util::Response {
- let url = format!("/api/v1/crates/{}/{}/unyank", krate_name, version);
+ let url = format!("/api/v1/crates/{krate_name}/{version}/unyank");
let response = self.put(&url, &[]);
self.app().run_pending_background_jobs();
response
diff --git a/src/tests/metrics.rs b/src/tests/metrics.rs
index 66cbf3ff30e..bc941cfe3ef 100644
--- a/src/tests/metrics.rs
+++ b/src/tests/metrics.rs
@@ -77,9 +77,9 @@ fn metrics_endpoint_auth_disabled() {
}
fn request_metrics(anon: &MockAnonymousUser, kind: &str, token: Option<&str>) -> Response<()> {
- let mut req = anon.get_request(&format!("/api/private/metrics/{}", kind));
+ let mut req = anon.get_request(&format!("/api/private/metrics/{kind}"));
if let Some(token) = token {
- req.header("Authorization", &format!("Bearer {}", token));
+ req.header("Authorization", &format!("Bearer {token}"));
}
anon.run(req)
}
diff --git a/src/tests/owners.rs b/src/tests/owners.rs
index 8827535b967..a12412b54b5 100644
--- a/src/tests/owners.rs
+++ b/src/tests/owners.rs
@@ -59,7 +59,7 @@ impl MockCookieUser {
}
});
- let url = format!("/api/v1/me/crate_owner_invitations/{}", krate_id);
+ let url = format!("/api/v1/me/crate_owner_invitations/{krate_id}");
self.put(&url, body.to_string().as_bytes())
}
@@ -97,7 +97,7 @@ impl MockCookieUser {
crate_owner_invitation: InvitationResponse,
}
- let url = format!("/api/v1/me/crate_owner_invitations/{}", krate_id);
+ let url = format!("/api/v1/me/crate_owner_invitations/{krate_id}");
let crate_owner_invite: CrateOwnerInvitation =
self.put(&url, body.to_string().as_bytes()).good();
assert!(!crate_owner_invite.crate_owner_invitation.accepted);
@@ -125,7 +125,7 @@ impl MockAnonymousUser {
&self,
token: &str,
) -> Response {
- let url = format!("/api/v1/me/crate_owner_invitations/accept/{}", token);
+ let url = format!("/api/v1/me/crate_owner_invitations/accept/{token}");
self.put(&url, &[])
}
}
diff --git a/src/tests/record.rs b/src/tests/record.rs
index 09f427354c3..3b4115956d0 100644
--- a/src/tests/record.rs
+++ b/src/tests/record.rs
@@ -59,7 +59,7 @@ impl Drop for Bomb {
Err(..) if !thread::panicking() => panic!("server subtask failed: {}", stderr),
Err(e) => {
if !stderr.is_empty() {
- println!("server subtask failed ({:?}): {}", e, stderr)
+ println!("server subtask failed ({e:?}): {stderr}")
}
}
Ok(_) if thread::panicking() => {}
@@ -293,7 +293,7 @@ fn replay_http(
) -> impl Future