diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-04-08 13:17:37 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-04-08 13:17:37 +0200 |
commit | 5a0c2376cee3bd14c593c741280df312a4ddeaca (patch) | |
tree | 219a8b6ff4aa962c9ec5cd0bad023bf2cca545ee /controller-api | |
parent | d20554f9341d14377b04fba3e9cd2f25248dff48 (diff) |
Add mock implementation of UserManagement
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockUserManagement.java | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockUserManagement.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockUserManagement.java index e37c866b97f..b6524deb4d1 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockUserManagement.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockUserManagement.java @@ -1,5 +1,49 @@ package com.yahoo.vespa.hosted.controller.api.integration.stubs; -public class MockUserManagement { +import com.yahoo.vespa.hosted.controller.api.integration.user.UserId; +import com.yahoo.vespa.hosted.controller.api.integration.user.UserManagement; +import com.yahoo.vespa.hosted.controller.api.role.Role; + +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** + * @author jonmv + */ +public class MockUserManagement implements UserManagement { + + private final Map<Role, Set<UserId>> memberships = new HashMap<>(); + + @Override + public void createRole(Role role) { + if (memberships.containsKey(role)) + throw new IllegalArgumentException(role + " already exists."); + + memberships.put(role, new HashSet<>()); + } + + @Override + public void deleteRole(Role role) { + memberships.remove(role); + } + + @Override + public void addUsers(Role role, Collection<UserId> users) { + memberships.get(role).addAll(users); + } + + @Override + public void removeUsers(Role role, Collection<UserId> users) { + memberships.get(role).removeAll(users); + } + + @Override + public List<UserId> listUsers(Role role) { + return List.copyOf(memberships.get(role)); + } } |