public void TestRavenSeek()
{
var ks = new CeloClavis.RavenDBServer(serverURL, "Keys");
var ds = new Raven.Client.Document.DocumentStore() { Url = serverURL, DefaultDatabase = "Test" };
ds.Initialize();
var session = ds.OpenSession();
var n = new EncTest();
string toSeek = ((ISeekableType)n).HashValue("222-22-2222");
var result = (from a in session.Query<EncTest>()
//where ((ISeekableType) a).HashedValues.Any(s => s.Key == "SSN" && s.Value == toSeek)
where ((ISeekableType)a).HashedValues.Any(s => s.Key == ((Expression<Func<object>>) (() => n.SSN)).PropertyName() && s.Value == toSeek)
select a).ToList();
foreach(var s in result)
{
((IEncryptedType)s).KeyServer = ks;
((IEncryptedType)s).Integrity(() => s.SSN, s.IntegrityValue);
Assert.AreEqual("222-22-2222", ((IEncryptedType)s).AsClear(() => s.SSN).ToString());
}
}