diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/lfs/ExpiringAction.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/lfs/ExpiringAction.java index b68640f24b..28a6ee1016 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/lfs/ExpiringAction.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/lfs/ExpiringAction.java @@ -5,14 +5,20 @@ import sonia.scm.security.AccessToken; import java.text.SimpleDateFormat; import java.util.Collections; +import java.util.TimeZone; -@SuppressWarnings({"squid:S00116"}) -// This class is used for json serialization, only class ExpiringAction extends Response.Action { + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + static { + DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT")); + } + + @SuppressWarnings({"squid:S00116"}) + // This class is used for json serialization, only public final String expires_at; ExpiringAction(String href, AccessToken accessToken) { - this.expires_at = new SimpleDateFormat("yyyy-MM-dd'T'HH:MM:ss'Z'").format(accessToken.getExpiration()); + this.expires_at = DATE_FORMAT.format(accessToken.getExpiration()); this.href = href; this.header = Collections.singletonMap("Authorization", "Bearer " + accessToken.compact()); } diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/lfs/LFSAuthCommandTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/lfs/LFSAuthCommandTest.java index 0627bab822..1c3d55bc91 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/lfs/LFSAuthCommandTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/lfs/LFSAuthCommandTest.java @@ -79,7 +79,7 @@ class LFSAuthCommandTest { CommandContext commandContext = createCommandContext(); commandInterpreter.getProtocolHandler().handle(commandContext, createRepositoryContext()); assertThat(commandContext.getOutputStream().toString()) - .isEqualTo("{\"href\":\"http://example.com/repo/space/X.git/info/lfs/\",\"header\":{\"Authorization\":\"Bearer ACCESS_TOKEN\"},\"expires_at\":\"2007-05-03T12:05:30Z\"}"); + .isEqualTo("{\"href\":\"http://example.com/repo/space/X.git/info/lfs/\",\"header\":{\"Authorization\":\"Bearer ACCESS_TOKEN\"},\"expires_at\":\"2007-05-03T10:15:30Z\"}"); } private CommandContext createCommandContext() {