public void KeysReturnsSelectiveListOfKeys() { var bucket = Bucket + "_" + Guid.NewGuid().ToString(); var originalKeys = new List <string>(); for (var i = 0; i < 10; i++) { var o = new RiakObject(bucket, i.ToString(), "{ value: \"this is an object\" }"); originalKeys.Add(o.Key); Client.Put(o); } var mr = new RiakMapReduceQuery() .Inputs(RiakIndex.Keys(bucket, "2", "6")) .ReduceErlang(r => r.ModFun("riak_kv_mapreduce", "reduce_identity") .Argument("do_prereduce") .Keep(true)); var result = Client.MapReduce(mr); var keys = result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).ToList(); result.IsSuccess.ShouldBeTrue(result.ErrorMessage); keys.Count.ShouldEqual(5); foreach (var key in keys) { key.Bucket.ShouldNotBeNullOrEmpty(); key.Key.ShouldNotBeNullOrEmpty(); originalKeys.Contains(key.Key).ShouldBeTrue(); } }
public void AllKeysReturnsListOfKeys() { var insertedKeys = GenerateIntKeyObjects("AllKeys"); var mr = new RiakMapReduceQuery().Inputs(RiakIndex.AllKeys(Bucket)); var result = Client.RunMapReduceQuery(mr).WaitUntil(MapReduceTestHelpers.OnePhaseWithTenResultsFound); var queriedKeys = result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).ToList(); result.IsSuccess.ShouldBeTrue(result.ErrorMessage); var foundKeys = string.Join("\",\r\n\t\"", queriedKeys); if (foundKeys.Length > 0) { foundKeys = "Found keys: \"" + foundKeys + "\""; } CollectionAssert.IsNotEmpty(queriedKeys); Assert.AreEqual(DefaultKeyCount, queriedKeys.Count()); foreach (var key in queriedKeys) { key.Bucket.ShouldNotBeNullOrEmpty(); key.Key.ShouldNotBeNullOrEmpty(); insertedKeys.Contains(key.Key).ShouldBeTrue(); } }
public void AllKeysReturnsListOfKeys() { var bucket = Bucket + "_" + Guid.NewGuid().ToString(); var originalKeys = new List <string>(); for (var i = 0; i < 10; i++) { var o = new RiakObject(bucket, Guid.NewGuid().ToString(), "{ value: \"this is an object\" }"); originalKeys.Add(o.Key); Client.Put(o); } var mr = new RiakMapReduceQuery() .Inputs(RiakIndex.AllKeys(bucket)); var result = Client.MapReduce(mr); var keys = result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).ToList(); result.IsSuccess.ShouldBeTrue(result.ErrorMessage); keys.Count.ShouldEqual(10); foreach (var key in keys) { key.Bucket.ShouldNotBeNullOrEmpty(); key.Key.ShouldNotBeNullOrEmpty(); originalKeys.Contains(key.Key).ShouldBeTrue(); } }
public void QueryingByIntIndexReturnsAListOfKeys() { for (var i = 0; i < 10; i++) { var o = new RiakObject(Bucket, Guid.NewGuid().ToString(), "{\"value\":\"this is an object\"}"); o.IntIndex("age").Set(32, 20); Client.Put(o); } var mr = new RiakMapReduceQuery() .Inputs(RiakIndex.Match(Bucket, "age", 32)); var result = Client.MapReduce(mr); result.IsSuccess.ShouldBeTrue(result.ErrorMessage); var keys = result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).ToList(); keys.Count().ShouldEqual(10); foreach (var key in keys) { key.Bucket.ShouldNotBeNullOrEmpty(); key.Key.ShouldNotBeNullOrEmpty(); } }
public void KeysReturnsSelectiveListOfKeys() { const int keyStart = 10; const int keyCount = 10; const int idxStart = 12; const int idxEnd = 16; const string keyPrefix = "KeysReturnsSelectiveListOfKeys"; var originalKeys = new List <string>(); for (var i = keyStart; i < keyStart + keyCount; i++) { var o = CreateIntKeyedRiakObject(keyPrefix, true, i); originalKeys.Add(o.Key); Client.Put(o); } var mr = new RiakMapReduceQuery() .Inputs(RiakIndex.Keys(LegacyBucket, keyPrefix + "_" + idxStart, keyPrefix + "_" + idxEnd)); var result = Client.RunMapReduceQuery(mr).WaitUntil(MapReduceTestHelpers.OnePhaseWithFiveResultsFound); var keys = result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).ToList(); result.IsSuccess.ShouldBeTrue(result.ErrorMessage); keys.Count.ShouldEqual(5); foreach (var key in keys) { key.Bucket.ShouldNotBeNullOrEmpty(); key.Key.ShouldNotBeNullOrEmpty(); originalKeys.Contains(key.Key).ShouldBeTrue(); } }
public void QueryingDollarKeyDoesNotAppendBinIndexSuffix() { var query = new RiakMapReduceQuery() .Inputs(RiakIndex.Range(new RiakIndexId("animals", "$key"), "0", "zzzzz")); var request = query.ToMessage(); var requestString = request.request.FromRiakString(); requestString.Contains("$key").ShouldBeTrue(); requestString.Contains("$key_bin").ShouldBeFalse(); }
public void TestBinMatchOldInterfaceWorks() { var indexInput = RiakIndex.Match(Bucket, Index, BinKey); indexInput.IndexId.IndexName.EndsWith(RiakConstants.IndexSuffix.Binary).ShouldBeTrue(); var json = Serialize(indexInput.WriteJson); json.Contains(Bucket).ShouldBeTrue(); json.Contains(BinKey).ShouldBeTrue(); }
public void TestIntMatchOldInterfaceWorks() { var indexInput = RiakIndex.Match(Bucket, Index, IntKey); indexInput.IndexId.IndexName.EndsWith(RiakConstants.IndexSuffix.Integer).ShouldBeTrue(); var json = Serialize(indexInput.WriteJson); json.Contains(Bucket).ShouldBeTrue(); json.Contains(IntKey.ToString()).ShouldBeTrue(); }
public void TestAllKeysWorks() { var indexInput = RiakIndex.AllKeys(BucketType, Bucket); var json = Serialize(indexInput.WriteJson); Assert.AreEqual("\"inputs\":{\"bucket\":[\"my_bucket_type\",\"my_bucket\"],\"index\":\"$bucket\",\"key\":\"my_bucket\"}", json); indexInput = RiakIndex.AllKeys(Bucket); json = Serialize(indexInput.WriteJson); Assert.AreEqual("\"inputs\":{\"bucket\":\"my_bucket\",\"index\":\"$bucket\",\"key\":\"my_bucket\"}", json); }
public void TestKeysWorks() { var indexInput = RiakIndex.Keys(BucketType, Bucket, BinKey, BinEndKey); var json = Serialize(indexInput.WriteJson); Assert.AreEqual("\"inputs\":{\"bucket\":[\"my_bucket_type\",\"my_bucket\"],\"index\":\"$key\",\"start\":\"dave\",\"end\":\"ed\"}", json); indexInput = RiakIndex.Keys(Bucket, BinKey, BinEndKey); json = Serialize(indexInput.WriteJson); Assert.AreEqual("\"inputs\":{\"bucket\":\"my_bucket\",\"index\":\"$key\",\"start\":\"dave\",\"end\":\"ed\"}", json); }
public void TestBinRangeWorks() { var indexInput = RiakIndex.Range(IndexId, BinKey, BinEndKey); indexInput.IndexId.IndexName.EndsWith(RiakConstants.IndexSuffix.Binary).ShouldBeTrue(); var json = Serialize(indexInput.WriteJson); json.Contains(Bucket).ShouldBeTrue(); json.Contains(BucketType).ShouldBeTrue(); json.Contains(BinEndKey).ShouldBeTrue(); json.Contains(BinEndKey).ShouldBeTrue(); }
public void TestIntRangeWorks() { var indexInput = RiakIndex.Range(IndexId, IntKey, IntEndKey); indexInput.IndexId.IndexName.EndsWith(RiakConstants.IndexSuffix.Integer).ShouldBeTrue(); var json = Serialize(indexInput.WriteJson); json.Contains(Bucket).ShouldBeTrue(); json.Contains(BucketType).ShouldBeTrue(); json.Contains(IntKey.ToString()).ShouldBeTrue(); json.Contains(IntEndKey.ToString()).ShouldBeTrue(); }
public void IntRangeQueriesReturnMultipleKeys() { for (var i = 0; i < 10; i++) { var o = new RiakObject(Bucket, Guid.NewGuid().ToString(), "{ value: \"this is an object\" }"); o.IntIndex("age").Set(25 + i); Client.Put(o); } var mr = new RiakMapReduceQuery() .Inputs(RiakIndex.Range(Bucket, "age", 27, 30)); var result = Client.MapReduce(mr); result.IsSuccess.ShouldBeTrue(result.ErrorMessage); result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).Count().ShouldEqual(4); // TODO write tests verifying results }
public void QueryingByIntIndexReturnsAListOfKeys() { GenerateGuidKeyObjects("QueryByIntIndex", (o, i) => o.IntIndex("age").Set(32, 20)); var mr = new RiakMapReduceQuery() .Inputs(RiakIndex.Match(new RiakIndexId(LegacyBucket, "age"), 32)); var result = Client.MapReduce(mr); Assert.IsTrue(result.IsSuccess, result.ErrorMessage); var keys = result.Value.PhaseResults.SelectMany(x => x.GetObjectIds()).ToList(); Assert.GreaterOrEqual(keys.Count(), DefaultKeyCount); foreach (var key in keys) { Assert.IsNotNullOrEmpty(key.Bucket); Assert.IsNotNullOrEmpty(key.Key); } }