public void QueryingByIntIndexReturnsAListOfKeys() { for (int i = 0; i < 10; i++) { var o = new RiakObject(Bucket, i.ToString(), "{ value: \"this is an object\" }"); o.AddIntIndex("age_int", 32); Client.Put(o); } var input = new RiakIntIndexEqualityInput(Bucket, "age_int", 32); var mr = new RiakMapReduceQuery(); mr.Inputs(input) .ReduceJs(r => r.Name("mapValuesJson").Keep(true)); var result = Client.MapReduce(mr); result.IsSuccess.ShouldBeTrue(); var keys = result.Value.PhaseResults.OrderBy(pr => pr.Phase).ElementAt(0).GetObjects <RiakObjectId>(); keys.Count().ShouldEqual(10); foreach (var key in keys) { key.Bucket.ShouldNotBeNullOrEmpty(); key.Key.ShouldNotBeNullOrEmpty(); } }
public void TestIntIndexEqualitySerializationWithType() { var input = new RiakIntIndexEqualityInput(new RiakIndexId("type", "bucket", "index"), 42); var s = Serialize(input.WriteJson); Assert.AreEqual(s, "\"inputs\":{\"bucket\":[\"type\",\"bucket\"],\"index\":\"index_int\",\"key\":\"42\"}"); }
public void TestIntIndexEqualitySerializationOldInterface() { #pragma warning disable 612, 618 var input = new RiakIntIndexEqualityInput("bucket", "index", 42); #pragma warning restore 612, 618 var s = Serialize(input.WriteJson); Assert.AreEqual(s, "\"inputs\":{\"bucket\":\"bucket\",\"index\":\"index_int\",\"key\":\"42\"}"); }
public void RiakObjectIdCanBeCreatedFromJsonArrayOrObject() { for (int i = 0; i < 10; i++) { var o = new RiakObject(Bucket, i.ToString(), "{ value: \"this is an object\" }"); o.AddIntIndex("age_int", 32); Client.Put(o); } var input = new RiakIntIndexEqualityInput(Bucket, "age_int", 32); var mr = new RiakMapReduceQuery() .Inputs(input) .ReduceJs(r => r.Name("mapValuesJson").Keep(true)); var result = Client.MapReduce(mr); result.IsSuccess.ShouldBeTrue(); var keysOne = result.Value.PhaseResults.OrderBy(pr => pr.Phase).ElementAt(0).GetObjects <RiakObjectId>(); mr = new RiakMapReduceQuery() .Inputs(input) .ReduceErlang(r => r.ModFun("riak_kv_mapreduce", "reduce_identity").Keep(true)); result = Client.MapReduce(mr); result.IsSuccess.ShouldBeTrue(); var keysTwo = result.Value.PhaseResults.OrderBy(pr => pr.Phase).ElementAt(0).GetObjects <RiakObjectId>(); keysOne.Count().ShouldEqual(keysTwo.Count()); foreach (var key in keysOne) { key.Key.ShouldNotBeNullOrEmpty(); key.Bucket.ShouldNotBeNullOrEmpty(); keysTwo.Contains(key).ShouldBeTrue(); } foreach (var key in keysTwo) { key.Key.ShouldNotBeNullOrEmpty(); key.Bucket.ShouldNotBeNullOrEmpty(); keysOne.Contains(key).ShouldBeTrue(); } }
public void TestIndexSuffixIsSetCorrectly() { var input = new RiakIntIndexEqualityInput(new RiakIndexId("bucket", "index"), 42); input.IndexId.IndexName.EndsWith(RiakConstants.IndexSuffix.Integer).ShouldBeTrue(); }