aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@verizonmedia.com>2020-06-04 12:50:11 +0200
committerGitHub <noreply@github.com>2020-06-04 12:50:11 +0200
commitff3393a9a4492c37ec877859816ec1bd00c975cc (patch)
tree6dbecf0a083ee784a369aade754d97274a14f834 /controller-server
parent802eec5ff1466f2e599cbfeaf99f8e54d3b2f9d5 (diff)
parent7d3e25bac187092e1bd3623e3c56b086ca2a2f58 (diff)
Merge pull request #13481 from vespa-engine/ogronnesby/add-hosted-accountant-to-user-api
Add the hostedAccountant to the user API roles
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java9
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiTest.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/user-without-applications.json3
3 files changed, 9 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java
index 9fc77e7653d..df6b77ccb9e 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiHandler.java
@@ -126,6 +126,10 @@ public class UserApiHandler extends LoggingRequestHandler {
return response;
}
+ private static final Set<RoleDefinition> hostedOperators = Set.of(
+ RoleDefinition.hostedOperator,
+ RoleDefinition.hostedSupporter,
+ RoleDefinition.hostedAccountant);
private HttpResponse userMetadata(HttpRequest request) {
@SuppressWarnings("unchecked")
@@ -142,10 +146,9 @@ public class UserApiHandler extends LoggingRequestHandler {
.sorted(Comparator.comparing(Role::definition).reversed())
.collect(Collectors.groupingBy(TenantRole::tenant, Collectors.toList()));
- // List of operator roles, currently only one available, but possible to extend
+ // List of operator roles as defined in `hostedOperators` above
List<Role> operatorRoles = roles.stream()
- .filter(role -> role.definition().equals(RoleDefinition.hostedOperator) ||
- role.definition().equals(RoleDefinition.hostedSupporter))
+ .filter(role -> hostedOperators.contains(role.definition()))
.sorted(Comparator.comparing(Role::definition))
.collect(Collectors.toList());
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiTest.java
index 51466e5b1e2..c066c50ca20 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/UserApiTest.java
@@ -201,7 +201,7 @@ public class UserApiTest extends ControllerContainerCloudTest {
public void userMetadataTest() {
ContainerTester tester = new ContainerTester(container, responseFiles);
ControllerTester controller = new ControllerTester(tester);
- Set<Role> operator = Set.of(Role.hostedOperator(), Role.hostedSupporter());
+ Set<Role> operator = Set.of(Role.hostedOperator(), Role.hostedSupporter(), Role.hostedAccountant());
User user = new User("dev@domail", "Joe Developer", "dev", null);
tester.assertResponse(request("/api/user/v1/user")
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/user-without-applications.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/user-without-applications.json
index 34fff84f3da..bc702f02150 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/user-without-applications.json
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/user-without-applications.json
@@ -9,6 +9,7 @@
"tenants": {},
"operator": [
"hostedOperator",
- "hostedSupporter"
+ "hostedSupporter",
+ "hostedAccountant"
]
}