summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@yahooinc.com>2023-02-02 15:55:58 +0100
committerGitHub <noreply@github.com>2023-02-02 15:55:58 +0100
commitf0fb8f6010df6974fce8b6db3383883da6acf27e (patch)
treee92f30af2b9dc3a311045fa28614577c7a352a4d /controller-server
parent69c515241adaeee6b2d2e44fe43ded074f3d67cc (diff)
parent904c2746d5a06776a3813b58ad3541a1058cd914 (diff)
Merge pull request #25830 from vespa-engine/olaa/flip-flag-defaults
Flip flag defaults for mail verification and tenant role cleanup
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java26
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java8
2 files changed, 9 insertions, 25 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 9407aa0ae74..bc7e3f0e7d0 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
@@ -584,11 +584,8 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
var mergedEmail = optional("email", inspector.field("contact"))
.filter(address -> !address.equals(info.contact().email().getEmailAddress()))
.map(address -> {
- if (emailVerificationEnabled()) {
- controller.mailVerifier().sendMailVerification(cloudTenant.name(), address, PendingMailVerification.MailType.TENANT_CONTACT);
- return new Email(address, false);
- }
- return new Email(address, true);
+ controller.mailVerifier().sendMailVerification(cloudTenant.name(), address, PendingMailVerification.MailType.TENANT_CONTACT);
+ return new Email(address, false);
})
.orElse(info.contact().email());
@@ -773,11 +770,8 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
var mergedEmail = optional("contactEmail", insp)
.filter(address -> !address.equals(oldInfo.contact().email().getEmailAddress()))
.map(address -> {
- if (emailVerificationEnabled()) {
- controller.mailVerifier().sendMailVerification(tenant.name(), address, PendingMailVerification.MailType.TENANT_CONTACT);
- return new Email(address, false);
- }
- return new Email(address, true);
+ controller.mailVerifier().sendMailVerification(tenant.name(), address, PendingMailVerification.MailType.TENANT_CONTACT);
+ return new Email(address, false);
})
.orElse(oldInfo.contact().email());
@@ -832,7 +826,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
var mergedEmail = optional("email", insp)
.filter(address -> !address.equals(oldContact.email().getEmailAddress()))
.map(address -> {
- if (isBillingContact || !emailVerificationEnabled())
+ if (isBillingContact)
return new Email(address, true);
controller.mailVerifier().sendMailVerification(tenantName, address, PendingMailVerification.MailType.TENANT_CONTACT);
return new Email(address, false);
@@ -869,11 +863,8 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
.findAny()
.map(emailContact -> new TenantContacts.EmailContact(audiences, emailContact.email()))
.orElseGet(() -> {
- if (emailVerificationEnabled()) {
- controller.mailVerifier().sendMailVerification(tenantName, email, PendingMailVerification.MailType.NOTIFICATIONS);
- return new TenantContacts.EmailContact(audiences, new Email(email, false));
- }
- return new TenantContacts.EmailContact(audiences, new Email(email, true));
+ controller.mailVerifier().sendMailVerification(tenantName, email, PendingMailVerification.MailType.NOTIFICATIONS);
+ return new TenantContacts.EmailContact(audiences, new Email(email, false));
});
}).toList();
@@ -3138,8 +3129,5 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
.collect(collectingAndThen(Collectors.toList(), Collections::unmodifiableList));
}
- public boolean emailVerificationEnabled() {
- return Flags.ENABLED_MAIL_VERIFICATION.bindTo(controller.flagSource()).value();
- }
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java
index 1efafb81685..8a37bb560e2 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiCloudTest.java
@@ -68,7 +68,6 @@ public class ApplicationApiCloudTest extends ControllerContainerCloudTest {
@Test
void tenant_info_profile() {
- tester.flagSource().withBooleanFlag(Flags.ENABLED_MAIL_VERIFICATION.id(), true);
var request = request("/application/v4/tenant/scoober/info/profile", GET)
.roles(Set.of(Role.reader(tenantName)));
tester.assertResponse(request, "{}", 200);
@@ -100,7 +99,6 @@ public class ApplicationApiCloudTest extends ControllerContainerCloudTest {
@Test
void tenant_info_contacts() {
- tester.flagSource().withBooleanFlag(Flags.ENABLED_MAIL_VERIFICATION.id(), true);
var request = request("/application/v4/tenant/scoober/info/contacts", GET)
.roles(Set.of(Role.reader(tenantName)));
tester.assertResponse(request, "{\"contacts\":[]}", 200);
@@ -136,12 +134,11 @@ public class ApplicationApiCloudTest extends ControllerContainerCloudTest {
tester.assertResponse(postPartialContacts, "{\"message\":\"Tenant info updated\"}", 200);
// Read back the updated info
- tester.assertResponse(infoRequest, "{\"name\":\"\",\"email\":\"\",\"website\":\"\",\"contactName\":\"newName\",\"contactEmail\":\"foo@example.com\",\"contactEmailVerified\":true,\"billingContact\":{\"name\":\"billingName\",\"email\":\"\",\"phone\":\"\"},\"contacts\":[{\"audiences\":[\"tenant\"],\"email\":\"contact1@example.com\",\"emailVerified\":true}]}", 200);
- tester.flagSource().withBooleanFlag(Flags.ENABLED_MAIL_VERIFICATION.id(), true);
+ tester.assertResponse(infoRequest, "{\"name\":\"\",\"email\":\"\",\"website\":\"\",\"contactName\":\"newName\",\"contactEmail\":\"foo@example.com\",\"contactEmailVerified\":false,\"billingContact\":{\"name\":\"billingName\",\"email\":\"\",\"phone\":\"\"},\"contacts\":[{\"audiences\":[\"tenant\"],\"email\":\"contact1@example.com\",\"emailVerified\":false}]}", 200);
String fullAddress = "{\"addressLines\":\"addressLines\",\"postalCodeOrZip\":\"postalCodeOrZip\",\"city\":\"city\",\"stateRegionProvince\":\"stateRegionProvince\",\"country\":\"country\"}";
String fullBillingContact = "{\"name\":\"name\",\"email\":\"foo@example\",\"phone\":\"phone\",\"address\":" + fullAddress + "}";
- String fullContacts = "[{\"audiences\":[\"tenant\"],\"email\":\"contact1@example.com\",\"emailVerified\":true},{\"audiences\":[\"notifications\"],\"email\":\"contact2@example.com\",\"emailVerified\":false},{\"audiences\":[\"tenant\",\"notifications\"],\"email\":\"contact3@example.com\",\"emailVerified\":false}]";
+ String fullContacts = "[{\"audiences\":[\"tenant\"],\"email\":\"contact1@example.com\",\"emailVerified\":false},{\"audiences\":[\"notifications\"],\"email\":\"contact2@example.com\",\"emailVerified\":false},{\"audiences\":[\"tenant\",\"notifications\"],\"email\":\"contact3@example.com\",\"emailVerified\":false}]";
String fullInfo = "{\"name\":\"name\",\"email\":\"foo@example\",\"website\":\"https://yahoo.com\",\"contactName\":\"contactName\",\"contactEmail\":\"contact@example.com\",\"contactEmailVerified\":false,\"address\":" + fullAddress + ",\"billingContact\":" + fullBillingContact + ",\"contacts\":" + fullContacts + "}";
// Now set all fields
@@ -171,7 +168,6 @@ public class ApplicationApiCloudTest extends ControllerContainerCloudTest {
@Test
void tenant_info_missing_fields() {
- tester.flagSource().withBooleanFlag(Flags.ENABLED_MAIL_VERIFICATION.id(), true);
// tenants can be created with empty tenant info - they're not part of the POST to v4/tenant
var infoRequest =
request("/application/v4/tenant/scoober/info", GET)