Skip to content

Commit

Permalink
NCBC-229: Add Remove with CAS overload and tests
Browse files Browse the repository at this point in the history
Change-Id: I00b326c97d42fbbe3f806b86e3e5b252d9afd30d
Reviewed-on: http://review.couchbase.org/24713
Tested-by: John C. Zablocki <john@couchbase.com>
Reviewed-by: Saakshi Manocha <saakshi.manocha@globallogic.com>
Tested-by: Saakshi Manocha <saakshi.manocha@globallogic.com>
  • Loading branch information
jzablocki authored and saakshimanocha committed Feb 27, 2013
1 parent d073c6e commit 2f76017
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 1 deletion.
52 changes: 52 additions & 0 deletions src/Couchbase.Tests/CouchbaseClientRemoveTests.cs
Expand Up @@ -63,6 +63,58 @@ public void When_Removing_A_Key_From_A_Down_Node_No_Exception_Is_Thrown_And_Succ
Assert.That(removeResult.Success, Is.False);
Assert.That(removeResult.Message, Is.StringContaining(ClientErrors.FAILURE_NODE_NOT_FOUND));
}

[Test]
public void When_ExecuteRemoving_A_Key_With_A_Valid_Cas_Result_Success_Is_True()
{
var key = GetUniqueKey("remove");
var storeResult = Store(key: key);
StoreAssertPass(storeResult);

var removeResult = _Client.ExecuteRemove(key, storeResult.Cas);
Assert.That(removeResult.Success, Is.True, "Success was false");
Assert.That(removeResult.StatusCode, Is.Null.Or.EqualTo(0), "StatusCode was neither null nor 0");

var getResult = _Client.ExecuteGet(key);
GetAssertFail(getResult);
}

[Test]
public void When_ExecuteRemoving_A_Key_With_An_Invalid_Cas_Result_Success_Is_False()
{
var key = GetUniqueKey("remove");
var storeResult = Store(key: key);
StoreAssertPass(storeResult);

var removeResult = _Client.ExecuteRemove(key, storeResult.Cas-1);
Assert.That(removeResult.Success, Is.False, "Success was false");
Assert.That(removeResult.StatusCode, Is.EqualTo((int)StatusCodeEnums.DataExistsForKey), "StatusCode was not 2");
}

[Test]
public void When_Removing_A_Key_With_A_Valid_Cas_Success_Is_True()
{
var key = GetUniqueKey("remove");
var storeResult = Store(key: key);
StoreAssertPass(storeResult);

var removeResult = _Client.Remove(key, storeResult.Cas);
Assert.That(removeResult, Is.True, "Success was false");

var getResult = _Client.ExecuteGet(key);
GetAssertFail(getResult);
}

[Test]
public void When_Removing_A_Key_With_An_Invalid_Cas_Success_Is_False()
{
var key = GetUniqueKey("remove");
var storeResult = Store(key: key);
StoreAssertPass(storeResult);

var removeResult = _Client.Remove(key, storeResult.Cas - 1);
Assert.That(removeResult, Is.False, "Success was false");
}
}
}

Expand Down

0 comments on commit 2f76017

Please sign in to comment.