ImageService updateOwner, setAlt, and setCaption implementations.
This commit is contained in:
parent
a264b10cdb
commit
3e4db86457
@ -71,6 +71,18 @@ public class S3ImageServiceTests {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Image createHal9000(User owner) throws ImageException, IOException {
|
||||||
|
try (final InputStream hal9000 = getHal9000()) {
|
||||||
|
return this.imageService.create(
|
||||||
|
owner,
|
||||||
|
"HAL9000.svg",
|
||||||
|
hal9000,
|
||||||
|
"image/svg+xml",
|
||||||
|
27881L
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void smokeScreen() {}
|
public void smokeScreen() {}
|
||||||
|
|
||||||
@ -168,6 +180,46 @@ public class S3ImageServiceTests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DirtiesContext
|
||||||
|
public void updateOwner() {
|
||||||
|
try (final InputStream hal9000 = getHal9000()) {
|
||||||
|
final User oldOwner = this.createTestUser("oldImageOwner");
|
||||||
|
final User newOwner = this.createTestUser("newImageOwner");
|
||||||
|
Image image = this.createHal9000(oldOwner, hal9000);
|
||||||
|
assertThat(image.getOwner(), isUser(oldOwner));
|
||||||
|
image = this.imageService.updateOwner(image, oldOwner, newOwner);
|
||||||
|
assertThat(image.getOwner(), isUser(newOwner));
|
||||||
|
} catch (ImageException | IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DirtiesContext
|
||||||
|
public void setAlt() throws ImageException, IOException {
|
||||||
|
final User owner = this.createTestUser("imageOwner");
|
||||||
|
Image image = this.createHal9000(owner);
|
||||||
|
image = this.imageService.setAlt(image, owner, "Example alt.");
|
||||||
|
assertThat(image.getAlt(), is("Example alt."));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DirtiesContext
|
||||||
|
public void setCaption() throws ImageException, IOException {
|
||||||
|
final User owner = this.createTestUser("imageOwner");
|
||||||
|
Image image = this.createHal9000(owner);
|
||||||
|
image = this.imageService.setCaption(image, owner, "Example caption.");
|
||||||
|
assertThat(image.getCaption(), is("Example caption."));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@DirtiesContext
|
||||||
|
public void setPublicToTrue() throws ImageException, IOException {
|
||||||
|
final User owner = this.createTestUser("imageOwner");
|
||||||
|
Image image = this.createHal9000(owner);
|
||||||
|
image = this.imageService.setPublic(image, owner, true);
|
||||||
|
assertThat(image.isPublic(), is(true));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -94,18 +94,27 @@ public class S3ImageService implements ImageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@PreAuthorize("@imageSecurity.isOwner(#image, #oldOwner)")
|
||||||
public Image updateOwner(Image image, User oldOwner, User newOwner) {
|
public Image updateOwner(Image image, User oldOwner, User newOwner) {
|
||||||
return null;
|
final ImageEntity imageEntity = (ImageEntity) image;
|
||||||
|
imageEntity.setOwner((UserEntity) newOwner);
|
||||||
|
return this.imageRepository.save(imageEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@PreAuthorize("@imageSecurity.isOwner(#image, #owner)")
|
||||||
public Image setAlt(Image image, User owner, String alt) {
|
public Image setAlt(Image image, User owner, String alt) {
|
||||||
return null;
|
final ImageEntity imageEntity = (ImageEntity) image;
|
||||||
|
imageEntity.setAlt(alt);
|
||||||
|
return this.imageRepository.save(imageEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@PreAuthorize("@imageSecurity.isOwner(#image, #owner)")
|
||||||
public Image setCaption(Image image, User owner, String caption) {
|
public Image setCaption(Image image, User owner, String caption) {
|
||||||
return null;
|
final ImageEntity imageEntity = (ImageEntity) image;
|
||||||
|
imageEntity.setCaption(caption);
|
||||||
|
return this.imageRepository.save(imageEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -117,6 +126,7 @@ public class S3ImageService implements ImageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@PreAuthorize("@imageSecurity.isOwner(#image, #owner)")
|
||||||
public Image addViewer(Image image, User owner, User viewer) {
|
public Image addViewer(Image image, User owner, User viewer) {
|
||||||
final ImageEntity withViewers = this.imageRepository.getByIdWithViewers(image.getId());
|
final ImageEntity withViewers = this.imageRepository.getByIdWithViewers(image.getId());
|
||||||
withViewers.getViewers().add((UserEntity) viewer);
|
withViewers.getViewers().add((UserEntity) viewer);
|
||||||
@ -124,6 +134,7 @@ public class S3ImageService implements ImageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@PreAuthorize("@imageSecurity.isOwner(#image, #owner)")
|
||||||
public Image removeViewer(Image image, User owner, User viewer) {
|
public Image removeViewer(Image image, User owner, User viewer) {
|
||||||
final ImageEntity withViewers = this.imageRepository.getByIdWithViewers(image.getId());
|
final ImageEntity withViewers = this.imageRepository.getByIdWithViewers(image.getId());
|
||||||
withViewers.getViewers().remove((UserEntity) viewer);
|
withViewers.getViewers().remove((UserEntity) viewer);
|
||||||
@ -131,6 +142,7 @@ public class S3ImageService implements ImageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@PreAuthorize("@imageSecurity.isOwner(#image, #owner)")
|
||||||
public Image clearViewers(Image image, User owner) {
|
public Image clearViewers(Image image, User owner) {
|
||||||
final ImageEntity withViewers = this.imageRepository.getByIdWithViewers(image.getId());
|
final ImageEntity withViewers = this.imageRepository.getByIdWithViewers(image.getId());
|
||||||
withViewers.getViewers().clear();
|
withViewers.getViewers().clear();
|
||||||
|
Loading…
Reference in New Issue
Block a user