Ignore blank users in config
This commit is contained in:
parent
dbd87704b4
commit
bca8f4ced8
1 changed files with 53 additions and 4 deletions
|
@ -189,7 +189,9 @@ where
|
||||||
let insert_users: Vec<&ConfigUser> = config_users
|
let insert_users: Vec<&ConfigUser> = config_users
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|u| {
|
.filter(|u| {
|
||||||
old_usernames
|
!u.name.is_empty()
|
||||||
|
&& !u.password.is_empty()
|
||||||
|
&& old_usernames
|
||||||
.iter()
|
.iter()
|
||||||
.find(|old_name| *old_name == &u.name)
|
.find(|old_name| *old_name == &u.name)
|
||||||
.is_none()
|
.is_none()
|
||||||
|
@ -426,6 +428,53 @@ fn test_amend_preserve_password_hashes() {
|
||||||
assert_eq!(new_hash, initial_hash);
|
assert_eq!(new_hash, initial_hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_amend_ignore_blank_users() {
|
||||||
|
use self::users::dsl::*;
|
||||||
|
|
||||||
|
let db = _get_test_db("amend_ignore_blank_users.sqlite");
|
||||||
|
|
||||||
|
{
|
||||||
|
let config = Config {
|
||||||
|
album_art_pattern: None,
|
||||||
|
reindex_every_n_seconds: None,
|
||||||
|
prefix_url: None,
|
||||||
|
mount_dirs: None,
|
||||||
|
users: Some(vec![ConfigUser {
|
||||||
|
name: "".into(),
|
||||||
|
password: "Tasty🍖".into(),
|
||||||
|
admin: false,
|
||||||
|
}]),
|
||||||
|
ydns: None,
|
||||||
|
};
|
||||||
|
amend(&db, &config).unwrap();
|
||||||
|
|
||||||
|
let connection = db.get_connection();
|
||||||
|
let user_count: i64 = users.count().get_result(connection.deref()).unwrap();
|
||||||
|
assert_eq!(user_count, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let config = Config {
|
||||||
|
album_art_pattern: None,
|
||||||
|
reindex_every_n_seconds: None,
|
||||||
|
prefix_url: None,
|
||||||
|
mount_dirs: None,
|
||||||
|
users: Some(vec![ConfigUser {
|
||||||
|
name: "Teddy🐻".into(),
|
||||||
|
password: "".into(),
|
||||||
|
admin: false,
|
||||||
|
}]),
|
||||||
|
ydns: None,
|
||||||
|
};
|
||||||
|
amend(&db, &config).unwrap();
|
||||||
|
|
||||||
|
let connection = db.get_connection();
|
||||||
|
let user_count: i64 = users.count().get_result(connection.deref()).unwrap();
|
||||||
|
assert_eq!(user_count, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_toggle_admin() {
|
fn test_toggle_admin() {
|
||||||
use self::users::dsl::*;
|
use self::users::dsl::*;
|
||||||
|
|
Loading…
Add table
Reference in a new issue