Skip to content

Commit ac1ab8c

Browse files
committed
Consider avatar description also on upload
1 parent fb086b5 commit ac1ab8c

File tree

8 files changed

+29
-16
lines changed

8 files changed

+29
-16
lines changed

src/inttest/java/com/faforever/api/avatar/AvatarControllerTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import org.junit.jupiter.api.AfterEach;
1010
import org.junit.jupiter.api.Test;
1111
import org.springframework.beans.factory.annotation.Autowired;
12-
import org.springframework.boot.test.mock.mockito.SpyBean;
1312
import org.springframework.http.MediaType;
1413
import org.springframework.mock.web.MockMultipartFile;
14+
import org.springframework.test.context.bean.override.mockito.MockitoSpyBean;
1515
import org.springframework.test.context.jdbc.Sql;
1616
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;
1717
import org.springframework.test.web.servlet.request.MockMultipartHttpServletRequestBuilder;
@@ -35,7 +35,7 @@
3535
@Sql(executionPhase = ExecutionPhase.BEFORE_TEST_METHOD, scripts = "classpath:sql/prepDefaultData.sql")
3636
@Sql(executionPhase = ExecutionPhase.BEFORE_TEST_METHOD, scripts = "classpath:sql/prepAvatarData.sql")
3737
public class AvatarControllerTest extends AbstractIntegrationTest {
38-
@SpyBean
38+
@MockitoSpyBean
3939
AuditService auditServiceSpy;
4040

4141
@Autowired
@@ -51,6 +51,7 @@ public void canUploadWithScopeAndRole() throws Exception {
5151
final Avatar avatar = avatarRepository.findOneByFilename("avatar3.png").get();
5252
assertThat(avatar.getFilename(), is("avatar3.png"));
5353
assertThat(avatar.getTooltip(), is("Best avatar"));
54+
assertThat(avatar.getDescription(), is("We like it"));
5455

5556
verify(auditServiceSpy, times(1)).logMessage(any());
5657
}
@@ -67,6 +68,7 @@ public void canReuploadWithScopeAndRole() throws Exception {
6768
final Avatar avatar = avatarRepository.findOneByFilename("avatar1.png").get();
6869
assertThat(avatar.getFilename(), is("avatar1.png"));
6970
assertThat(avatar.getTooltip(), is("Best avatar"));
71+
assertThat(avatar.getDescription(), is("We like it"));
7072
verify(auditServiceSpy, times(1)).logMessage(any());
7173
}
7274

src/inttest/java/com/faforever/api/user/UsersControllerTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
import com.faforever.api.security.OAuthScope;
1313
import org.junit.jupiter.api.Test;
1414
import org.springframework.beans.factory.annotation.Autowired;
15-
import org.springframework.boot.test.mock.mockito.MockBean;
1615
import org.springframework.http.HttpHeaders;
1716
import org.springframework.security.test.context.support.WithAnonymousUser;
17+
import org.springframework.test.context.bean.override.mockito.MockitoBean;
1818
import org.springframework.test.web.servlet.MvcResult;
1919
import org.springframework.util.MultiValueMap;
2020

@@ -43,13 +43,13 @@ public class UsersControllerTest extends AbstractIntegrationTest {
4343
private static final String NEW_PASSWORD = "newPassword";
4444
private static final String NEW_EMAIL = "[email protected]";
4545

46-
@MockBean
46+
@MockitoBean
4747
private EmailSender emailSender;
4848

49-
@MockBean
49+
@MockitoBean
5050
private SteamService steamService;
5151

52-
@MockBean
52+
@MockitoBean
5353
private GogService gogService;
5454

5555
@Autowired

src/main/java/com/faforever/api/avatar/AvatarMetadata.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
@Data
66
public class AvatarMetadata {
77
private String name;
8+
private String description;
89
}

src/main/java/com/faforever/api/avatar/AvatarService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import javax.imageio.ImageIO;
2020
import javax.imageio.ImageReader;
2121
import javax.imageio.stream.MemoryCacheImageInputStream;
22-
import java.awt.Dimension;
22+
import java.awt.*;
2323
import java.io.IOException;
2424
import java.io.InputStream;
2525
import java.net.URI;
@@ -51,6 +51,7 @@ public void createAvatar(AvatarMetadata avatarMetadata, String originalFilename,
5151
throw new ApiException(new Error(ErrorCode.AVATAR_NAME_CONFLICT, normalizedAvatarFileName));
5252
});
5353
avatarToCreate.setTooltip(avatarMetadata.getName())
54+
.setDescription(avatarMetadata.getDescription())
5455
.setFilename(normalizedAvatarFileName);
5556

5657
final InputStream markSupportedImageInputStream = getMarkSupportedInputStream(imageDataInputStream);
@@ -68,7 +69,9 @@ public void createAvatar(AvatarMetadata avatarMetadata, String originalFilename,
6869
public void updateAvatar(Integer avatarId, AvatarMetadata avatarMetadata, String originalFilename, InputStream imageDataInputStream, long avatarImageFileSize) {
6970
final Avatar existingAvatar = getExistingAvatar(avatarId);
7071
final String normalizedAvatarFileName = getFileNameFromUrl(existingAvatar.getUrl());
71-
existingAvatar.setTooltip(avatarMetadata.getName());
72+
existingAvatar
73+
.setTooltip(avatarMetadata.getName())
74+
.setDescription(avatarMetadata.getDescription());
7275

7376
final InputStream markSupportedImageInputStream = getMarkSupportedInputStream(imageDataInputStream);
7477
validateImageFile(originalFilename, avatarImageFileSize);

src/test/java/com/faforever/api/avatar/AvatarServiceTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,11 @@ public class AvatarServiceTest {
3939
private static final long VALID_FILE_SIZE = 1024;
4040
private static final long TOO_BIG_FILE_SIZE = 2048;
4141
private static final String AVATAR_NAME = "Nice Avatar";
42+
private static final String AVATAR_DESCRIPTION = "Only for nice people";
4243
private static final String EXISTING_AVATAR_NAME = "Existing Nice Avatar";
43-
private static final AvatarMetadata AVATAR_METADATA = new AvatarMetadata().setName(AVATAR_NAME);
44+
private static final AvatarMetadata AVATAR_METADATA = new AvatarMetadata()
45+
.setName(AVATAR_NAME)
46+
.setDescription(AVATAR_DESCRIPTION);
4447
private static final String EXISTING_VALID_AVATAR_FILENAME = "qai.png";
4548
private static final String VALID_AVATAR_FILENAME = "qai2.png";
4649
private static final String BIG_AVATAR_FILENAME = "donator.png";
@@ -97,6 +100,7 @@ public void newAvatarUploadWithValidName() throws Exception {
97100
String expectedFilename = NameUtil.normalizeFileName(worstCasePrefix + avatarFileName);
98101
assertEquals(expectedFilename, storedAvatar.getFilename());
99102
assertEquals(AVATAR_NAME, storedAvatar.getTooltip());
103+
assertEquals(AVATAR_DESCRIPTION, storedAvatar.getDescription());
100104
assertThat(avatarsPath.resolve(expectedFilename).toFile().length(), is(imageResource.openConnection().getContentLengthLong()));
101105
}
102106
}
@@ -118,6 +122,7 @@ public void existingAvatarReuploadWithDifferentValidName() throws Exception {
118122
final Avatar storedAvatar = avatarCaptor.getValue();
119123
assertEquals(String.format(DOWNLOAD_URL_FORMAT, EXISTING_VALID_AVATAR_FILENAME), storedAvatar.getUrl());
120124
assertEquals(AVATAR_NAME, storedAvatar.getTooltip());
125+
assertEquals(AVATAR_DESCRIPTION, storedAvatar.getDescription());
121126
assertThat(avatarsPath.resolve(EXISTING_VALID_AVATAR_FILENAME).toFile().length(), is(imageResource.openConnection().getContentLengthLong()));
122127
}
123128
}

src/test/java/com/faforever/api/config/TestWebSecurityConfig.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
import org.springframework.context.annotation.Bean;
44
import org.springframework.core.annotation.Order;
55
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
6+
import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
67
import org.springframework.security.web.SecurityFilterChain;
78

89
@Order(1)
910
public class TestWebSecurityConfig {
1011

1112
@Bean
1213
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
13-
http.csrf().disable();
14+
http.csrf(AbstractHttpConfigurer::disable);
1415
return http.build();
1516
}
1617
}

src/test/java/com/faforever/api/deployment/ExeUploaderControllerTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
import org.junit.jupiter.api.extension.ExtendWith;
88
import org.mockito.Mock;
99
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
10-
import org.springframework.boot.test.mock.mockito.MockBean;
1110
import org.springframework.context.annotation.Import;
1211
import org.springframework.mock.web.MockMultipartFile;
12+
import org.springframework.test.context.bean.override.mockito.MockitoBean;
1313
import org.springframework.test.context.junit.jupiter.SpringExtension;
1414
import org.springframework.test.web.servlet.MockMvc;
1515

@@ -27,13 +27,13 @@ public class ExeUploaderControllerTest {
2727

2828
public static final String API_KEY = "banana";
2929
private MockMvc mvc;
30-
@MockBean
30+
@MockitoBean
3131
private ExeUploaderService exeUploaderService;
32-
@MockBean
32+
@MockitoBean
3333
private FafApiProperties fafApiProperties;
34-
@MockBean
34+
@MockitoBean
3535
private FafApiProperties.Deployment deployment;
36-
@MockBean
36+
@MockitoBean
3737
private FafApiProperties.Monitoring monitoring;
3838

3939
@Mock
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"name": "Best avatar"
2+
"name": "Best avatar",
3+
"description": "We like it"
34
}

0 commit comments

Comments
 (0)