Skip to content

Commit 14a1703

Browse files
authored
Add isSystemUser to DeletionUserInfo (#769)
1 parent 7962bfe commit 14a1703

5 files changed

Lines changed: 19 additions & 1 deletion

File tree

cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/AttachmentsServiceImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ public void restoreAttachment(Instant restoreTimestamp) {
8181
private DeletionUserInfo fillDeletionUserInfo(UserInfo userInfo) {
8282
var deletionUserInfo = DeletionUserInfo.create();
8383
deletionUserInfo.setName(userInfo.getName());
84+
deletionUserInfo.setIsSystemUser(userInfo.isSystemUser());
8485
return deletionUserInfo;
8586
}
8687
}

cds-feature-attachments/src/main/java/com/sap/cds/feature/attachments/service/model/servicehandler/DeletionUserInfo.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
public interface DeletionUserInfo extends CdsData {
1414

1515
String NAME = "name";
16+
String IS_SYSTEM_USER = "isSystemUser";
1617

1718
static DeletionUserInfo create() {
1819
return Struct.create(DeletionUserInfo.class);
@@ -21,4 +22,8 @@ static DeletionUserInfo create() {
2122
String getName();
2223

2324
void setName(String id);
25+
26+
Boolean getIsSystemUser();
27+
28+
void setIsSystemUser(Boolean isSystemUser);
2429
}

cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/AttachmentsServiceImplTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,12 +180,14 @@ void restoreAttachmentAttachmentInsertsData() {
180180
private ModifiableUserInfo mockUserInfo() {
181181
var userInfo = UserInfo.create();
182182
userInfo.setName("some name");
183+
userInfo.setIsSystemUser(true);
183184
return userInfo;
184185
}
185186

186187
private void validateUerInfo(
187188
AttachmentMarkAsDeletedEventContext deleteEventContext, ModifiableUserInfo userInfo) {
188189
var deletionUserInfo = deleteEventContext.getDeletionUserInfo();
189190
assertThat(deletionUserInfo.getName()).isEqualTo(userInfo.getName());
191+
assertThat(deletionUserInfo.getIsSystemUser()).isEqualTo(userInfo.isSystemUser());
190192
}
191193
}

cds-feature-attachments/src/test/java/com/sap/cds/feature/attachments/service/model/servicehandler/DeletionUserInfoTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,20 @@ void dataCanBeRead() {
2222
var name = "some name";
2323

2424
cut.setName(name);
25+
cut.setIsSystemUser(true);
2526

2627
assertThat(cut.getName()).isEqualTo(name);
28+
assertThat(cut.getIsSystemUser()).isTrue();
2729
}
2830

2931
@Test
3032
void dataCanBeReadWithConstant() {
3133
var name = "some_name";
3234

3335
cut.setName(name);
36+
cut.setIsSystemUser(false);
3437

3538
assertThat(cut).containsEntry(DeletionUserInfo.NAME, name);
39+
assertThat(cut).containsEntry(DeletionUserInfo.IS_SYSTEM_USER, false);
3640
}
3741
}

integration-tests/srv/src/test/java/com/sap/cds/feature/attachments/integrationtests/nondraftservice/OdataRequestValidationWithTestHandlerTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ protected void verifySingleDeletionEvent(String contentId) {
163163
assertThat(event.context()).isInstanceOf(AttachmentMarkAsDeletedEventContext.class);
164164
var deleteContext = (AttachmentMarkAsDeletedEventContext) event.context();
165165
assertThat(deleteContext.getContentId()).isEqualTo(contentId);
166+
assertThat(deleteContext.getDeletionUserInfo().getName()).isEqualTo("anonymous");
167+
assertThat(deleteContext.getDeletionUserInfo().getIsSystemUser()).isFalse();
166168
});
167169
}
168170

@@ -203,7 +205,11 @@ private Predicate<EventContextHolder> verifyContentIdAndUserInfo(
203205
&& ((AttachmentMarkAsDeletedEventContext) event.context())
204206
.getDeletionUserInfo()
205207
.getName()
206-
.equals("anonymous");
208+
.equals("anonymous")
209+
&& Boolean.FALSE.equals(
210+
((AttachmentMarkAsDeletedEventContext) event.context())
211+
.getDeletionUserInfo()
212+
.getIsSystemUser());
207213
}
208214

209215
private void verifyCreateEventsContainsContentId(

0 commit comments

Comments
 (0)