Skip to content

Commit f90863b

Browse files
committed
Rename krate::metadata::krate to show_minimal
1 parent 2dbb3db commit f90863b

File tree

5 files changed

+46
-50
lines changed

5 files changed

+46
-50
lines changed

src/controllers/krate/metadata.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ pub fn show(req: &mut dyn RequestExt) -> EndpointResult {
180180
///
181181
/// A minimal version of [`show`] that only covers the crate itself, without versions or catalog information
182182
/// (such as keywords and categories).
183-
pub fn krate(req: &mut dyn RequestExt) -> EndpointResult {
183+
pub fn show_minimal(req: &mut dyn RequestExt) -> EndpointResult {
184184
let name = &req.params()["crate_id"];
185185
let conn = req.db_read_only()?;
186186
let krate: Crate = Crate::by_name(name).first(&*conn)?;

src/router.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ pub fn build_router(app: &App) -> RouteBuilder {
3636

3737
// Routes used by the frontend
3838
api_router.get("/crates/:crate_id", C(krate::metadata::show));
39-
api_router.get("/crates/:crate_id/crate", C(krate::metadata::krate));
39+
api_router.get("/crates/:crate_id/crate", C(krate::metadata::show_minimal));
4040
api_router.get("/crates/:crate_id/:version", C(version::metadata::show));
4141
api_router.get(
4242
"/crates/:crate_id/:version/readme",

src/tests/krate/krate.rs

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/tests/krate/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
mod dependencies;
22
mod downloads;
33
mod following;
4-
mod krate;
54
mod owners;
65
mod publish;
76
mod reverse_dependencies;

src/tests/krate/show.rs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,50 @@ fn show() {
6868
);
6969
}
7070

71+
#[test]
72+
fn show_minimal() {
73+
let (app, anon, user) = TestApp::init().with_user();
74+
let user = user.as_model();
75+
76+
let krate = app.db(|conn| {
77+
use cargo_registry::schema::versions;
78+
use diesel::{update, ExpressionMethods};
79+
80+
let krate = CrateBuilder::new("foo_show_minimal", user.id)
81+
.description("description")
82+
.documentation("https://example.com")
83+
.homepage("http://example.com")
84+
.version(VersionBuilder::new("1.0.0"))
85+
.version(VersionBuilder::new("0.5.0"))
86+
.version(VersionBuilder::new("0.5.1"))
87+
.keyword("kw1")
88+
.downloads(20)
89+
.recent_downloads(10)
90+
.expect_build(conn);
91+
92+
// Make version 1.0.0 mimic a version published before we started recording who published
93+
// versions
94+
let none: Option<i32> = None;
95+
update(versions::table)
96+
.filter(versions::num.eq("1.0.0"))
97+
.set(versions::published_by.eq(none))
98+
.execute(conn)
99+
.unwrap();
100+
101+
krate
102+
});
103+
104+
let json = anon.show_crate_minimal("foo_show_minimal");
105+
assert_eq!(json.name, krate.name);
106+
assert_eq!(json.id, krate.name);
107+
assert_eq!(json.description, krate.description);
108+
assert_eq!(json.homepage, krate.homepage);
109+
assert_eq!(json.documentation, krate.documentation);
110+
assert_eq!(json.keywords, None);
111+
assert_eq!(json.recent_downloads, None);
112+
assert_eq!(json.versions, None);
113+
}
114+
71115
#[test]
72116
fn block_bad_documentation_url() {
73117
let (app, anon, user) = TestApp::init().with_user();

0 commit comments

Comments
 (0)