Skip to content

Commit c69faed

Browse files
committed
Auto merge of #2194 - JohnTitor:case-insensitive, r=Turbo87
Make owner invites case-insensitive Fixes #2081 r? `@carols10cents`
2 parents 70cad04 + 33744bc commit c69faed

File tree

5 files changed

+18
-18
lines changed

5 files changed

+18
-18
lines changed

src/controllers/user/other.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::views::EncodablePublicUser;
99
pub fn show(req: &mut dyn RequestExt) -> EndpointResult {
1010
use self::users::dsl::{gh_login, id, users};
1111

12-
let name = &req.params()["user_id"].to_lowercase();
12+
let name = crate::lower(&req.params()["user_id"]);
1313
let conn = req.db_conn()?;
1414
let user: User = users
1515
.filter(crate::lower(gh_login).eq(name))

src/models/owner.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ impl Owner {
7171
)?))
7272
} else {
7373
users::table
74-
.filter(users::gh_login.eq(name))
74+
.filter(crate::lower(users::gh_login).eq(name.to_lowercase()))
7575
.filter(users::gh_id.ne(-1))
7676
.order(users::gh_id.desc())
7777
.first(conn)

src/tests/owners.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ fn new_crate_owner() {
9292
let crate_to_publish = PublishBuilder::new("foo_owner").version("1.0.0");
9393
token.enqueue_publish(crate_to_publish).good();
9494

95-
// Add the second user as an owner
96-
let user2 = app.db_new_user("bar");
97-
token.add_user_owner("foo_owner", user2.as_model());
95+
// Add the second user as an owner (with a different case to make sure that works)
96+
let user2 = app.db_new_user("Bar");
97+
token.add_user_owner("foo_owner", "BAR");
9898

9999
// accept invitation for user to be added as owner
100100
let krate: Crate = app.db(|conn| Crate::by_name("foo_owner").first(conn).unwrap());
@@ -104,7 +104,7 @@ fn new_crate_owner() {
104104
let crates = user2.search_by_user_id(user2.as_model().id);
105105
assert_eq!(crates.crates.len(), 1);
106106

107-
// And upload a new crate as the second user
107+
// And upload a new version as the second user
108108
let crate_to_publish = PublishBuilder::new("foo_owner").version("2.0.0");
109109
user2
110110
.db_new_token("bar_token")
@@ -119,7 +119,7 @@ fn create_and_add_owner(
119119
krate: &Crate,
120120
) -> MockCookieUser {
121121
let user = app.db_new_user(username);
122-
token.add_user_owner(&krate.name, user.as_model());
122+
token.add_user_owner(&krate.name, username);
123123
user.accept_ownership_invitation(&krate.name, krate.id);
124124
user
125125
}
@@ -301,7 +301,7 @@ fn invitations_list() {
301301
let krate = app.db(|conn| CrateBuilder::new("invited_crate", owner.id).expect_build(conn));
302302

303303
let user = app.db_new_user("invited_user");
304-
token.add_user_owner("invited_crate", user.as_model());
304+
token.add_user_owner("invited_crate", "invited_user");
305305

306306
let json = user.list_invitations();
307307
assert_eq!(json.crate_owner_invitations.len(), 1);
@@ -327,7 +327,7 @@ fn test_accept_invitation() {
327327
let krate = app.db(|conn| CrateBuilder::new("accept_invitation", owner.id).expect_build(conn));
328328

329329
// Invite a new owner
330-
owner_token.add_user_owner("accept_invitation", invited_user.as_model());
330+
owner_token.add_user_owner("accept_invitation", "user_bar");
331331

332332
// New owner accepts the invitation
333333
invited_user.accept_ownership_invitation(&krate.name, krate.id);
@@ -354,7 +354,7 @@ fn test_decline_invitation() {
354354
let krate = app.db(|conn| CrateBuilder::new("decline_invitation", owner.id).expect_build(conn));
355355

356356
// Invite a new owner
357-
owner_token.add_user_owner("decline_invitation", invited_user.as_model());
357+
owner_token.add_user_owner("decline_invitation", "user_bar");
358358

359359
// Invited user declines the invitation
360360
invited_user.decline_ownership_invitation(&krate.name, krate.id);
@@ -395,7 +395,7 @@ fn inactive_users_dont_get_invitations() {
395395

396396
let invited_user = app.db_new_user(invited_gh_login);
397397

398-
owner_token.add_user_owner(krate_name, invited_user.as_model());
398+
owner_token.add_user_owner(krate_name, "user_bar");
399399

400400
let json = invited_user.list_invitations();
401401
assert_eq!(json.crate_owner_invitations.len(), 1);
@@ -419,7 +419,7 @@ fn highest_gh_id_is_most_recent_account_we_know_of() {
419419
CrateBuilder::new(krate_name, owner.id).expect_build(conn);
420420
});
421421

422-
owner_token.add_user_owner(krate_name, invited_user.as_model());
422+
owner_token.add_user_owner(krate_name, "user_bar");
423423

424424
let json = invited_user.list_invitations();
425425
assert_eq!(json.crate_owner_invitations.len(), 1);

src/tests/user.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,14 +142,14 @@ fn me() {
142142
#[test]
143143
fn show() {
144144
let (app, anon, _) = TestApp::init().with_user();
145-
app.db_new_user("bar");
145+
app.db_new_user("Bar");
146146

147147
let json: UserShowPublicResponse = anon.get("/api/v1/users/foo").good();
148148
assert_eq!("foo", json.user.login);
149149

150-
let json: UserShowPublicResponse = anon.get("/api/v1/users/bar").good();
151-
assert_eq!("bar", json.user.login);
152-
assert_eq!(Some("https://github.com/bar".into()), json.user.url);
150+
let json: UserShowPublicResponse = anon.get("/api/v1/users/bAr").good();
151+
assert_eq!("Bar", json.user.login);
152+
assert_eq!(Some("https://github.com/Bar".into()), json.user.url);
153153
}
154154

155155
#[test]

src/tests/util.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -543,8 +543,8 @@ impl MockTokenUser {
543543
}
544544

545545
/// Add a user as an owner for a crate.
546-
pub fn add_user_owner(&self, krate_name: &str, user: &User) {
547-
self.add_named_owner(krate_name, &user.gh_login).good();
546+
pub fn add_user_owner(&self, krate_name: &str, username: &str) {
547+
self.add_named_owner(krate_name, username).good();
548548
}
549549
}
550550

0 commit comments

Comments
 (0)