public void Fetching_An_Unknown_Counter_Results_In_Not_Found()
        {
            var fetch = new FetchCounter.Builder()
                        .WithBucketType(BucketType)
                        .WithBucket(Bucket)
                        .WithKey(Guid.NewGuid().ToString())
                        .Build();

            RiakResult rslt = client.Execute(fetch);

            Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage);
            CounterResponse response = fetch.Response;

            Assert.IsTrue(response.NotFound);
        }
        public void CountersIdAndFetch()
        {
            FetchCounter cmd = new FetchCounter.Builder()
                .WithBucketType("counters")
                .WithBucket("counters")
                .WithKey("<insert_key_here>")
                .Build();

            RiakResult rslt = client.Execute(cmd);
            CheckResult(rslt);

            CounterResponse response = cmd.Response;
            Assert.AreEqual(0, response.Value);

            // NB: for cleanup on test teardown
            options = cmd.Options;
        }
        public void CountersIdAndFetch()
        {
            FetchCounter cmd = new FetchCounter.Builder()
                               .WithBucketType("counters")
                               .WithBucket("counters")
                               .WithKey("<insert_key_here>")
                               .Build();

            RiakResult rslt = client.Execute(cmd);

            CheckResult(rslt);

            CounterResponse response = cmd.Response;

            Assert.AreEqual(0, response.Value);

            // NB: for cleanup on test teardown
            options = cmd.Options;
        }
        public void Should_Construct_CounterResponse_From_DtFetchResp()
        {
            var value = new DtValue();
            value.counter_value = 42;

            var fetchResp = new DtFetchResp();
            fetchResp.value = value;
            fetchResp.type = DtFetchResp.DataType.COUNTER;

            var fetch = new FetchCounter.Builder()
                .WithBucketType(BucketType)
                .WithBucket(Bucket)
                .WithKey(Key)
                .Build();

            fetch.OnSuccess(fetchResp);

            Assert.AreEqual(42, fetch.Response.Value);
        }
        public void Fetching_A_Counter_Produces_Expected_Values()
        {
            string key = Guid.NewGuid().ToString();
            SaveCounter(key);

            var fetch = new FetchCounter.Builder()
                    .WithBucketType(BucketType)
                    .WithBucket(Bucket)
                    .WithKey(key)
                    .Build();

            RiakResult rslt = client.Execute(fetch);
            Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage);

            CounterResponse response = fetch.Response;
            Assert.IsNotNull(response);

            Assert.AreEqual(DefaultIncrement, response.Value);
        }
        public void Should_Construct_CounterResponse_From_DtFetchResp()
        {
            var value = new DtValue();

            value.counter_value = 42;

            var fetchResp = new DtFetchResp();

            fetchResp.value = value;
            fetchResp.type  = DtFetchResp.DataType.COUNTER;

            var fetch = new FetchCounter.Builder()
                        .WithBucketType(BucketType)
                        .WithBucket(Bucket)
                        .WithKey(Key)
                        .Build();

            fetch.OnSuccess(fetchResp);

            Assert.AreEqual(42, fetch.Response.Value);
        }
        public void Fetching_A_Counter_Produces_Expected_Values()
        {
            string key = Guid.NewGuid().ToString();

            SaveCounter(key);

            var fetch = new FetchCounter.Builder()
                        .WithBucketType(BucketType)
                        .WithBucket(Bucket)
                        .WithKey(key)
                        .Build();

            RiakResult rslt = client.Execute(fetch);

            Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage);

            CounterResponse response = fetch.Response;

            Assert.IsNotNull(response);

            Assert.AreEqual(DefaultIncrement, response.Value);
        }
        public void Should_Build_DtFetchReq_Correctly()
        {
            var fetch = new FetchCounter.Builder()
                        .WithBucketType(BucketType)
                        .WithBucket(Bucket)
                        .WithKey(Key)
                        .WithR((Quorum)1)
                        .WithPR((Quorum)2)
                        .WithNotFoundOK(true)
                        .WithBasicQuorum(true)
                        .WithTimeout(TimeSpan.FromMilliseconds(20000))
                        .Build();

            DtFetchReq protobuf = (DtFetchReq)fetch.ConstructPbRequest();

            Assert.AreEqual(BucketType, RiakString.FromBytes(protobuf.type));
            Assert.AreEqual(Bucket, RiakString.FromBytes(protobuf.bucket));
            Assert.AreEqual(Key, RiakString.FromBytes(protobuf.key));
            Assert.AreEqual(1, protobuf.r);
            Assert.AreEqual(2, protobuf.pr);
            Assert.AreEqual(true, protobuf.notfound_ok);
            Assert.AreEqual(true, protobuf.basic_quorum);
            Assert.AreEqual(20000, protobuf.timeout);
        }
        public void Should_Build_DtFetchReq_Correctly()
        {
            var fetch = new FetchCounter.Builder()
                .WithBucketType(BucketType)
                .WithBucket(Bucket)
                .WithKey(Key)
                .WithR((Quorum)1)
                .WithPR((Quorum)2)
                .WithNotFoundOK(true)
                .WithBasicQuorum(true)
                .WithTimeout(TimeSpan.FromMilliseconds(20000))
                .Build();

            DtFetchReq protobuf = (DtFetchReq)fetch.ConstructRequest(false);

            Assert.AreEqual(BucketType, RiakString.FromBytes(protobuf.type));
            Assert.AreEqual(Bucket, RiakString.FromBytes(protobuf.bucket));
            Assert.AreEqual(Key, RiakString.FromBytes(protobuf.key));
            Assert.AreEqual(1, protobuf.r);
            Assert.AreEqual(2, protobuf.pr);
            Assert.AreEqual(true, protobuf.notfound_ok);
            Assert.AreEqual(true, protobuf.basic_quorum);
            Assert.AreEqual(20000, protobuf.timeout);
        }
        public void Fetching_An_Unknown_Counter_Results_In_Not_Found()
        {
            var fetch = new FetchCounter.Builder()
                    .WithBucketType(BucketType)
                    .WithBucket(Bucket)
                    .WithKey(Guid.NewGuid().ToString())
                    .Build();

            RiakResult rslt = client.Execute(fetch);
            Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage);
            CounterResponse response = fetch.Response;
            Assert.IsTrue(response.NotFound);
        }