public static int Main(string[] args) { return(Parser.Default.ParseArguments <EncryptOptions, DecryptOptions>(args) .MapResult( (EncryptOptions options) => { var timestamp = options.Timestamp ?? BrancaToken.GetBrancaTimestamp(DateTimeOffset.UtcNow); var result = new BrancaService().Encrypt(options.Key, options.KeyType, timestamp, options.Payload); if (result.IsSuccess) { Console.WriteLine(result.Value); return 0; } Console.WriteLine(result.Error); return 1; }, (DecryptOptions options) => { var result = new BrancaService().Decrypt(options.Key, options.KeyType, options.Token); if (result.IsSuccess) { Console.WriteLine($"Payload: {result.Value.Payload}"); Console.WriteLine($"Timestamp: {result.Value.BrancaFormatTimestamp} ({result.Value.Timestamp})"); return 0; } Console.WriteLine(result.Error); return 1; }, errors => 1)); }
public void GetDateTime_WhenTimestampIsMaxValue_ExpectCorrectDateTime() { const uint timestamp = uint.MaxValue; var dateTime = BrancaToken.GetDateTime(timestamp); dateTime.Should().Be(new DateTime(2106, 02, 07, 06, 28, 15, DateTimeKind.Utc)); }
public void GetDateTime_WhenTimestampIs27November_ExpectCorrectDateTime() { const uint timestamp = 123206400; var dateTime = BrancaToken.GetDateTime(timestamp); dateTime.Should().Be(new DateTime(1973, 11, 27, 0, 0, 0, DateTimeKind.Utc)); }
public void GetDateTime_WhenTimestampIsZero_ExpectUnixTimeStart() { const uint timestamp = 0; var dateTime = BrancaToken.GetDateTime(timestamp); dateTime.Should().Be(new DateTime(1970, 01, 01, 0, 0, 0, DateTimeKind.Utc)); }
public void ctor_ExpectPropertiesSet() { const string payload = "89f7baaee2ab476483d45b945f79d6af"; const uint timestamp = uint.MinValue; var token = new BrancaToken(payload, timestamp); token.Payload.Should().Be(payload); token.BrancaFormatTimestamp.Should().Be(timestamp); token.Timestamp.Should().Be(new DateTime(1970, 01, 01, 0, 0, 0, DateTimeKind.Utc)); }
public void GetBrancaTimestamp_WhenAfterMaxTimestamp_ExpectInvalidOperationException() { Assert.Throws <InvalidOperationException>(() => BrancaToken.GetBrancaTimestamp(new DateTime(2106, 02, 07, 06, 28, 16, DateTimeKind.Utc))); }
public void GetBrancaTimestamp_WhenMaxTimestamp_ExpectUintMax() { var timestamp = BrancaToken.GetBrancaTimestamp(new DateTime(2106, 02, 07, 06, 28, 15, DateTimeKind.Utc)); timestamp.Should().Be(uint.MaxValue); }
public void GetBrancaTimestamp_When27November_ExpectZero() { var timestamp = BrancaToken.GetBrancaTimestamp(new DateTime(1973, 11, 27, 0, 0, 0, DateTimeKind.Utc)); timestamp.Should().Be(123206400); }
public void GetBrancaTimestamp_WhenUnixTimeStart_ExpectZero() { var timestamp = BrancaToken.GetBrancaTimestamp(new DateTime(1970, 01, 01, 0, 0, 0, DateTimeKind.Utc)); timestamp.Should().Be(uint.MinValue); }
public void GetBrancaTimestamp_WhenDateBeforeUnixTimeStart_ExpectException() { Assert.Throws <InvalidOperationException>(() => BrancaToken.GetBrancaTimestamp(new DateTime(1969, 01, 01))); }