diff options
author | Ola Aunronning <olaa@yahooinc.com> | 2023-02-01 11:39:48 +0100 |
---|---|---|
committer | Ola Aunronning <olaa@yahooinc.com> | 2023-02-01 11:39:48 +0100 |
commit | 904c2746d5a06776a3813b58ad3541a1058cd914 (patch) | |
tree | 46c4e3dd0b6555018d2d627c001fb8a763cf0a20 /controller-server | |
parent | 179daa38c12471ec9de4e48ec91865c8a336d8a8 (diff) |
Flip flag defaults for mail verification and tenant role cleanup
Diffstat (limited to 'controller-server')
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) |