diff options
author | Valerij Fredriksen <valerij92@gmail.com> | 2021-01-19 10:39:25 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@verizonmedia.com> | 2021-01-19 12:12:53 +0100 |
commit | 59b09995657c25625fdbcdac3e1796ccf2db852f (patch) | |
tree | c8d2f17b74863ea135f87e6ec75cded48aeb8ac5 /controller-server | |
parent | 93e8a15ae857e901836aba8164e41ea37566e47e (diff) |
Expose createdAtMillis in application v4
Diffstat (limited to 'controller-server')
12 files changed, 43 insertions, 15 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java index 8378b914fe4..1ad71899d08 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java @@ -1996,6 +1996,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler { Optional<Instant> lastSubmission = applications.stream() .flatMap(app -> app.latestVersion().flatMap(ApplicationVersion::buildTime).stream()) .max(Comparator.naturalOrder()); + tenant.createdAt().ifPresent(instant -> object.setLong("createdAtMillis", instant.toEpochMilli())); lastDev.ifPresent(instant -> object.setLong("lastDeploymentToDevMillis", instant.toEpochMilli())); lastSubmission.ifPresent(instant -> object.setLong("lastSubmissionToProdMillis", instant.toEpochMilli())); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java index e5f11beb9a2..335aed7a0bf 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java @@ -92,7 +92,6 @@ import static com.yahoo.application.container.handler.Request.Method.GET; import static com.yahoo.application.container.handler.Request.Method.PATCH; import static com.yahoo.application.container.handler.Request.Method.POST; import static com.yahoo.application.container.handler.Request.Method.PUT; -import static com.yahoo.vespa.hosted.controller.deployment.DeploymentContext.applicationPackage; import static java.net.URLEncoder.encode; import static java.nio.charset.StandardCharsets.UTF_8; import static java.util.stream.Collectors.joining; @@ -1238,7 +1237,8 @@ public class ApplicationApiTest extends ControllerContainerTest { // Create legancy tenant name containing underscores tester.controller().curator().writeTenant(new AthenzTenant(TenantName.from("my_tenant"), ATHENZ_TENANT_DOMAIN, - new Property("property1"), Optional.empty(), Optional.empty())); + new Property("property1"), Optional.empty(), Optional.empty(), Optional.empty())); + // POST (add) a Athenz tenant with dashes duplicates existing one with underscores tester.assertResponse(request("/application/v4/tenant/my-tenant", POST) .userIdentity(USER_ID) @@ -1339,7 +1339,7 @@ public class ApplicationApiTest extends ControllerContainerTest { .data("{\"athensDomain\":\"domain2\", \"property\":\"property1\"}") .userIdentity(authorizedUser) .oktaAccessToken(OKTA_AT).oktaIdentityToken(OKTA_IT), - "{\"tenant\":\"tenant1\",\"type\":\"ATHENS\",\"athensDomain\":\"domain2\",\"property\":\"property1\",\"applications\":[],\"metaData\":{}}", + new File("tenant1.json"), 200); // Deleting a tenant for an Athens domain the user is not admin for is disallowed diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application-with-metadata.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application-with-metadata.json index b11b65ead30..194f2cdd494 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application-with-metadata.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application-with-metadata.json @@ -11,7 +11,8 @@ "url":"http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1" } ], - "metaData":{ + "metaData": { + "createdAtMillis": "(ignore)", "lastDeploymentToDevMillis":"(ignore)", "lastSubmissionToProdMillis":1000 } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json index 578323be373..b02b1ea2565 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-application.json @@ -11,5 +11,7 @@ "url":"http://localhost:8080/application/v4/tenant/tenant1/application/application1/instance/instance1" } ], - "metaData":{} + "metaData": { + "createdAtMillis": "(ignore)" + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-contact-info.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-contact-info.json index a7d1d7413f3..921eae72161 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-contact-info.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-with-contact-info.json @@ -16,5 +16,7 @@ ] ], "applications": [], - "metaData":{} + "metaData": { + "createdAtMillis": "(ignore)" + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications-with-id.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications-with-id.json index 5e8f0e4b575..bd77a68a1eb 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications-with-id.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications-with-id.json @@ -5,5 +5,7 @@ "property": "property2", "propertyId": "1234", "applications": [], - "metaData": {} + "metaData": { + "createdAtMillis": "(ignore)" + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications.json index 82848fe971d..33ed505ce35 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant-without-applications.json @@ -3,8 +3,8 @@ "type": "ATHENS", "athensDomain": "domain1", "property": "property1", - "applications": [ - - ], - "metaData":{} + "applications": [ ], + "metaData":{ + "createdAtMillis": "(ignore)" + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1-recursive.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1-recursive.json index 574c3d2c476..551b26c8513 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1-recursive.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1-recursive.json @@ -6,5 +6,9 @@ "applications": [ @include(instance1-recursive.json) ], - "metaData":{"lastDeploymentToDevMillis":"(ignore)","lastSubmissionToProdMillis":1000} + "metaData": { + "createdAtMillis": "(ignore)", + "lastDeploymentToDevMillis": "(ignore)", + "lastSubmissionToProdMillis": 1000 + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1.json new file mode 100644 index 00000000000..a105a194974 --- /dev/null +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant1.json @@ -0,0 +1,10 @@ +{ + "tenant": "tenant1", + "type": "ATHENS", + "athensDomain": "domain2", + "property": "property1", + "applications": [], + "metaData": { + "createdAtMillis": "(ignore)" + } +} diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant2.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant2.json index 21d5ceba805..7da5918419c 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant2.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/tenant2.json @@ -16,5 +16,7 @@ ] ], "applications": [], - "metaData":{} + "metaData": { + "createdAtMillis": "(ignore)" + } }
\ No newline at end of file diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-with-keys.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-with-keys.json index 28dad0b0c2f..9323067904c 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-with-keys.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-with-keys.json @@ -16,5 +16,7 @@ "clusterSize": 5 }, "applications": [], - "metaData":{} + "metaData":{ + "createdAtMillis": "(ignore)" + } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-without-applications.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-without-applications.json index 73b97e09827..eaabb9fe3e1 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-without-applications.json +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/user/responses/tenant-without-applications.json @@ -9,5 +9,7 @@ "clusterSize": 5 }, "applications": [], - "metaData":{} + "metaData":{ + "createdAtMillis": "(ignore)" + } } |