Skip to content

Commit c38aeac

Browse files
committed
Changed: installationBrandName param relying on BrandingUtils
1 parent f1dea35 commit c38aeac

4 files changed

Lines changed: 18 additions & 27 deletions

File tree

doc/sphinx-guides/source/api/native-api.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6020,8 +6020,7 @@ The expected OK (200) response looks something like this:
60206020
"type": "CREATEACC",
60216021
"displayAsRead": false,
60226022
"sentTimestamp": "2025-08-08T08:00:16Z",
6023-
"rootDataverseName": "Root",
6024-
"installationName": "Your Installation Name",
6023+
"installationBrandName": "Your Installation Name",
60256024
"userGuidesBaseUrl": "https://guides.dataverse.org",
60266025
"userGuidesVersion": "6.7.1",
60276026
"userGuidesSectionPath": "user/index.html"

src/main/java/edu/harvard/iq/dataverse/util/json/InAppNotificationsJsonPrinter.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import edu.harvard.iq.dataverse.*;
44
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
5-
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
5+
import edu.harvard.iq.dataverse.branding.BrandingUtil;
66
import edu.harvard.iq.dataverse.util.SystemConfig;
77
import jakarta.ejb.EJB;
88
import jakarta.ejb.Stateless;
@@ -32,14 +32,13 @@ public class InAppNotificationsJsonPrinter {
3232
public static final String KEY_REQUESTOR_EMAIL = "requestorEmail";
3333
public static final String KEY_DATAFILE_ID = "dataFileId";
3434
public static final String KEY_DATAFILE_DISPLAY_NAME = "dataFileDisplayName";
35-
public static final String KEY_ROOT_DATAVERSE_NAME = "rootDataverseName";
3635
public static final String KEY_GUIDES_BASE_URL = "userGuidesBaseUrl";
3736
public static final String KEY_GUIDES_VERSION = "userGuidesVersion";
3837
public static final String KEY_GUIDES_SECTION_PATH = "userGuidesSectionPath";
3938
public static final String KEY_CURATION_STATUS = "currentCurationStatus";
4039
public static final String KEY_ADDITIONAL_INFO = "additionalInfo";
4140
public static final String KEY_OBJECT_DELETED = "objectDeleted";
42-
public static final String KEY_INSTALLATION_NAME = "installationName";
41+
public static final String KEY_INSTALLATION_BRAND_NAME = "installationBrandName";
4342

4443
public static final String GUIDES_SECTION_PATH_DATAVERSE_MANAGEMENT_HTML = "user/dataverse-management.html";
4544
public static final String GUIDES_SECTION_PATH_DATASET_MANAGEMENT_HTML = "user/dataset-management.html";
@@ -58,8 +57,6 @@ public class InAppNotificationsJsonPrinter {
5857
private PermissionServiceBean permissionService;
5958
@EJB
6059
private SystemConfig systemConfig;
61-
@EJB
62-
private SettingsServiceBean settingsService;
6360

6461
/**
6562
* Populates a JSON builder with fields specific to the notification type.
@@ -173,8 +170,7 @@ private void addCreateDataverseFields(final NullSafeJsonBuilder notificationJson
173170
}
174171

175172
private void addCreateAccountFields(final NullSafeJsonBuilder notificationJson) {
176-
notificationJson.add(KEY_ROOT_DATAVERSE_NAME, dataverseService.findRootDataverse().getName());
177-
notificationJson.add(KEY_INSTALLATION_NAME, settingsService.getValueForKey(SettingsServiceBean.Key.InstallationName));
173+
notificationJson.add(KEY_INSTALLATION_BRAND_NAME, BrandingUtil.getInstallationBrandName());
178174
addGuidesFields(notificationJson, GUIDES_SECTION_PATH_USER_HTML);
179175
}
180176

src/test/java/edu/harvard/iq/dataverse/api/NotificationsIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public void testNotifications() {
168168
.body("data.notifications[0].displayAsRead", equalTo(false))
169169
.body("data.notifications.size()", equalTo(1))
170170
// In-App fields should be null
171-
.body("data.notifications[0].rootDataverseName", equalTo(null))
171+
.body("data.notifications[0].installationBrandName", equalTo(null))
172172
.body("data.notifications[0].userGuidesBaseUrl", equalTo(null))
173173
.body("data.notifications[0].userGuidesVersion", equalTo(null))
174174
.body("data.notifications[0].userGuidesSectionPath", equalTo(null))
@@ -189,7 +189,7 @@ public void testNotifications() {
189189
.body("data.notifications[0].displayAsRead", equalTo(false))
190190
.body("data.notifications.size()", equalTo(1))
191191
// In-App fields should be present
192-
.body("data.notifications[0].rootDataverseName", equalTo("Root"))
192+
.body("data.notifications[0].installationBrandName", equalTo("Root"))
193193
.body("data.notifications[0].userGuidesBaseUrl", equalTo("https://guides.dataverse.org"))
194194
.body("data.notifications[0].userGuidesSectionPath", equalTo("user/index.html"))
195195
.body("data.notifications[0].userGuidesVersion", not(equalTo(null)))

src/test/java/edu/harvard/iq/dataverse/util/json/InAppNotificationsJsonPrinterTest.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,16 @@
22

33
import edu.harvard.iq.dataverse.*;
44
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
5+
import edu.harvard.iq.dataverse.branding.BrandingUtil;
56
import edu.harvard.iq.dataverse.pidproviders.doi.AbstractDOIProvider;
6-
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
77
import edu.harvard.iq.dataverse.util.SystemConfig;
88
import jakarta.json.JsonArrayBuilder;
99
import org.junit.jupiter.api.BeforeEach;
1010
import org.junit.jupiter.api.Test;
1111
import org.junit.jupiter.api.extension.ExtendWith;
1212
import org.mockito.InjectMocks;
1313
import org.mockito.Mock;
14+
import org.mockito.MockedStatic;
1415
import org.mockito.junit.jupiter.MockitoExtension;
1516

1617
import java.util.Collections;
@@ -34,8 +35,6 @@ public class InAppNotificationsJsonPrinterTest {
3435
@Mock
3536
private PermissionServiceBean permissionService;
3637
@Mock
37-
private SettingsServiceBean settingsService;
38-
@Mock
3938
private SystemConfig systemConfig;
4039

4140
@InjectMocks
@@ -401,22 +400,19 @@ public void testAddFieldsByType_statusUpdated_objectDeleted() {
401400
@Test
402401
public void testAddFieldsByType_createAcc() {
403402
userNotification.setType(UserNotification.Type.CREATEACC);
403+
try (MockedStatic<BrandingUtil> mockedBrandingUtil = mockStatic(BrandingUtil.class)) {
404+
mockedBrandingUtil.when(BrandingUtil::getInstallationBrandName).thenReturn("My Test Brand Name");
404405

405-
Dataverse rootDataverse = mock(Dataverse.class);
406-
when(rootDataverse.getName()).thenReturn("Root");
407-
when(dataverseService.findRootDataverse()).thenReturn(rootDataverse);
408-
when(settingsService.getValueForKey(SettingsServiceBean.Key.InstallationName)).thenReturn("InstallationName");
406+
when(systemConfig.getGuidesBaseUrl(false)).thenReturn("http://guides.dataverse.org");
407+
when(systemConfig.getGuidesVersion()).thenReturn("v1.0");
409408

410-
when(systemConfig.getGuidesBaseUrl(false)).thenReturn("http://guides.dataverse.org");
411-
when(systemConfig.getGuidesVersion()).thenReturn("v1.0");
409+
sut.addFieldsByType(notificationJson, authenticatedUser, userNotification);
412410

413-
sut.addFieldsByType(notificationJson, authenticatedUser, userNotification);
414-
415-
verify(notificationJson).add(KEY_ROOT_DATAVERSE_NAME, "Root");
416-
verify(notificationJson).add(KEY_INSTALLATION_NAME, "InstallationName");
417-
verify(notificationJson).add(KEY_GUIDES_BASE_URL, "http://guides.dataverse.org");
418-
verify(notificationJson).add(KEY_GUIDES_VERSION, "1.0");
419-
verify(notificationJson).add(KEY_GUIDES_SECTION_PATH, GUIDES_SECTION_PATH_USER_HTML);
411+
verify(notificationJson).add(KEY_INSTALLATION_BRAND_NAME, "My Test Brand Name");
412+
verify(notificationJson).add(KEY_GUIDES_BASE_URL, "http://guides.dataverse.org");
413+
verify(notificationJson).add(KEY_GUIDES_VERSION, "1.0");
414+
verify(notificationJson).add(KEY_GUIDES_SECTION_PATH, GUIDES_SECTION_PATH_USER_HTML);
415+
}
420416
}
421417

422418
@Test

0 commit comments

Comments
 (0)