Skip to content

Commit

Permalink
Merge eec7c70 into 17554c7
Browse files Browse the repository at this point in the history
  • Loading branch information
Brutus5000 committed Nov 2, 2019
2 parents 17554c7 + eec7c70 commit 363d756
Show file tree
Hide file tree
Showing 16 changed files with 87 additions and 73 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ before_install:
- chmod +x /tmp/docker-compose
- sudo mv /tmp/docker-compose /usr/local/bin
- APP_VERSION=$([ -n "${TRAVIS_TAG}" ] && echo "${TRAVIS_TAG#*v}" || echo "${TRAVIS_BRANCH##*/}")
- DOCEKR_IMAGE_VERSION=$([ -n "${TRAVIS_TAG}" ] && echo "${TRAVIS_TAG}" || echo "${TRAVIS_BRANCH##*/}")
- DOCKER_IMAGE_VERSION=$([ -n "${TRAVIS_TAG}" ] && echo "${TRAVIS_TAG}" || echo "${TRAVIS_BRANCH##*/}")

install:
- git clone https://github.com/FAForever/faf-stack.git faf-stack
Expand All @@ -40,7 +40,7 @@ after_success:
- if [ -n "${TRAVIS_TAG}" -o "${TRAVIS_BRANCH}" == "develop" ]; then
docker build -t ${IMAGE_TAG} . &&
echo "${DOCKER_PASSWORD}" | docker login -u "${DOCKER_USERNAME}" --password-stdin &&
docker tag ${IMAGE_TAG} ${REPO}:${DOCEKR_IMAGE_VERSION} &&
docker tag ${IMAGE_TAG} ${REPO}:${DOCKER_IMAGE_VERSION} &&
docker push ${REPO};
fi
# TODO Codacy coverage reporter does not yet support Java 9. See https://github.com/codacy/codacy-coverage-reporter/issues/76
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

import java.time.OffsetDateTime;

import static com.faforever.api.data.JsonApiMediaType.JSON_API_MEDIA_TYPE;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
Expand Down Expand Up @@ -60,7 +61,7 @@ public void canAssignAvatarWithScopeAndRole() throws Exception {
mockMvc.perform(
post("/data/player/{playerId}/avatarAssignments", player.getId())
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, GroupPermission.ROLE_WRITE_AVATAR))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isCreated())
.andExpect(jsonPath("$.data.relationships.player.data.id", is(player.getId())))
Expand All @@ -77,7 +78,7 @@ public void cannotAssignAvatarWithoutScope() throws Exception {
mockMvc.perform(
post("/data/player/{playerId}/avatarAssignments", player.getId())
.with(getOAuthTokenWithTestUser(NO_SCOPE, GroupPermission.ROLE_WRITE_AVATAR))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isForbidden());
}
Expand All @@ -92,7 +93,7 @@ public void cannotAssignAvatarWithoutRole() throws Exception {
mockMvc.perform(
post("/data/player/{playerId}/avatarAssignments", player.getId())
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isForbidden());
}
Expand Down Expand Up @@ -134,7 +135,7 @@ public void canUpdateAvatarAssignmentExpirationWithScopeAndRole() throws Excepti
mockMvc.perform(
patch("/data/avatarAssignment/{assignmentId}", 1)
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, GroupPermission.ROLE_WRITE_AVATAR))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isNoContent());
mockMvc.perform(
Expand All @@ -152,7 +153,7 @@ public void cannotUpdateAvatarAssignmentExpirationWithoutScope() throws Exceptio
mockMvc.perform(
patch("/data/avatarAssignment/{assignmentId}", 1)
.with(getOAuthTokenWithTestUser(NO_SCOPE, GroupPermission.ROLE_WRITE_AVATAR))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isForbidden());
}
Expand All @@ -166,7 +167,7 @@ public void cannotUpdateAvatarAssignmentExpirationWithoutRole() throws Exception
mockMvc.perform(
patch("/data/avatarAssignment/{assignmentId}", 1)
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isForbidden());
}
Expand All @@ -179,7 +180,7 @@ public void ownerCanUpdateAvatarAssignmentSelection() throws Exception {
mockMvc.perform(
patch("/data/avatarAssignment/{assignmentId}", 1)
.with(getOAuthTokenWithTestUser(NO_SCOPE, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isNoContent());
mockMvc.perform(
Expand All @@ -198,7 +199,7 @@ public void nonOwnerCannotUpdateAvatarAssignmentSelection() throws Exception {
mockMvc.perform(
patch("/data/avatarAssignment/{assignmentId}", 2)
.with(getOAuthTokenWithoutUser(OAuthScope._PUBLIC_PROFILE))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(createJsonApiContent(avatarAssignment)))
.andExpect(status().isForbidden());
}
Expand Down
9 changes: 5 additions & 4 deletions src/inttest/java/com/faforever/api/data/BanTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

import static com.faforever.api.data.JsonApiMediaType.JSON_API_MEDIA_TYPE;
import static com.faforever.api.data.domain.GroupPermission.ROLE_ADMIN_ACCOUNT_BAN;
import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.core.Is.is;
Expand Down Expand Up @@ -107,7 +108,7 @@ public void canReadBansWithScopeAndRole() throws Exception {
public void cannotCreateBanWithoutScope() throws Exception {
mockMvc.perform(post("/data/banInfo")
.with(getOAuthTokenWithTestUser(NO_SCOPE, ROLE_ADMIN_ACCOUNT_BAN))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(testPost))
.andExpect(status().isForbidden());
}
Expand All @@ -116,7 +117,7 @@ public void cannotCreateBanWithoutScope() throws Exception {
public void cannotCreateBanWithoutRole() throws Exception {
mockMvc.perform(post("/data/banInfo")
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(testPost))
.andExpect(status().isForbidden());
}
Expand All @@ -125,7 +126,7 @@ public void cannotCreateBanWithoutRole() throws Exception {
public void canCreateBanWithScopeAndRole() throws Exception {
mockMvc.perform(post("/data/banInfo")
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, GroupPermission.ROLE_ADMIN_ACCOUNT_BAN))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(testPost))
.andExpect(status().isCreated());
}
Expand All @@ -140,7 +141,7 @@ public void canCreateBanWithModerationWithScopeAndRole() throws Exception {
.setModerationReport((ModerationReport) new ModerationReport().setId("1"));

mockMvc.perform(post("/data/banInfo")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, GroupPermission.ROLE_ADMIN_ACCOUNT_BAN))
.content(createJsonApiContent(ban)))
.andExpect(status().isCreated())
Expand Down
13 changes: 7 additions & 6 deletions src/inttest/java/com/faforever/api/data/DomainBlacklistTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

import static com.faforever.api.data.JsonApiMediaType.JSON_API_MEDIA_TYPE;
import static org.hamcrest.Matchers.hasSize;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
Expand Down Expand Up @@ -75,7 +76,7 @@ public void canCreateDomainBanWithScopeAndRole() throws Exception {
mockMvc.perform(
post("/data/domainBlacklist")
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, GroupPermission.ROLE_WRITE_EMAIL_DOMAIN_BAN))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(NEW_DOMAIN))
.andExpect(status().isCreated());
}
Expand All @@ -85,7 +86,7 @@ public void cannotCreateDomainBanWithoutScope() throws Exception {
mockMvc.perform(
post("/data/domainBlacklist")
.with(getOAuthTokenWithTestUser(NO_SCOPE, GroupPermission.ROLE_WRITE_EMAIL_DOMAIN_BAN))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(NEW_DOMAIN))
.andExpect(status().isForbidden());
}
Expand All @@ -95,7 +96,7 @@ public void cannotCreateDomainBanWithoutRole() throws Exception {
mockMvc.perform(
post("/data/domainBlacklist")
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(NEW_DOMAIN))
.andExpect(status().isForbidden());
}
Expand All @@ -106,7 +107,7 @@ public void canUpdateDomainBanWithScopeAndRole() throws Exception {
mockMvc.perform(
patch("/data/domainBlacklist/spam.org")
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, GroupPermission.ROLE_WRITE_EMAIL_DOMAIN_BAN))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content("{\"data\":{\"type\":\"domainBlacklist\",\"id\":\"spam.org\"}}"))
.andExpect(status().isNoContent());
}
Expand All @@ -116,7 +117,7 @@ public void cannotUpdateDomainBanWithoutScope() throws Exception {
mockMvc.perform(
patch("/data/domainBlacklist/spam.org")
.with(getOAuthTokenWithTestUser(NO_SCOPE, GroupPermission.ROLE_WRITE_EMAIL_DOMAIN_BAN))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(NEW_DOMAIN))
.andExpect(status().isForbidden());
}
Expand All @@ -126,7 +127,7 @@ public void cannotUpdateDomainBanWithoutRole() throws Exception {
mockMvc.perform(
patch("/data/domainBlacklist/spam.org")
.with(getOAuthTokenWithTestUser(OAuthScope._ADMINISTRATIVE_ACTION, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(NEW_DOMAIN))
.andExpect(status().isForbidden());
}
Expand Down
13 changes: 7 additions & 6 deletions src/inttest/java/com/faforever/api/data/MapVersionElideTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

import static com.faforever.api.data.JsonApiMediaType.JSON_API_MEDIA_TYPE;
import static org.hamcrest.Matchers.hasSize;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch;
Expand Down Expand Up @@ -71,7 +72,7 @@ public void canUpdateMapVersionWithScopeAndRole() throws Exception {
mockMvc.perform(
patch("/data/mapVersion/1")
.with(getOAuthTokenWithTestUser(OAuthScope._MANAGE_VAULT, GroupPermission.ROLE_ADMIN_MAP))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
// update hidden to false requires the extender permission, thus we test it here for the success case
.content(MAP_VERSION_HIDE_FALSE_ID_1))
.andExpect(status().isNoContent());
Expand All @@ -82,7 +83,7 @@ public void cannotUpdateMapVersionWithoutScope() throws Exception {
mockMvc.perform(
patch("/data/mapVersion/1")
.with(getOAuthTokenWithTestUser(NO_SCOPE, GroupPermission.ROLE_ADMIN_MAP))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
// update hidden to true is less restricted, thus we test it here for the failing case
.content(MAP_VERSION_HIDE_TRUE_ID_1))
.andExpect(status().isForbidden());
Expand All @@ -93,7 +94,7 @@ public void cannotUpdateMapVersionWithoutRole() throws Exception {
mockMvc.perform(
patch("/data/mapVersion/1")
.with(getOAuthTokenWithTestUser(OAuthScope._MANAGE_VAULT, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
// update hidden to true is less restricted, thus we test it here for the failing case
.content(MAP_VERSION_HIDE_TRUE_ID_1))
.andExpect(status().isForbidden());
Expand All @@ -104,7 +105,7 @@ public void cannotUpdateMapVersionWithoutRole() throws Exception {
public void cannotUpdateHideToFalseAsEntityOwner() throws Exception {
mockMvc.perform(
patch("/data/mapVersion/1")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MAP_VERSION_HIDE_FALSE_ID_1))
.andExpect(status().isForbidden());
}
Expand All @@ -114,7 +115,7 @@ public void cannotUpdateHideToFalseAsEntityOwner() throws Exception {
public void canUpdateRankedToFalseAsEntityOwner() throws Exception {
mockMvc.perform(
patch("/data/mapVersion/1")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MAP_VERSION_RANKED_FALSE_ID_1))
.andExpect(status().isNoContent());
}
Expand All @@ -124,7 +125,7 @@ public void canUpdateRankedToFalseAsEntityOwner() throws Exception {
public void cannotUpdateRankedToTrueAsEntityOwner() throws Exception {
mockMvc.perform(
patch("/data/mapVersion/1")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MAP_VERSION_RANKED_TRUE_ID_1))
.andExpect(status().isForbidden());
}
Expand Down
13 changes: 7 additions & 6 deletions src/inttest/java/com/faforever/api/data/ModVersionElideTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import org.springframework.test.context.jdbc.Sql;
import org.springframework.test.context.jdbc.Sql.ExecutionPhase;

import static com.faforever.api.data.JsonApiMediaType.JSON_API_MEDIA_TYPE;
import static org.hamcrest.Matchers.hasSize;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.patch;
Expand Down Expand Up @@ -70,7 +71,7 @@ public void canUpdateModVersionWithScopeAndRole() throws Exception {
mockMvc.perform(
patch("/data/modVersion/1")
.with(getOAuthTokenWithTestUser(OAuthScope._MANAGE_VAULT, GroupPermission.ROLE_ADMIN_MOD))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MOD_VERSION_HIDE_FALSE_ID_1))
.andExpect(status().isNoContent());
}
Expand All @@ -80,7 +81,7 @@ public void cannotModVersionBanWithoutScope() throws Exception {
mockMvc.perform(
patch("/data/modVersion/1")
.with(getOAuthTokenWithTestUser(NO_SCOPE, GroupPermission.ROLE_ADMIN_MOD))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MOD_VERSION_HIDE_FALSE_ID_1))
.andExpect(status().isForbidden());
}
Expand All @@ -90,7 +91,7 @@ public void cannotModVersionBanWithoutRole() throws Exception {
mockMvc.perform(
patch("/data/modVersion/1")
.with(getOAuthTokenWithTestUser(OAuthScope._MANAGE_VAULT, NO_AUTHORITIES))
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MOD_VERSION_HIDE_TRUE_ID_1))
.andExpect(status().isForbidden());
}
Expand All @@ -100,7 +101,7 @@ public void cannotModVersionBanWithoutRole() throws Exception {
public void cannotUpdateHideToFalseAsEntityOwner() throws Exception {
mockMvc.perform(
patch("/data/modVersion/1")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MOD_VERSION_HIDE_FALSE_ID_1))
.andExpect(status().isForbidden());
}
Expand All @@ -110,7 +111,7 @@ public void cannotUpdateHideToFalseAsEntityOwner() throws Exception {
public void cannotUpdateRankedToFalseAsEntityOwner() throws Exception {
mockMvc.perform(
patch("/data/modVersion/1")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MOD_VERSION_RANKED_FALSE_ID_1))
.andExpect(status().isForbidden());
}
Expand All @@ -120,7 +121,7 @@ public void cannotUpdateRankedToFalseAsEntityOwner() throws Exception {
public void cannotUpdateRankedToTrueAsEntityOwner() throws Exception {
mockMvc.perform(
patch("/data/modVersion/1")
.header(HttpHeaders.CONTENT_TYPE, DataController.JSON_API_MEDIA_TYPE)
.header(HttpHeaders.CONTENT_TYPE, JSON_API_MEDIA_TYPE)
.content(MOD_VERSION_RANKED_TRUE_ID_1))
.andExpect(status().isForbidden());
}
Expand Down
Loading

0 comments on commit 363d756

Please sign in to comment.