summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authortoby <smorgrav@yahoo-inc.com>2019-08-29 10:57:46 +0200
committertoby <smorgrav@yahoo-inc.com>2019-09-09 11:17:35 +0200
commit6a079ff938f3b4520e1f56bc336b46881f966d66 (patch)
tree2adbf9b871618cb63351774e5aafe61455676f36 /controller-api
parent6648f89d562f732972df42214e7b0895edf04659 (diff)
Actually add the nick/pic update
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockUserManagement.java11
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/User.java53
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/UserManagement.java2
3 files changed, 62 insertions, 4 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 b6524deb4d1..5ebea6c8d87 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,6 @@
package com.yahoo.vespa.hosted.controller.api.integration.stubs;
+import com.yahoo.vespa.hosted.controller.api.integration.user.User;
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;
@@ -10,13 +11,14 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* @author jonmv
*/
public class MockUserManagement implements UserManagement {
- private final Map<Role, Set<UserId>> memberships = new HashMap<>();
+ private final Map<Role, Set<User>> memberships = new HashMap<>();
@Override
public void createRole(Role role) {
@@ -33,7 +35,10 @@ public class MockUserManagement implements UserManagement {
@Override
public void addUsers(Role role, Collection<UserId> users) {
- memberships.get(role).addAll(users);
+ List<User> userObjs = users.stream()
+ .map(id -> new User(id.value(), id.value(), null, null))
+ .collect(Collectors.toList());
+ memberships.get(role).addAll(userObjs);
}
@Override
@@ -42,7 +47,7 @@ public class MockUserManagement implements UserManagement {
}
@Override
- public List<UserId> listUsers(Role role) {
+ public List<User> listUsers(Role role) {
return List.copyOf(memberships.get(role));
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/User.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/User.java
new file mode 100644
index 00000000000..35dcd54799b
--- /dev/null
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/User.java
@@ -0,0 +1,53 @@
+package com.yahoo.vespa.hosted.controller.api.integration.user;
+
+import java.util.Objects;
+
+public class User {
+
+ private final String name;
+ private final String email;
+ private final String nickname;
+ private final String picture;
+
+ public User(String email, String name, String nickname, String picture) {
+ Objects.requireNonNull(email);
+ Objects.requireNonNull(name);
+
+ this.name = name;
+ this.email = email;
+ this.nickname = nickname;
+ this.picture = picture;
+ }
+
+ public String name() {
+ return name;
+ }
+
+ public String email() {
+ return email;
+ }
+
+ public String nickname() {
+ return nickname;
+ }
+
+ public String picture() {
+ return picture;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ User user = (User) o;
+ return Objects.equals(name, user.name) &&
+ Objects.equals(email, user.email) &&
+ Objects.equals(nickname, user.nickname) &&
+ Objects.equals(picture, user.picture);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(name, email, nickname, picture);
+ }
+}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/UserManagement.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/UserManagement.java
index ff25e779d30..f56a9f66288 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/UserManagement.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/user/UserManagement.java
@@ -25,6 +25,6 @@ public interface UserManagement {
void removeUsers(Role role, Collection<UserId> users);
/** Returns all users in the given role, or throws if the role does not exist. */
- List<UserId> listUsers(Role role);
+ List<User> listUsers(Role role);
}