Skip to content

Commit df9d32e

Browse files
committed
allow reimport of groups
1 parent e8631ba commit df9d32e

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

src/api/admins.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub async fn downgrade(
5454
let (group_name, user_uuid) = path.into_inner();
5555
let host = operations::users::user_by_id(&pool, &scope_and_user.user_id)?;
5656
let user = User { user_uuid };
57-
log::info!("donwgrade");
57+
log::info!("downgrade");
5858
operations::admins::demote(
5959
&pool,
6060
&scope_and_user,

src/import/ops.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ pub fn import_group(
5050
moz_group: MozilliansGroup,
5151
trust: TrustType,
5252
) -> Result<(), Error> {
53+
if internal::group::get_group(connection, &moz_group.name).is_ok() {
54+
return Ok(());
55+
}
5356
let group_name = moz_group.name.clone();
5457
let description = match (moz_group.website.as_str(), moz_group.wiki.as_str()) {
5558
("", "") => moz_group.description,

tests/api/import.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use failure::format_err;
1717
use failure::Error;
1818
use std::sync::Arc;
1919

20-
fn members() -> Result<Vec<MozilliansGroupMembership>, Error> {
20+
fn get_members() -> Result<Vec<MozilliansGroupMembership>, Error> {
2121
let mut rdr = ReaderBuilder::new()
2222
.delimiter(b'\t')
2323
.from_path("tests/data/import-test/m.tsv")?;
@@ -27,7 +27,7 @@ fn members() -> Result<Vec<MozilliansGroupMembership>, Error> {
2727
.map_err(Into::into)
2828
}
2929

30-
fn curators() -> Result<Vec<MozilliansGroupCurator>, Error> {
30+
fn get_curators() -> Result<Vec<MozilliansGroupCurator>, Error> {
3131
let mut rdr = ReaderBuilder::new()
3232
.delimiter(b'\t')
3333
.from_path("tests/data/import-test/c.tsv")?;
@@ -37,7 +37,7 @@ fn curators() -> Result<Vec<MozilliansGroupCurator>, Error> {
3737
.map_err(Into::into)
3838
}
3939

40-
fn group() -> Result<MozilliansGroup, Error> {
40+
fn get_group() -> Result<MozilliansGroup, Error> {
4141
let mut rdr = ReaderBuilder::new()
4242
.delimiter(b'\t')
4343
.from_path("tests/data/import-test/g.tsv")?;
@@ -56,9 +56,9 @@ async fn import() -> Result<(), Error> {
5656
let app = App::new().service(service);
5757
let mut app = test::init_service(app).await;
5858
let creator = Soa::from(&basic_user(1, true)).creator().aal_medium();
59-
let group = group()?;
60-
let curators = curators()?;
61-
let members = members()?;
59+
let group = get_group()?;
60+
let curators = get_curators()?;
61+
let members = get_members()?;
6262
let connection = get_pool().get()?;
6363
import_group(&connection, group, TrustType::Authenticated)?;
6464
import_curators(
@@ -175,9 +175,9 @@ async fn import_staff_only() -> Result<(), Error> {
175175
let app = App::new().service(service);
176176
let mut app = test::init_service(app).await;
177177
let creator = Soa::from(&basic_user(1, true)).creator().aal_medium();
178-
let group = group()?;
179-
let curators = curators()?;
180-
let members = members()?;
178+
let group = get_group()?;
179+
let curators = get_curators()?;
180+
let members = get_members()?;
181181
let connection = get_pool().get()?;
182182
import_group(&connection, group, TrustType::Staff)?;
183183
import_curators(
@@ -283,5 +283,7 @@ async fn import_staff_only() -> Result<(), Error> {
283283
let j = read_json(res).await;
284284
assert_eq!(j["group"]["created"], "2011-03-22T00:00:00Z");
285285

286+
let group = get_group()?;
287+
import_group(&connection, group, TrustType::Staff)?;
286288
Ok(())
287289
}

0 commit comments

Comments
 (0)