Skip to content

Commit 1776d18

Browse files
committed
Bugfix for #398 - which compared ARP source wrong
1 parent bfa977e commit 1776d18

3 files changed

Lines changed: 20 additions & 2 deletions

File tree

server/src/main/java/invite/manage/Manage.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,9 @@ default Map<String, Object> transformProvider(Map<String, Object> provider) {
107107
if (CollectionUtils.isEmpty(isMemberOf)) {
108108
application.put("receivesMemberships", false);
109109
} else {
110-
boolean receivesVootMemberships = isMemberOf.stream().anyMatch(m -> m.get("source") == "voot");
110+
boolean receivesVootMemberships = isMemberOf.stream()
111+
.map(m -> m.getOrDefault("source", "nope"))
112+
.anyMatch(source -> source.equals("voot") || source.equals("invite"));
111113
application.put("receivesMemberships", receivesVootMemberships);
112114
}
113115
}

server/src/main/resources/manage/saml20_sp.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,18 @@
1111
"OrganizationName:en": "SURF bv",
1212
"coin:institution_guid": "ad93daef-0911-e511-80d0-005056956c1a",
1313
"coin:application_url": "https://default-url-wiki.org"
14+
},
15+
"arp": {
16+
"enabled": true,
17+
"attributes": {
18+
"urn:mace:dir:attribute-def:isMemberOf": [
19+
{
20+
"value": "*",
21+
"source": "voot",
22+
"motivation": ""
23+
}
24+
]
25+
}
1426
}
1527
}
1628
},

server/src/test/java/invite/api/UserControllerTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,11 @@ void institutionAdminProvision() throws Exception {
137137
assertNotNull(user.getId());
138138
assertTrue(user.isInstitutionAdmin());
139139
assertEquals(ORGANISATION_GUID, user.getOrganizationGUID());
140-
assertEquals(4, user.getApplications().size());
140+
List<Map<String, Object>> applications = user.getApplications();
141+
assertEquals(4, applications.size());
142+
Map<String, Object> wiki = applications.stream().filter(m -> m.get("entityid").equals("https://wiki"))
143+
.findFirst().get();
144+
assertTrue((Boolean) wiki.get("receivesMemberships"));
141145

142146
Map res = given()
143147
.when()

0 commit comments

Comments
 (0)