public void Should_Construct_CounterResponse_From_DtUpdateResp() { var key = new RiakString("riak_generated_key"); var context = new RiakString("1234"); var updateResp = new DtUpdateResp(); updateResp.key = key; updateResp.context = context; updateResp.counter_value = DefaultIncrement; var update = new UpdateCounter.Builder(DefaultIncrement) .WithBucketType(BucketType) .WithBucket(Bucket) .Build(); update.OnSuccess(updateResp); CounterResponse response = update.Response; Assert.NotNull(response); Assert.AreEqual(key, response.Key); Assert.AreEqual(RiakString.ToBytes(context), response.Context); Assert.AreEqual(DefaultIncrement, response.Value); }
public void SearchForCountersWithValueGreaterThan25() { var cmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("people") .WithKey("christ_hitchens") .WithIncrement(10) .Build(); RiakResult rslt = client.Execute(cmd); CheckResult(rslt); cmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("people") .WithKey("joan_rivers") .WithIncrement(25) .Build(); rslt = client.Execute(cmd); CheckResult(rslt); WaitForSearch(); DoSearch("scores", "counter:[20 TO *]"); }
public void Can_Update_A_Counter() { string key = Guid.NewGuid().ToString(); SaveCounter(key); var update = new UpdateCounter.Builder(DefaultIncrement) .WithBucketType(BucketType) .WithBucket(Bucket) .WithKey(key) .WithReturnBody(true) .WithTimeout(TimeSpan.FromMilliseconds(20000)) .Build(); RiakResult rslt = client.Execute(update); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); CounterResponse response = update.Response; Assert.AreEqual(20, response.Value); }
public void TrafficTicketsCounterFetchAndUpdate() { var fetchCounterOptions = new FetchCounterOptions("counters", "counters", "traffic_tickts"); FetchCounter cmd = new FetchCounter(fetchCounterOptions); // NB: for cleanup on test teardown options = cmd.Options; RiakResult rslt = client.Execute(cmd); CheckResult(rslt); CounterResponse response = cmd.Response; Assert.AreEqual(0, response.Value); UpdateCounter updateCmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("counters") .WithKey("traffic_tickets") .WithIncrement(1) .Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(1, response.Value); updateCmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("counters") .WithKey("traffic_tickets") .WithIncrement(-1) .Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(0, response.Value); }
public void WhoopsIGotFiveTrafficTickets() { var fetchCounterOptions = new FetchCounterOptions("counters", "counters", "traffic_tickts"); FetchCounter cmd = new FetchCounter(fetchCounterOptions); // NB: for cleanup options = fetchCounterOptions; RiakResult rslt = client.Execute(cmd); CheckResult(rslt); CounterResponse response = cmd.Response; Assert.AreEqual(0, response.Value); var builder = new UpdateCounter.Builder(); builder.WithBucketType("counters") .WithBucket("counters") .WithKey("traffic_tickets") .WithIncrement(5); UpdateCounter updateCmd = builder.Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(5, response.Value); // Modify the builder's increment, then construct a new command builder.WithIncrement(-5); updateCmd = builder.Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(0, response.Value); }
public void TrafficTicketsCounterFetchAndUpdate() { var fetchCounterOptions = new FetchCounterOptions("counters", "counters", "traffic_tickts"); FetchCounter cmd = new FetchCounter(fetchCounterOptions); // NB: for cleanup on test teardown options = cmd.Options; RiakResult rslt = client.Execute(cmd); CheckResult(rslt); CounterResponse response = cmd.Response; Assert.AreEqual(0, response.Value); UpdateCounter updateCmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("counters") .WithKey("traffic_tickets") .WithIncrement(1) .Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(1, response.Value); updateCmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("counters") .WithKey("traffic_tickets") .WithIncrement(-1) .Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(0, response.Value); }
public void Can_Update_A_Counter() { string key = Guid.NewGuid().ToString(); SaveCounter(key); var update = new UpdateCounter.Builder(DefaultIncrement) .WithBucketType(BucketType) .WithBucket(Bucket) .WithKey(key) .WithReturnBody(true) .WithTimeout(TimeSpan.FromMilliseconds(20000)) .Build(); RiakResult rslt = client.Execute(update); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); CounterResponse response = update.Response; Assert.AreEqual(20, response.Value); }
private CounterResponse SaveCounter(string key = null) { var updateBuilder = new UpdateCounter.Builder(DefaultIncrement) .WithBucketType(BucketType) .WithBucket(Bucket) .WithTimeout(TimeSpan.FromMilliseconds(20000)); if (!string.IsNullOrEmpty(key)) { updateBuilder.WithKey(key); } UpdateCounter cmd = updateBuilder.Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); CounterResponse response = cmd.Response; Keys.Add(response.Key); return(response); }
public void Should_Build_DtUpdateReq_Correctly() { var updateCounterCommandBuilder = new UpdateCounter.Builder(DefaultIncrement); var q1 = new Quorum(1); var q2 = new Quorum(2); var q3 = new Quorum(3); updateCounterCommandBuilder .WithBucketType(BucketType) .WithBucket(Bucket) .WithKey(Key) .WithW(q3) .WithPW(q1) .WithDW(q2) .WithReturnBody(true) .WithIncludeContext(false) .WithTimeout(TimeSpan.FromSeconds(20)); UpdateCounter updateCounterCommand = updateCounterCommandBuilder.Build(); DtUpdateReq protobuf = (DtUpdateReq)updateCounterCommand.ConstructPbRequest(); Assert.AreEqual(Encoding.UTF8.GetBytes(BucketType), protobuf.type); Assert.AreEqual(Encoding.UTF8.GetBytes(Bucket), protobuf.bucket); Assert.AreEqual(Encoding.UTF8.GetBytes(Key), protobuf.key); Assert.AreEqual(q3, protobuf.w); Assert.AreEqual(q1, protobuf.pw); Assert.AreEqual(q2, protobuf.dw); Assert.IsTrue(protobuf.return_body); Assert.IsFalse(protobuf.include_context); Assert.AreEqual(20000, protobuf.timeout); CounterOp counterOpMsg = protobuf.op.counter_op; Assert.AreEqual(DefaultIncrement, counterOpMsg.increment); }
public void Should_Build_DtUpdateReq_Correctly() { var updateCounterCommandBuilder = new UpdateCounter.Builder(DefaultIncrement); var q1 = new Quorum(1); var q2 = new Quorum(2); var q3 = new Quorum(3); updateCounterCommandBuilder .WithBucketType(BucketType) .WithBucket(Bucket) .WithKey(Key) .WithW(q3) .WithPW(q1) .WithDW(q2) .WithReturnBody(true) .WithIncludeContext(false) .WithTimeout(TimeSpan.FromSeconds(20)); UpdateCounter updateCounterCommand = updateCounterCommandBuilder.Build(); DtUpdateReq protobuf = (DtUpdateReq)updateCounterCommand.ConstructPbRequest(); Assert.AreEqual(Encoding.UTF8.GetBytes(BucketType), protobuf.type); Assert.AreEqual(Encoding.UTF8.GetBytes(Bucket), protobuf.bucket); Assert.AreEqual(Encoding.UTF8.GetBytes(Key), protobuf.key); Assert.AreEqual(q3, protobuf.w); Assert.AreEqual(q1, protobuf.pw); Assert.AreEqual(q2, protobuf.dw); Assert.IsTrue(protobuf.return_body); Assert.IsFalse(protobuf.include_context); Assert.AreEqual(20000, protobuf.timeout); CounterOp counterOpMsg = protobuf.op.counter_op; Assert.AreEqual(DefaultIncrement, counterOpMsg.increment); }
public void SearchForCountersWithValueGreaterThan25() { var cmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("people") .WithKey("christ_hitchens") .WithIncrement(10) .Build(); RiakResult rslt = client.Execute(cmd); CheckResult(rslt); cmd = new UpdateCounter.Builder() .WithBucketType("counters") .WithBucket("people") .WithKey("joan_rivers") .WithIncrement(25) .Build(); rslt = client.Execute(cmd); CheckResult(rslt); WaitForSearch(); DoSearch("scores", "counter:[20 TO *]"); }
public void Should_Construct_CounterResponse_From_DtUpdateResp() { var key = new RiakString("riak_generated_key"); var context = new RiakString("1234"); var updateResp = new DtUpdateResp(); updateResp.key = key; updateResp.context = context; updateResp.counter_value = DefaultIncrement; var update = new UpdateCounter.Builder(DefaultIncrement) .WithBucketType(BucketType) .WithBucket(Bucket) .Build(); update.OnSuccess(updateResp); CounterResponse response = update.Response; Assert.NotNull(response); Assert.AreEqual(key, response.Key); Assert.AreEqual(RiakString.ToBytes(context), response.Context); Assert.AreEqual(DefaultIncrement, response.Value); }
private CounterResponse SaveCounter(string key = null) { var updateBuilder = new UpdateCounter.Builder(DefaultIncrement) .WithBucketType(BucketType) .WithBucket(Bucket) .WithTimeout(TimeSpan.FromMilliseconds(20000)); if (!string.IsNullOrEmpty(key)) { updateBuilder.WithKey(key); } UpdateCounter cmd = updateBuilder.Build(); RiakResult rslt = client.Execute(cmd); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); CounterResponse response = cmd.Response; Keys.Add(response.Key); return response; }
public void WhoopsIGotFiveTrafficTickets() { var fetchCounterOptions = new FetchCounterOptions("counters", "counters", "traffic_tickts"); FetchCounter cmd = new FetchCounter(fetchCounterOptions); // NB: for cleanup options = fetchCounterOptions; RiakResult rslt = client.Execute(cmd); CheckResult(rslt); CounterResponse response = cmd.Response; Assert.AreEqual(0, response.Value); var builder = new UpdateCounter.Builder(); builder.WithBucketType("counters") .WithBucket("counters") .WithKey("traffic_tickets") .WithIncrement(5); UpdateCounter updateCmd = builder.Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(5, response.Value); // Modify the builder's increment, then construct a new command builder.WithIncrement(-5); updateCmd = builder.Build(); rslt = client.Execute(updateCmd); CheckResult(rslt); response = updateCmd.Response; Assert.AreEqual(0, response.Value); }