diff --git a/console-webapp/src/app/app-routing.module.ts b/console-webapp/src/app/app-routing.module.ts index d2e2a98c1..715256826 100644 --- a/console-webapp/src/app/app-routing.module.ts +++ b/console-webapp/src/app/app-routing.module.ts @@ -24,8 +24,8 @@ import { ResourcesComponent } from './resources/resources.component'; import ContactComponent from './settings/contact/contact.component'; import SecurityComponent from './settings/security/security.component'; import { SettingsComponent } from './settings/settings.component'; -import WhoisComponent from './settings/whois/whois.component'; import { SupportComponent } from './support/support.component'; +import RdapComponent from './settings/rdap/rdap.component'; export interface RouteWithIcon extends Route { iconName?: string; @@ -83,9 +83,9 @@ export const routes: RouteWithIcon[] = [ title: 'Contacts', }, { - path: WhoisComponent.PATH, - component: WhoisComponent, - title: 'WHOIS Info', + path: RdapComponent.PATH, + component: RdapComponent, + title: 'RDAP Info', }, { path: SecurityComponent.PATH, diff --git a/console-webapp/src/app/app.module.ts b/console-webapp/src/app/app.module.ts index d7256064d..6e4341f83 100644 --- a/console-webapp/src/app/app.module.ts +++ b/console-webapp/src/app/app.module.ts @@ -47,8 +47,6 @@ import EppPasswordEditComponent from './settings/security/eppPasswordEdit.compon import SecurityComponent from './settings/security/security.component'; import SecurityEditComponent from './settings/security/securityEdit.component'; import { SettingsComponent } from './settings/settings.component'; -import WhoisComponent from './settings/whois/whois.component'; -import WhoisEditComponent from './settings/whois/whoisEdit.component'; import { NotificationsComponent } from './shared/components/notifications/notifications.component'; import { SelectedRegistrarWrapper } from './shared/components/selectedRegistrarWrapper/selectedRegistrarWrapper.component'; import { LocationBackDirective } from './shared/directives/locationBack.directive'; @@ -60,6 +58,8 @@ import { SnackBarModule } from './snackbar.module'; import { SupportComponent } from './support/support.component'; import { TldsComponent } from './tlds/tlds.component'; import { ForceFocusDirective } from './shared/directives/forceFocus.directive'; +import RdapComponent from './settings/rdap/rdap.component'; +import RdapEditComponent from './settings/rdap/rdapEdit.component'; @NgModule({ declarations: [SelectedRegistrarWrapper], @@ -76,30 +76,30 @@ export class SelectedRegistrarModule {} ContactDetailsComponent, DomainListComponent, EppPasswordEditComponent, + ForceFocusDirective, HeaderComponent, HomeComponent, LocationBackDirective, - ForceFocusDirective, - UserLevelVisibility, NavigationComponent, NewRegistrarComponent, NotificationsComponent, + RdapComponent, + RdapEditComponent, + ReasonDialogComponent, RegistrarComponent, RegistrarDetailsComponent, - RegistryLockComponent, RegistrarSelectorComponent, + RegistryLockComponent, RegistryLockVerifyComponent, ResourcesComponent, + ResponseDialogComponent, SecurityComponent, SecurityEditComponent, SettingsComponent, SettingsContactComponent, SupportComponent, TldsComponent, - WhoisComponent, - WhoisEditComponent, - ReasonDialogComponent, - ResponseDialogComponent, + UserLevelVisibility, ], bootstrap: [AppComponent], imports: [ @@ -108,8 +108,8 @@ export class SelectedRegistrarModule {} BrowserModule, FormsModule, MaterialModule, - SnackBarModule, SelectedRegistrarModule, + SnackBarModule, ], providers: [ BackendService, diff --git a/console-webapp/src/app/registrar/newRegistrar.component.ts b/console-webapp/src/app/registrar/newRegistrar.component.ts index 6807d1883..a0d0d9a44 100644 --- a/console-webapp/src/app/registrar/newRegistrar.component.ts +++ b/console-webapp/src/app/registrar/newRegistrar.component.ts @@ -48,7 +48,6 @@ export default class NewRegistrarComponent { this.newRegistrar = { registrarId: '', url: '', - whoisServer: '', registrarName: '', icannReferralEmail: '', localizedAddress: { diff --git a/console-webapp/src/app/registrar/registrar.service.ts b/console-webapp/src/app/registrar/registrar.service.ts index a4c333df4..27bd70525 100644 --- a/console-webapp/src/app/registrar/registrar.service.ts +++ b/console-webapp/src/app/registrar/registrar.service.ts @@ -50,17 +50,16 @@ export interface SecuritySettings ipAddressAllowList?: Array; } -export interface WhoisRegistrarFields { +export interface RdapRegistrarFields { ianaIdentifier?: number; icannReferralEmail: string; localizedAddress: Address; registrarId: string; url: string; - whoisServer: string; } export interface Registrar - extends WhoisRegistrarFields, + extends RdapRegistrarFields, SecuritySettingsBackendModel { allowedTlds?: string[]; billingAccountMap?: object; diff --git a/console-webapp/src/app/settings/contact/contact.service.ts b/console-webapp/src/app/settings/contact/contact.service.ts index 72ede09c4..b042a86a9 100644 --- a/console-webapp/src/app/settings/contact/contact.service.ts +++ b/console-webapp/src/app/settings/contact/contact.service.ts @@ -24,7 +24,7 @@ export type contactType = | 'LEGAL' | 'MARKETING' | 'TECH' - | 'WHOIS'; + | 'RDAP'; type contactTypesToUserFriendlyTypes = { [type in contactType]: string }; @@ -35,7 +35,7 @@ export const contactTypeToTextMap: contactTypesToUserFriendlyTypes = { LEGAL: 'Legal contact', MARKETING: 'Marketing contact', TECH: 'Technical contact', - WHOIS: 'WHOIS-Inquiry contact', + RDAP: 'RDAP-Inquiry contact', }; type UserFriendlyType = (typeof contactTypeToTextMap)[contactType]; diff --git a/console-webapp/src/app/settings/contact/contactDetails.component.html b/console-webapp/src/app/settings/contact/contactDetails.component.html index 99a98d354..1a6041603 100644 --- a/console-webapp/src/app/settings/contact/contactDetails.component.html +++ b/console-webapp/src/app/settings/contact/contactDetails.component.html @@ -97,12 +97,12 @@
-

WHOIS Preferences

+

RDAP Preferences

Show in Registrar WHOIS record as admin contactShow in Registrar RDAP record as admin contact
@@ -110,7 +110,7 @@ Show in Registrar WHOIS record as technical contactShow in Registrar RDAP record as technical contact @@ -118,8 +118,8 @@ Show Phone and Email in Domain WHOIS Record as registrar abuse - contact (per CL&D requirements)Show Phone and Email in Domain RDAP Record as registrar abuse contact + (per CL&D requirements)
@@ -176,13 +176,13 @@ -

WHOIS Preferences

+

RDAP Preferences

@if(contactService.contactInEdit.visibleInWhoisAsAdmin) { Show in Registrar WHOIS record as admin contactShow in Registrar RDAP record as admin contact } @if(contactService.contactInEdit.visibleInWhoisAsTech) { @@ -192,14 +192,14 @@ *ngIf="contactService.contactInEdit.visibleInWhoisAsTech" > Show in Registrar WHOIS record as technical contactShow in Registrar RDAP record as technical contact } @if(contactService.contactInEdit.visibleInDomainWhoisAsAbuse) { Show Phone and Email in Domain WHOIS Record as registrar abuse + >Show Phone and Email in Domain RDAP Record as registrar abuse contact (per CL&D requirements) diff --git a/console-webapp/src/app/settings/whois/whois.component.html b/console-webapp/src/app/settings/rdap/rdap.component.html similarity index 50% rename from console-webapp/src/app/settings/whois/whois.component.html rename to console-webapp/src/app/settings/rdap/rdap.component.html index b3e074893..4625f7a0e 100644 --- a/console-webapp/src/app/settings/whois/whois.component.html +++ b/console-webapp/src/app/settings/rdap/rdap.component.html @@ -1,18 +1,18 @@ -@if(whoisService.editing) { - +@if(rdapService.editing) { + } @else { -
-
+
+
- General registrar information for your WHOIS record. This information is - always visible in WHOIS. + General registrar information for your RDAP record. This information is + always visible in RDAP.
} diff --git a/console-webapp/src/app/settings/whois/whois.component.scss b/console-webapp/src/app/settings/rdap/rdap.component.scss similarity index 90% rename from console-webapp/src/app/settings/whois/whois.component.scss rename to console-webapp/src/app/settings/rdap/rdap.component.scss index 30c1a7d30..05d8fe0e7 100644 --- a/console-webapp/src/app/settings/whois/whois.component.scss +++ b/console-webapp/src/app/settings/rdap/rdap.component.scss @@ -1,4 +1,4 @@ -.console-app__whois { +.console-app__rdap { max-width: 616px; &-controls { diff --git a/console-webapp/src/app/settings/whois/whois.component.spec.ts b/console-webapp/src/app/settings/rdap/rdap.component.spec.ts similarity index 86% rename from console-webapp/src/app/settings/whois/whois.component.spec.ts rename to console-webapp/src/app/settings/rdap/rdap.component.spec.ts index 98054b9e2..0ee999ce2 100644 --- a/console-webapp/src/app/settings/whois/whois.component.spec.ts +++ b/console-webapp/src/app/settings/rdap/rdap.component.spec.ts @@ -20,15 +20,15 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MaterialModule } from 'src/app/material.module'; import { RegistrarService } from 'src/app/registrar/registrar.service'; import { BackendService } from 'src/app/shared/services/backend.service'; -import WhoisComponent from './whois.component'; +import RdapComponent from './rdap.component'; -describe('WhoisComponent', () => { - let component: WhoisComponent; - let fixture: ComponentFixture; +describe('RdapComponent', () => { + let component: RdapComponent; + let fixture: ComponentFixture; beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [WhoisComponent], + declarations: [RdapComponent], imports: [MaterialModule, BrowserAnimationsModule], providers: [ BackendService, @@ -45,7 +45,7 @@ describe('WhoisComponent', () => { ], }).compileComponents(); - fixture = TestBed.createComponent(WhoisComponent); + fixture = TestBed.createComponent(RdapComponent); component = fixture.componentInstance; fixture.detectChanges(); }); diff --git a/console-webapp/src/app/settings/whois/whois.component.ts b/console-webapp/src/app/settings/rdap/rdap.component.ts similarity index 85% rename from console-webapp/src/app/settings/whois/whois.component.ts rename to console-webapp/src/app/settings/rdap/rdap.component.ts index 522448cdd..3a27fcf86 100644 --- a/console-webapp/src/app/settings/whois/whois.component.ts +++ b/console-webapp/src/app/settings/rdap/rdap.component.ts @@ -14,17 +14,16 @@ import { Component, computed } from '@angular/core'; import { RegistrarService } from 'src/app/registrar/registrar.service'; - -import { WhoisService } from './whois.service'; +import { RdapService } from './rdap.service'; @Component({ - selector: 'app-whois', - templateUrl: './whois.component.html', - styleUrls: ['./whois.component.scss'], + selector: 'app-rdap', + templateUrl: './rdap.component.html', + styleUrls: ['./rdap.component.scss'], standalone: false, }) -export default class WhoisComponent { - public static PATH = 'whois'; +export default class RdapComponent { + public static PATH = 'rdap'; formattedAddress = computed(() => { let result = ''; const registrar = this.registrarService.registrar(); @@ -47,7 +46,7 @@ export default class WhoisComponent { }); constructor( - public whoisService: WhoisService, + public rdapService: RdapService, public registrarService: RegistrarService ) {} } diff --git a/console-webapp/src/app/settings/whois/whois.service.ts b/console-webapp/src/app/settings/rdap/rdap.service.ts similarity index 85% rename from console-webapp/src/app/settings/whois/whois.service.ts rename to console-webapp/src/app/settings/rdap/rdap.service.ts index 18de759ec..70c2c8612 100644 --- a/console-webapp/src/app/settings/whois/whois.service.ts +++ b/console-webapp/src/app/settings/rdap/rdap.service.ts @@ -16,14 +16,14 @@ import { Injectable } from '@angular/core'; import { switchMap } from 'rxjs'; import { RegistrarService, - WhoisRegistrarFields, + RdapRegistrarFields, } from 'src/app/registrar/registrar.service'; import { BackendService } from 'src/app/shared/services/backend.service'; @Injectable({ providedIn: 'root', }) -export class WhoisService { +export class RdapService { editing: boolean = false; constructor( @@ -31,8 +31,8 @@ export class WhoisService { private registrarService: RegistrarService ) {} - saveChanges(newWhoisRegistrarFields: WhoisRegistrarFields) { - return this.backend.postWhoisRegistrarFields(newWhoisRegistrarFields).pipe( + saveChanges(newRdapRegistrarFields: RdapRegistrarFields) { + return this.backend.postRdapRegistrarFields(newRdapRegistrarFields).pipe( switchMap(() => { return this.registrarService.loadRegistrars(); }) diff --git a/console-webapp/src/app/settings/whois/whoisEdit.component.html b/console-webapp/src/app/settings/rdap/rdapEdit.component.html similarity index 69% rename from console-webapp/src/app/settings/whois/whoisEdit.component.html rename to console-webapp/src/app/settings/rdap/rdapEdit.component.html index c9416829b..81c4ce1d6 100644 --- a/console-webapp/src/app/settings/whois/whoisEdit.component.html +++ b/console-webapp/src/app/settings/rdap/rdapEdit.component.html @@ -1,27 +1,27 @@
-
+
- General registrar information for your WHOIS record. This information is - always visible in WHOIS. + General registrar information for your RDAP record. This information is + always visible in RDAP.
-
+

Personal info

@@ -115,45 +115,11 @@ /> -

Technical info

- - - WHOIS server: - - - - - Referral URL: - - - - @if((userDataService.userData()?.globalRole || 'NONE') !== "NONE") { - - ICANN Referral Email: - - - } - diff --git a/console-webapp/src/app/settings/whois/whoisEdit.component.scss b/console-webapp/src/app/settings/rdap/rdapEdit.component.scss similarity index 90% rename from console-webapp/src/app/settings/whois/whoisEdit.component.scss rename to console-webapp/src/app/settings/rdap/rdapEdit.component.scss index 49c4fdd80..0049de61a 100644 --- a/console-webapp/src/app/settings/whois/whoisEdit.component.scss +++ b/console-webapp/src/app/settings/rdap/rdapEdit.component.scss @@ -1,4 +1,4 @@ -.console-app__whois-edit { +.console-app__rdap-edit { max-width: 616px; &-controls { diff --git a/console-webapp/src/app/settings/whois/whoisEdit.component.ts b/console-webapp/src/app/settings/rdap/rdapEdit.component.ts similarity index 81% rename from console-webapp/src/app/settings/whois/whoisEdit.component.ts rename to console-webapp/src/app/settings/rdap/rdapEdit.component.ts index baf202dd0..0522e1374 100644 --- a/console-webapp/src/app/settings/whois/whoisEdit.component.ts +++ b/console-webapp/src/app/settings/rdap/rdapEdit.component.ts @@ -20,20 +20,20 @@ import { RegistrarService, } from 'src/app/registrar/registrar.service'; import { UserDataService } from 'src/app/shared/services/userData.service'; -import { WhoisService } from './whois.service'; +import { RdapService } from './rdap.service'; @Component({ - selector: 'app-whois-edit', - templateUrl: './whoisEdit.component.html', - styleUrls: ['./whoisEdit.component.scss'], + selector: 'app-rdap-edit', + templateUrl: './rdapEdit.component.html', + styleUrls: ['./rdapEdit.component.scss'], standalone: false, }) -export default class WhoisEditComponent { +export default class RdapEditComponent { registrarInEdit: Registrar | undefined; constructor( public userDataService: UserDataService, - public whoisService: WhoisService, + public rdapService: RdapService, public registrarService: RegistrarService, private _snackBar: MatSnackBar ) { @@ -49,9 +49,9 @@ export default class WhoisEditComponent { e.preventDefault(); if (!this.registrarInEdit) return; - this.whoisService.saveChanges(this.registrarInEdit).subscribe({ + this.rdapService.saveChanges(this.registrarInEdit).subscribe({ complete: () => { - this.whoisService.editing = false; + this.rdapService.editing = false; }, error: (err: HttpErrorResponse) => { this._snackBar.open(err.error); diff --git a/console-webapp/src/app/settings/settings.component.html b/console-webapp/src/app/settings/settings.component.html index 80b839883..59dad8919 100644 --- a/console-webapp/src/app/settings/settings.component.html +++ b/console-webapp/src/app/settings/settings.component.html @@ -19,13 +19,13 @@ > WHOIS InfoRDAP Info this.errorCatcher(err))); } - postWhoisRegistrarFields( - whoisRegistrarFields: WhoisRegistrarFields - ): Observable { - return this.http.post( - '/console-api/settings/whois-fields', - whoisRegistrarFields + postRdapRegistrarFields( + rdapRegistrarFields: RdapRegistrarFields + ): Observable { + return this.http.post( + '/console-api/settings/rdap-fields', + rdapRegistrarFields ); } diff --git a/core/src/main/java/google/registry/module/RequestComponent.java b/core/src/main/java/google/registry/module/RequestComponent.java index 5db0bc38d..b865edd43 100644 --- a/core/src/main/java/google/registry/module/RequestComponent.java +++ b/core/src/main/java/google/registry/module/RequestComponent.java @@ -127,8 +127,8 @@ import google.registry.ui.server.console.ConsoleUsersAction; import google.registry.ui.server.console.RegistrarsAction; import google.registry.ui.server.console.domains.ConsoleBulkDomainAction; import google.registry.ui.server.console.settings.ContactAction; +import google.registry.ui.server.console.settings.RdapRegistrarFieldsAction; import google.registry.ui.server.console.settings.SecurityAction; -import google.registry.ui.server.console.settings.WhoisRegistrarFieldsAction; import google.registry.whois.WhoisAction; import google.registry.whois.WhoisHttpAction; import google.registry.whois.WhoisModule; @@ -337,7 +337,7 @@ interface RequestComponent { WhoisHttpAction whoisHttpAction(); - WhoisRegistrarFieldsAction whoisRegistrarFieldsAction(); + RdapRegistrarFieldsAction rdapRegistrarFieldsAction(); WipeOutContactHistoryPiiAction wipeOutContactHistoryPiiAction(); diff --git a/core/src/main/java/google/registry/module/frontend/FrontendRequestComponent.java b/core/src/main/java/google/registry/module/frontend/FrontendRequestComponent.java index 85824aadc..4ca3b4d96 100644 --- a/core/src/main/java/google/registry/module/frontend/FrontendRequestComponent.java +++ b/core/src/main/java/google/registry/module/frontend/FrontendRequestComponent.java @@ -41,8 +41,8 @@ import google.registry.ui.server.console.ConsoleUsersAction; import google.registry.ui.server.console.RegistrarsAction; import google.registry.ui.server.console.domains.ConsoleBulkDomainAction; import google.registry.ui.server.console.settings.ContactAction; +import google.registry.ui.server.console.settings.RdapRegistrarFieldsAction; import google.registry.ui.server.console.settings.SecurityAction; -import google.registry.ui.server.console.settings.WhoisRegistrarFieldsAction; /** Dagger component with per-request lifetime for "default" App Engine module. */ @RequestScope @@ -92,7 +92,7 @@ public interface FrontendRequestComponent { SecurityAction securityAction(); - WhoisRegistrarFieldsAction whoisRegistrarFieldsAction(); + RdapRegistrarFieldsAction rdapRegistrarFieldsAction(); @Subcomponent.Builder abstract class Builder implements RequestComponentBuilder { diff --git a/core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java b/core/src/main/java/google/registry/ui/server/console/settings/RdapRegistrarFieldsAction.java similarity index 79% rename from core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java rename to core/src/main/java/google/registry/ui/server/console/settings/RdapRegistrarFieldsAction.java index 356e1e7b5..d6a69cb4e 100644 --- a/core/src/main/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsAction.java +++ b/core/src/main/java/google/registry/ui/server/console/settings/RdapRegistrarFieldsAction.java @@ -17,7 +17,6 @@ package google.registry.ui.server.console.settings; import static com.google.common.base.Preconditions.checkArgument; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; import static google.registry.request.Action.Method.POST; -import static jakarta.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import static jakarta.servlet.http.HttpServletResponse.SC_FORBIDDEN; import static jakarta.servlet.http.HttpServletResponse.SC_OK; @@ -36,7 +35,6 @@ import google.registry.request.auth.AuthenticatedRegistrarAccessor.RegistrarAcce import google.registry.ui.server.console.ConsoleApiAction; import google.registry.ui.server.console.ConsoleApiParams; import jakarta.inject.Inject; -import java.util.Objects; import java.util.Optional; /** @@ -48,17 +46,17 @@ import java.util.Optional; @Action( service = GaeService.DEFAULT, gkeService = GkeService.CONSOLE, - path = WhoisRegistrarFieldsAction.PATH, + path = RdapRegistrarFieldsAction.PATH, method = {POST}, auth = Auth.AUTH_PUBLIC_LOGGED_IN) -public class WhoisRegistrarFieldsAction extends ConsoleApiAction { +public class RdapRegistrarFieldsAction extends ConsoleApiAction { - static final String PATH = "/console-api/settings/whois-fields"; + static final String PATH = "/console-api/settings/rdap-fields"; private final AuthenticatedRegistrarAccessor registrarAccessor; private final Optional registrar; @Inject - public WhoisRegistrarFieldsAction( + public RdapRegistrarFieldsAction( ConsoleApiParams consoleApiParams, AuthenticatedRegistrarAccessor registrarAccessor, @Parameter("registrar") Optional registrar) { @@ -72,10 +70,10 @@ public class WhoisRegistrarFieldsAction extends ConsoleApiAction { checkArgument(registrar.isPresent(), "'registrar' parameter is not present"); checkPermission( user, registrar.get().getRegistrarId(), ConsolePermission.EDIT_REGISTRAR_DETAILS); - tm().transact(() -> loadAndModifyRegistrar(registrar.get(), user)); + tm().transact(() -> loadAndModifyRegistrar(registrar.get())); } - private void loadAndModifyRegistrar(Registrar providedRegistrar, User user) { + private void loadAndModifyRegistrar(Registrar providedRegistrar) { Registrar savedRegistrar; try { // reload to make sure the object has all the correct fields @@ -85,24 +83,12 @@ public class WhoisRegistrarFieldsAction extends ConsoleApiAction { return; } - // icannReferralEmail can't be updated by partners, only by global users with - // EDIT_REGISTRAR_DETAILS permission - if (!Objects.equals( - savedRegistrar.getIcannReferralEmail(), providedRegistrar.getIcannReferralEmail()) - && !user.getUserRoles().hasGlobalPermission(ConsolePermission.EDIT_REGISTRAR_DETAILS)) { - setFailedResponse( - "Icann Referral Email update is not permitted for this user", SC_BAD_REQUEST); - } - Registrar newRegistrar = savedRegistrar .asBuilder() - .setWhoisServer(providedRegistrar.getWhoisServer()) - .setUrl(providedRegistrar.getUrl()) .setLocalizedAddress(providedRegistrar.getLocalizedAddress()) .setPhoneNumber(providedRegistrar.getPhoneNumber()) .setFaxNumber(providedRegistrar.getFaxNumber()) - .setIcannReferralEmail(providedRegistrar.getIcannReferralEmail()) .setEmailAddress(providedRegistrar.getEmailAddress()) .build(); tm().put(newRegistrar); diff --git a/core/src/test/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsActionTest.java b/core/src/test/java/google/registry/ui/server/console/settings/RdapRegistrarFieldsActionTest.java similarity index 87% rename from core/src/test/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsActionTest.java rename to core/src/test/java/google/registry/ui/server/console/settings/RdapRegistrarFieldsActionTest.java index 200f65d89..0bdf9655a 100644 --- a/core/src/test/java/google/registry/ui/server/console/settings/WhoisRegistrarFieldsActionTest.java +++ b/core/src/test/java/google/registry/ui/server/console/settings/RdapRegistrarFieldsActionTest.java @@ -53,8 +53,8 @@ import org.joda.time.DateTime; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -/** Tests for {@link WhoisRegistrarFieldsAction}. */ -public class WhoisRegistrarFieldsActionTest { +/** Tests for {@link RdapRegistrarFieldsAction}. */ +public class RdapRegistrarFieldsActionTest { private ConsoleApiParams consoleApiParams; private static final Gson GSON = RequestModule.provideGson(); @@ -89,8 +89,6 @@ public class WhoisRegistrarFieldsActionTest { @Test void testSuccess_setsAllFields() throws Exception { Registrar oldRegistrar = Registrar.loadRequiredRegistrarCached("TheRegistrar"); - assertThat(oldRegistrar.getWhoisServer()).isEqualTo("whois.nic.fakewhois.example"); - assertThat(oldRegistrar.getUrl()).isEqualTo("http://my.fake.url"); ImmutableMap addressMap = ImmutableMap.of( "street", @@ -105,33 +103,26 @@ public class WhoisRegistrarFieldsActionTest { "CA"); uiRegistrarMap.putAll( ImmutableMap.of( - "whoisServer", - "whois.nic.google", "icannReferralEmail", "lol@sloth.test", "phoneNumber", "+1.4155552671", "faxNumber", "+1.4155552672", - "url", - "\"https://newurl.example\"", "localizedAddress", "{\"street\": [\"123 Fake St\"], \"city\": \"Fakeville\", \"state\":" + " \"NL\", \"zip\": \"10011\", \"countryCode\": \"CA\"}")); - WhoisRegistrarFieldsAction action = createAction(); + RdapRegistrarFieldsAction action = createAction(); action.run(); assertThat(((FakeResponse) consoleApiParams.response()).getStatus()).isEqualTo(SC_OK); Registrar newRegistrar = Registrar.loadByRegistrarId("TheRegistrar").get(); // skip cache - assertThat(newRegistrar.getWhoisServer()).isEqualTo("whois.nic.google"); - assertThat(newRegistrar.getUrl()).isEqualTo("https://newurl.example"); assertThat(newRegistrar.getLocalizedAddress().toJsonMap()).isEqualTo(addressMap); assertThat(newRegistrar.getPhoneNumber()).isEqualTo("+1.4155552671"); assertThat(newRegistrar.getFaxNumber()).isEqualTo("+1.4155552672"); // the non-changed fields should be the same assertAboutImmutableObjects() .that(newRegistrar) - .isEqualExceptFields( - oldRegistrar, "whoisServer", "url", "localizedAddress", "phoneNumber", "faxNumber"); + .isEqualExceptFields(oldRegistrar, "localizedAddress", "phoneNumber", "faxNumber"); SimpleConsoleUpdateHistory history = loadSingleton(SimpleConsoleUpdateHistory.class).get(); assertThat(history.getType()).isEqualTo(ConsoleUpdateHistory.Type.REGISTRAR_UPDATE); assertThat(history.getDescription()).hasValue("TheRegistrar"); @@ -151,7 +142,7 @@ public class WhoisRegistrarFieldsActionTest { .build()) .build()); uiRegistrarMap.put("registrarId", "NewRegistrar"); - WhoisRegistrarFieldsAction action = createAction(onlyTheRegistrar); + RdapRegistrarFieldsAction action = createAction(onlyTheRegistrar); action.run(); assertThat(((FakeResponse) consoleApiParams.response()).getStatus()).isEqualTo(SC_FORBIDDEN); // should be no change @@ -162,17 +153,17 @@ public class WhoisRegistrarFieldsActionTest { return AuthResult.createUser(DatabaseHelper.createAdminUser("email@email.example")); } - private WhoisRegistrarFieldsAction createAction() throws IOException { + private RdapRegistrarFieldsAction createAction() throws IOException { return createAction(defaultUserAuth()); } - private WhoisRegistrarFieldsAction createAction(AuthResult authResult) throws IOException { + private RdapRegistrarFieldsAction createAction(AuthResult authResult) throws IOException { consoleApiParams = ConsoleApiParamsUtils.createFake(authResult); when(consoleApiParams.request().getMethod()).thenReturn(Action.Method.POST.toString()); doReturn(new BufferedReader(new StringReader(uiRegistrarMap.toString()))) .when(consoleApiParams.request()) .getReader(); - return new WhoisRegistrarFieldsAction( + return new RdapRegistrarFieldsAction( consoleApiParams, registrarAccessor, ConsoleModule.provideRegistrar( diff --git a/core/src/test/java/google/registry/webdriver/ConsoleScreenshotTest.java b/core/src/test/java/google/registry/webdriver/ConsoleScreenshotTest.java index 8d1f6d37b..220c8cbcf 100644 --- a/core/src/test/java/google/registry/webdriver/ConsoleScreenshotTest.java +++ b/core/src/test/java/google/registry/webdriver/ConsoleScreenshotTest.java @@ -101,7 +101,7 @@ public class ConsoleScreenshotTest extends WebDriverTestCase { driver.diffPage("noRegistrarSelected"); selectRegistrar(); driver.diffPage("registrarSelected_contacts"); - driver.findElement(By.cssSelector("a[routerLink=\"whois\"]")).click(); + driver.findElement(By.cssSelector("a[routerLink=\"rdap\"]")).click(); Thread.sleep(500); driver.diffPage("registrarSelected_whois"); driver.findElement(By.cssSelector("a[routerLink=\"security\"]")).click(); diff --git a/core/src/test/resources/google/registry/module/frontend/frontend_routing.txt b/core/src/test/resources/google/registry/module/frontend/frontend_routing.txt index fa7a028f7..0696df9ee 100644 --- a/core/src/test/resources/google/registry/module/frontend/frontend_routing.txt +++ b/core/src/test/resources/google/registry/module/frontend/frontend_routing.txt @@ -1,19 +1,19 @@ -SERVICE PATH CLASS METHODS OK MIN USER_POLICY -FRONTEND /_dr/epp EppTlsAction POST n APP ADMIN -FRONTEND /ready/frontend ReadinessProbeActionFrontend GET n NONE PUBLIC -CONSOLE /console-api/bulk-domain ConsoleBulkDomainAction POST n USER PUBLIC -CONSOLE /console-api/domain ConsoleDomainGetAction GET n USER PUBLIC -CONSOLE /console-api/domain-list ConsoleDomainListAction GET n USER PUBLIC -CONSOLE /console-api/dum-download ConsoleDumDownloadAction GET n USER PUBLIC -CONSOLE /console-api/eppPassword ConsoleEppPasswordAction POST n USER PUBLIC -CONSOLE /console-api/ote ConsoleOteAction GET,POST n USER PUBLIC -CONSOLE /console-api/registrar ConsoleUpdateRegistrarAction POST n USER PUBLIC -CONSOLE /console-api/registrars RegistrarsAction GET,POST n USER PUBLIC -CONSOLE /console-api/registry-lock ConsoleRegistryLockAction GET,POST n USER PUBLIC -CONSOLE /console-api/registry-lock-verify ConsoleRegistryLockVerifyAction GET n USER PUBLIC -CONSOLE /console-api/settings/contacts ContactAction GET,POST n USER PUBLIC -CONSOLE /console-api/settings/security SecurityAction POST n USER PUBLIC -CONSOLE /console-api/settings/whois-fields WhoisRegistrarFieldsAction POST n USER PUBLIC -CONSOLE /console-api/userdata ConsoleUserDataAction GET n USER PUBLIC -CONSOLE /console-api/users ConsoleUsersAction GET,POST,DELETE,PUT n USER PUBLIC -CONSOLE /ready/console ReadinessProbeConsoleAction GET n NONE PUBLIC +SERVICE PATH CLASS METHODS OK MIN USER_POLICY +FRONTEND /_dr/epp EppTlsAction POST n APP ADMIN +FRONTEND /ready/frontend ReadinessProbeActionFrontend GET n NONE PUBLIC +CONSOLE /console-api/bulk-domain ConsoleBulkDomainAction POST n USER PUBLIC +CONSOLE /console-api/domain ConsoleDomainGetAction GET n USER PUBLIC +CONSOLE /console-api/domain-list ConsoleDomainListAction GET n USER PUBLIC +CONSOLE /console-api/dum-download ConsoleDumDownloadAction GET n USER PUBLIC +CONSOLE /console-api/eppPassword ConsoleEppPasswordAction POST n USER PUBLIC +CONSOLE /console-api/ote ConsoleOteAction GET,POST n USER PUBLIC +CONSOLE /console-api/registrar ConsoleUpdateRegistrarAction POST n USER PUBLIC +CONSOLE /console-api/registrars RegistrarsAction GET,POST n USER PUBLIC +CONSOLE /console-api/registry-lock ConsoleRegistryLockAction GET,POST n USER PUBLIC +CONSOLE /console-api/registry-lock-verify ConsoleRegistryLockVerifyAction GET n USER PUBLIC +CONSOLE /console-api/settings/contacts ContactAction GET,POST n USER PUBLIC +CONSOLE /console-api/settings/rdap-fields RdapRegistrarFieldsAction POST n USER PUBLIC +CONSOLE /console-api/settings/security SecurityAction POST n USER PUBLIC +CONSOLE /console-api/userdata ConsoleUserDataAction GET n USER PUBLIC +CONSOLE /console-api/users ConsoleUsersAction GET,POST,DELETE,PUT n USER PUBLIC +CONSOLE /ready/console ReadinessProbeConsoleAction GET n NONE PUBLIC \ No newline at end of file diff --git a/core/src/test/resources/google/registry/module/routing.txt b/core/src/test/resources/google/registry/module/routing.txt index 800fdc4f5..f89d1b622 100644 --- a/core/src/test/resources/google/registry/module/routing.txt +++ b/core/src/test/resources/google/registry/module/routing.txt @@ -80,8 +80,8 @@ CONSOLE /console-api/registrars RegistrarsAction CONSOLE /console-api/registry-lock ConsoleRegistryLockAction GET,POST n USER PUBLIC CONSOLE /console-api/registry-lock-verify ConsoleRegistryLockVerifyAction GET n USER PUBLIC CONSOLE /console-api/settings/contacts ContactAction GET,POST n USER PUBLIC +CONSOLE /console-api/settings/rdap-fields RdapRegistrarFieldsAction POST n USER PUBLIC CONSOLE /console-api/settings/security SecurityAction POST n USER PUBLIC -CONSOLE /console-api/settings/whois-fields WhoisRegistrarFieldsAction POST n USER PUBLIC CONSOLE /console-api/userdata ConsoleUserDataAction GET n USER PUBLIC CONSOLE /console-api/users ConsoleUsersAction GET,POST,DELETE,PUT n USER PUBLIC -CONSOLE /ready/console ReadinessProbeConsoleAction GET n NONE PUBLIC +CONSOLE /ready/console ReadinessProbeConsoleAction GET n NONE PUBLIC \ No newline at end of file diff --git a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_noRegistrarSelected.png b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_noRegistrarSelected.png index d7b05e99e..50a413693 100644 Binary files a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_noRegistrarSelected.png and b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_noRegistrarSelected.png differ diff --git a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_contacts.png b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_contacts.png index 1ed8d79fd..2cc37097c 100644 Binary files a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_contacts.png and b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_contacts.png differ diff --git a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_security.png b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_security.png index 6a6def070..650fc00a9 100644 Binary files a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_security.png and b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_security.png differ diff --git a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_whois.png b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_whois.png index 1e9107c00..0b2687f0f 100644 Binary files a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_whois.png and b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_registrarSelected_whois.png differ diff --git a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_selectorOpen.png b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_selectorOpen.png index 022df1565..50cba49f4 100644 Binary files a/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_selectorOpen.png and b/core/src/test/resources/google/registry/webdriver/goldens/chrome-linux/ConsoleScreenshotTest_settingsPage_selectorOpen.png differ