Skip to content

Commit 43f3c91

Browse files
authored
tests/models/krate: Replace TestApp usage with TestDatabase (#9647)
We don't need to spin up a full-blown app for this test, when all we need is a simple database connection.
1 parent c553294 commit 43f3c91

File tree

1 file changed

+51
-40
lines changed

1 file changed

+51
-40
lines changed

src/tests/models/krate.rs

Lines changed: 51 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,58 @@
1+
use crate::schema::users;
12
use crate::tests::builders::{CrateBuilder, VersionBuilder};
23
use crate::tests::util::insta::assert_json_snapshot;
3-
use crate::tests::TestApp;
44
use chrono::{Days, Utc};
5+
use crates_io_test_db::TestDatabase;
6+
use diesel::{ExpressionMethods, RunQueryDsl};
57

68
#[test]
79
fn index_metadata() {
8-
let (app, _, user) = TestApp::init().with_user();
9-
let user = user.as_model();
10-
11-
app.db(|conn| {
12-
let created_at_1 = Utc::now()
13-
.checked_sub_days(Days::new(14))
14-
.unwrap()
15-
.naive_utc();
16-
17-
let created_at_2 = Utc::now()
18-
.checked_sub_days(Days::new(7))
19-
.unwrap()
20-
.naive_utc();
21-
22-
let fooo = CrateBuilder::new("foo", user.id)
23-
.version(VersionBuilder::new("0.1.0"))
24-
.expect_build(conn);
25-
26-
let metadata = fooo.index_metadata(conn).unwrap();
27-
assert_json_snapshot!(metadata);
28-
29-
let bar = CrateBuilder::new("bar", user.id)
30-
.version(
31-
VersionBuilder::new("1.0.0-beta.1")
32-
.created_at(created_at_1)
33-
.yanked(true),
34-
)
35-
.version(VersionBuilder::new("1.0.0").created_at(created_at_1))
36-
.version(
37-
VersionBuilder::new("2.0.0")
38-
.created_at(created_at_2)
39-
.dependency(&fooo, None),
40-
)
41-
.version(VersionBuilder::new("1.0.1").checksum("0123456789abcdef"))
42-
.expect_build(conn);
43-
44-
let metadata = bar.index_metadata(conn).unwrap();
45-
assert_json_snapshot!(metadata);
46-
});
10+
let test_db = TestDatabase::new();
11+
let mut conn = test_db.connect();
12+
13+
let user_id = diesel::insert_into(users::table)
14+
.values((
15+
users::name.eq("user1"),
16+
users::gh_login.eq("user1"),
17+
users::gh_id.eq(42),
18+
users::gh_access_token.eq("some random token"),
19+
))
20+
.returning(users::id)
21+
.get_result::<i32>(&mut conn)
22+
.unwrap();
23+
24+
let created_at_1 = Utc::now()
25+
.checked_sub_days(Days::new(14))
26+
.unwrap()
27+
.naive_utc();
28+
29+
let created_at_2 = Utc::now()
30+
.checked_sub_days(Days::new(7))
31+
.unwrap()
32+
.naive_utc();
33+
34+
let fooo = CrateBuilder::new("foo", user_id)
35+
.version(VersionBuilder::new("0.1.0"))
36+
.expect_build(&mut conn);
37+
38+
let metadata = fooo.index_metadata(&mut conn).unwrap();
39+
assert_json_snapshot!(metadata);
40+
41+
let bar = CrateBuilder::new("bar", user_id)
42+
.version(
43+
VersionBuilder::new("1.0.0-beta.1")
44+
.created_at(created_at_1)
45+
.yanked(true),
46+
)
47+
.version(VersionBuilder::new("1.0.0").created_at(created_at_1))
48+
.version(
49+
VersionBuilder::new("2.0.0")
50+
.created_at(created_at_2)
51+
.dependency(&fooo, None),
52+
)
53+
.version(VersionBuilder::new("1.0.1").checksum("0123456789abcdef"))
54+
.expect_build(&mut conn);
55+
56+
let metadata = bar.index_metadata(&mut conn).unwrap();
57+
assert_json_snapshot!(metadata);
4758
}

0 commit comments

Comments
 (0)