Esempio n. 1
0
        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\"}");
        }
Esempio n. 4
0
        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();
        }