// SPDX-FileCopyrightText: 2021 Paul Schaub // // SPDX-License-Identifier: Apache-2.0 package sop.cli.picocli; import static org.junit.jupiter.api.Assertions.assertEquals; import java.util.Date; import org.junit.jupiter.api.Test; import sop.cli.picocli.commands.AbstractSopCmd; import sop.cli.picocli.commands.ArmorCmd; import sop.util.UTCUtil; public class DateParsingTest { private final AbstractSopCmd cmd = new ArmorCmd(); // we use ArmorCmd as a concrete implementation. @Test public void parseNotAfterDashReturnsEndOfTime() { assertEquals(AbstractSopCmd.END_OF_TIME, cmd.parseNotAfter("-")); } @Test public void parseNotBeforeDashReturnsBeginningOfTime() { assertEquals(AbstractSopCmd.BEGINNING_OF_TIME, cmd.parseNotBefore("-")); } @Test public void parseNotAfterNowReturnsNow() { assertEquals(new Date().getTime(), cmd.parseNotAfter("now").getTime(), 1000); } @Test public void parseNotBeforeNowReturnsNow() { assertEquals(new Date().getTime(), cmd.parseNotBefore("now").getTime(), 1000); } @Test public void parseNotAfterTimestamp() { String timestamp = "2019-10-24T23:48:29Z"; Date date = cmd.parseNotAfter(timestamp); assertEquals(timestamp, UTCUtil.formatUTCDate(date)); } @Test public void parseNotBeforeTimestamp() { String timestamp = "2019-10-29T18:36:45Z"; Date date = cmd.parseNotBefore(timestamp); assertEquals(timestamp, UTCUtil.formatUTCDate(date)); } }