private IEnumerable <AutotypeToken> GetProcessedTokens(Record record, IEnumerable <AutotypeToken> tokens, AutotypeToken suffixToken = null) { var tokenList = new List <AutotypeToken>(AutotypeToken.GetAutotypeTokens(tokens, this.Entry)); if (suffixToken != null) { tokenList.Add(suffixToken); } var processedTokens = new List <AutotypeToken>(); foreach (var token in tokenList) { if ((token.Kind == AutotypeTokenKind.Command) && token.Content.Equals("TwoFactorCode", StringComparison.Ordinal)) { var bytes = (record != null) ? record.GetBytes() : this.Entry.TwoFactorKey; var key = OneTimePassword.ToBase32(bytes, bytes.Length, SecretFormatFlags.Spacing | SecretFormatFlags.Padding); processedTokens.AddRange(AutotypeToken.GetAutotypeTokensFromText(Helpers.GetTwoFactorCode(key))); } else { processedTokens.Add(token); } } return(processedTokens.AsReadOnly()); }
private void SendRecord(Stream stream, Record record) { if (record.Type == 22) { Console.WriteLine("adding bytes to hash " + record.Fragment.Length); _handshakeStream.Write(record.Fragment, 0, record.Fragment.Length); } byte[] data = record.GetBytes(); stream.Write(data, 0, data.Length); }
public void GetBytes_ReturnsExpectedValue() { var dataRecord = Substitute.For <IDataRecord>(); var sut = new Record(dataRecord); var bytes = new byte[] { }; dataRecord.GetBytes(Index, 2, bytes, 3, 4).Returns(5); var actual = sut.GetBytes(Index, 2, bytes, 3, 4); Assert.AreEqual(5, actual); }
public void GetBytes_Indexed_ReturnsExpectedValue() { var dataRecord = Substitute.For <IDataRecord>(); var sut = new Record(dataRecord); var bytes = new byte[] { 211, 34, 97 }; dataRecord.GetBytes(Index, 0, null, 0, 0).Returns(bytes.Length); dataRecord.GetBytes(Index, 0, Arg.Any <byte[]>(), 0, bytes.Length).Returns(bytes.Length); dataRecord.When(s => s.GetBytes(Index, 0, Arg.Any <byte[]>(), 0, bytes.Length)).Do(info => { var b = info.Arg <byte[]>(); b[0] = bytes[0]; b[1] = bytes[1]; b[2] = bytes[2]; }); var actual = sut.GetBytes(Index); Assert.IsTrue(bytes.SequenceEqual(actual)); }
public void Get_Indexed_DBNull_ReturnsNull() { var dataRecord = Substitute.For <IDataRecord>(); dataRecord.IsDBNull(Index).Returns(true); var sut = new Record(dataRecord); dataRecord[Index].Returns(DBNull.Value); Assert.IsNull(sut[Index]); Assert.IsNull(sut.GetBytes(Index)); Assert.IsNull(sut.GetString(Index)); Assert.IsNull(sut.GetValue(Index)); }
public void Get_Named_DBNull_ReturnsNull() { var dataRecord = Substitute.For <IDataRecord>(); dataRecord.GetOrdinal(Name).Returns(Index); dataRecord.IsDBNull(Index).Returns(true); var sut = new Record(dataRecord); dataRecord.GetValue(Index).Returns(DBNull.Value); dataRecord[Name].Returns(DBNull.Value); Assert.IsNull(sut[Name]); Assert.IsNull(sut.GetString(Name)); Assert.IsNull(sut.GetBytes(Name)); Assert.IsNull(sut.GetValue(Name)); }