public void Should_update_document_with_waitForSync() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var document = new Dictionary <string, object>() .String("foo", "some other new string") .Int("bar", 54321) .Int("baz", 12345); var updateResult = db.Document .WaitForSync(true) .Update(documents[0].ID(), document); Assert.AreEqual(201, updateResult.StatusCode); Assert.IsTrue(updateResult.Success); Assert.IsTrue(updateResult.HasValue); Assert.AreEqual(updateResult.Value.ID(), documents[0].ID()); Assert.AreEqual(updateResult.Value.Key(), documents[0].Key()); Assert.AreNotEqual(updateResult.Value.Rev(), documents[0].Rev()); var getResult = db.Document .Get(updateResult.Value.ID()); Assert.AreEqual(getResult.Value.ID(), updateResult.Value.ID()); Assert.AreEqual(getResult.Value.Key(), updateResult.Value.Key()); Assert.AreEqual(getResult.Value.Rev(), updateResult.Value.Rev()); Assert.AreNotEqual(getResult.Value.String("foo"), documents[0].String("foo")); Assert.AreEqual(getResult.Value.String("foo"), document.String("foo")); Assert.AreNotEqual(getResult.Value.Int("bar"), documents[0].Int("bar")); Assert.AreEqual(getResult.Value.Int("bar"), document.Int("bar")); Assert.AreEqual(getResult.Value.Int("baz"), document.Int("baz")); }
public void Should_execute_AQL_query_fluent() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var useCount = true; var useBatchSize = true; var queryOperation = db.Query .Aql(string.Format(@" FOR item IN {0} RETURN item ", Database.TestDocumentCollectionName)); if (useCount) { queryOperation.Count(true); } if (useBatchSize) { queryOperation.BatchSize(1); } var queryResult = queryOperation.ToList <object>(); Assert.AreEqual(200, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.AreEqual(queryResult.Value.Count, 2); Assert.AreEqual(queryResult.Extra.Long("count"), 2); }
public void Should_update_document_with_generic_object() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var dummy = new Dummy(); dummy.Foo = "some other new string"; dummy.Bar = 54321; dummy.Baz = 12345; var updateResult = db.Document .Update(documents[0].String("_id"), dummy); Assert.AreEqual(202, updateResult.StatusCode); Assert.IsTrue(updateResult.Success); Assert.IsTrue(updateResult.HasValue); Assert.AreEqual(updateResult.Value.String("_id"), documents[0].String("_id")); Assert.AreEqual(updateResult.Value.String("_key"), documents[0].String("_key")); Assert.AreNotEqual(updateResult.Value.String("_rev"), documents[0].String("_rev")); var getResult = db.Document .Get(updateResult.Value.String("_id")); Assert.AreEqual(getResult.Value.String("_id"), updateResult.Value.String("_id")); Assert.AreEqual(getResult.Value.String("_key"), updateResult.Value.String("_key")); Assert.AreEqual(getResult.Value.String("_rev"), updateResult.Value.String("_rev")); Assert.AreNotEqual(getResult.Value.String("foo"), documents[0].String("foo")); Assert.AreEqual(getResult.Value.String("foo"), dummy.Foo); Assert.AreNotEqual(getResult.Value.Int("bar"), documents[0].Int("bar")); Assert.AreEqual(getResult.Value.Int("bar"), dummy.Bar); Assert.AreEqual(getResult.Value.Int("baz"), dummy.Baz); }
public void Should_replace_document_with_ifMatch() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var document = new Dictionary <string, object>() .String("foo", "some other new string") .Int("baz", 54321); var replaceResult = db.Document .IfMatch(documents[0].Rev()) .Replace(documents[0].ID(), document); Assert.AreEqual(202, replaceResult.StatusCode); Assert.IsTrue(replaceResult.Success); Assert.IsTrue(replaceResult.HasValue); Assert.AreEqual(replaceResult.Value.ID(), documents[0].ID()); Assert.AreEqual(replaceResult.Value.Key(), documents[0].Key()); Assert.AreNotEqual(replaceResult.Value.Rev(), documents[0].Rev()); var getResult = db.Document .Get(replaceResult.Value.ID()); Assert.AreEqual(getResult.Value.ID(), replaceResult.Value.ID()); Assert.AreEqual(getResult.Value.Key(), replaceResult.Value.Key()); Assert.AreEqual(getResult.Value.Rev(), replaceResult.Value.Rev()); Assert.AreNotEqual(getResult.Value.String("foo"), documents[0].String("foo")); Assert.AreEqual(getResult.Value.String("foo"), document.String("foo")); Assert.AreEqual(getResult.Value.Int("baz"), document.Int("baz")); Assert.IsFalse(getResult.Value.Has("bar")); }
public void Should_execute_AQL_query_with_batchSize() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var doc3 = new Dictionary <string, object>() .String("foo", "foo string 3"); db.Document .Create(Database.TestDocumentCollectionName, doc3); var doc4 = new Dictionary <string, object>() .String("foo", "foo string 4"); db.Document .Create(Database.TestDocumentCollectionName, doc4); var queryResult = db.Query .BatchSize(1) .Aql(string.Format(@" FOR item IN {0} RETURN item ", Database.TestDocumentCollectionName)) .ToList <object>(); Assert.AreEqual(200, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.AreEqual(queryResult.Value.Count, 4); }
public void Should_replace_document_with_generic_object() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var dummy = new Dummy(); dummy.Foo = "some other new string"; dummy.Baz = 54321; var replaceResult = db.Document .Replace(documents[0].ID(), dummy); Assert.AreEqual(202, replaceResult.StatusCode); Assert.IsTrue(replaceResult.Success); Assert.IsTrue(replaceResult.HasValue); Assert.AreEqual(replaceResult.Value.ID(), documents[0].ID()); Assert.AreEqual(replaceResult.Value.Key(), documents[0].Key()); Assert.AreNotEqual(replaceResult.Value.Rev(), documents[0].Rev()); var getResult = db.Document .Get(replaceResult.Value.ID()); Assert.AreEqual(getResult.Value.ID(), replaceResult.Value.ID()); Assert.AreEqual(getResult.Value.Key(), replaceResult.Value.Key()); Assert.AreEqual(getResult.Value.Rev(), replaceResult.Value.Rev()); Assert.AreNotEqual(getResult.Value.String("foo"), documents[0].String("foo")); Assert.AreEqual(getResult.Value.String("foo"), dummy.Foo); Assert.AreEqual(getResult.Value.Int("baz"), dummy.Baz); Assert.AreEqual(0, dummy.Bar); }
public void Should_update_document_with_ifMatch_and_lastUpdatePolicy() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var document = new Dictionary <string, object>() .String("foo", "some other new string") .Int("bar", 54321) .Int("baz", 12345); var updateResult = db.Document .IfMatch("123456789", AUpdatePolicy.Last) .Update(documents[0].String("_id"), document); Assert.AreEqual(202, updateResult.StatusCode); Assert.IsTrue(updateResult.Success); Assert.IsTrue(updateResult.HasValue); Assert.AreEqual(updateResult.Value.String("_id"), documents[0].String("_id")); Assert.AreEqual(updateResult.Value.String("_key"), documents[0].String("_key")); Assert.AreNotEqual(updateResult.Value.String("_rev"), documents[0].String("_rev")); var getResult = db.Document .Get(updateResult.Value.String("_id")); Assert.AreEqual(getResult.Value.String("_id"), updateResult.Value.String("_id")); Assert.AreEqual(getResult.Value.String("_key"), updateResult.Value.String("_key")); Assert.AreEqual(getResult.Value.String("_rev"), updateResult.Value.String("_rev")); Assert.AreNotEqual(getResult.Value.String("foo"), documents[0].String("foo")); Assert.AreEqual(getResult.Value.String("foo"), document.String("foo")); Assert.AreNotEqual(getResult.Value.Int("bar"), documents[0].Int("bar")); Assert.AreEqual(getResult.Value.Int("bar"), document.Int("bar")); Assert.AreEqual(getResult.Value.Int("baz"), document.Int("baz")); }
public void Should_check_document() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var checkResult = db.Document .Check(documents[0].ID()); Assert.AreEqual(200, checkResult.StatusCode); Assert.IsTrue(checkResult.Success); Assert.IsTrue(checkResult.HasValue); Assert.AreEqual(checkResult.Value, documents[0].Rev()); }
public void Should_get_document_with_ifNoneMatch_and_return_304() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var getResult = db.Document .IfNoneMatch(documents[0].Rev()) .Get(documents[0].ID()); Assert.AreEqual(304, getResult.StatusCode); Assert.IsFalse(getResult.Success); Assert.IsFalse(getResult.HasValue); }
public void Should_check_document_with_ifNoneMatch_and_return_304() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var checkResult = db.Document .IfNoneMatch(documents[0].String("_rev")) .Check(documents[0].String("_id")); Assert.AreEqual(304, checkResult.StatusCode); Assert.IsFalse(checkResult.Success); Assert.IsTrue(checkResult.HasValue); Assert.AreEqual(checkResult.Value, documents[0].String("_rev")); }
public void Should_check_document_with_ifMatch_and_return_412() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var checkResult = db.Document .IfMatch("123456789") .Check(documents[0].ID()); Assert.AreEqual(412, checkResult.StatusCode); Assert.IsFalse(checkResult.Success); Assert.IsTrue(checkResult.HasValue); Assert.AreEqual(checkResult.Value, documents[0].Rev()); }
public void Should_get_document_as_generic_object() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var getResult = db.Document .Get <Dummy>(documents[0].ID()); Assert.AreEqual(200, getResult.StatusCode); Assert.IsTrue(getResult.Success); Assert.IsTrue(getResult.HasValue); Assert.AreEqual(documents[0].String("foo"), getResult.Value.Foo); Assert.AreEqual(documents[0].Int("bar"), getResult.Value.Bar); Assert.AreEqual(0, getResult.Value.Baz); }
public void Should_delete_document() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var deleteResult = db.Document .Delete(documents[0].ID()); Assert.AreEqual(202, deleteResult.StatusCode); Assert.IsTrue(deleteResult.Success); Assert.IsTrue(deleteResult.HasValue); Assert.AreEqual(deleteResult.Value.ID(), documents[0].ID()); Assert.AreEqual(deleteResult.Value.Key(), documents[0].Key()); Assert.AreEqual(deleteResult.Value.Rev(), documents[0].Rev()); }
public void Should_delete_document_with_ifMatch_and_return_412() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var deleteResult = db.Document .IfMatch("123456789") .Delete(documents[0].ID()); Assert.AreEqual(412, deleteResult.StatusCode); Assert.IsFalse(deleteResult.Success); Assert.AreEqual(deleteResult.Value.ID(), documents[0].ID()); Assert.AreEqual(deleteResult.Value.Key(), documents[0].Key()); Assert.AreEqual(deleteResult.Value.Rev(), documents[0].Rev()); }
public void Should_delete_document_with_ifMatch_and_lastUpdatePolicy() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var deleteResult = db.Document .IfMatch("123456789", AUpdatePolicy.Last) .Delete(documents[0].String("_id")); Assert.AreEqual(202, deleteResult.StatusCode); Assert.IsTrue(deleteResult.Success); Assert.AreEqual(deleteResult.Value.String("_id"), documents[0].String("_id")); Assert.AreEqual(deleteResult.Value.String("_key"), documents[0].String("_key")); Assert.AreEqual(deleteResult.Value.String("_rev"), documents[0].String("_rev")); }
public void Should_get_document_with_ifMatch_and_return_412() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var getResult = db.Document .IfMatch("123456789") .Get(documents[0].String("_id")); Assert.AreEqual(412, getResult.StatusCode); Assert.IsFalse(getResult.Success); Assert.IsTrue(getResult.HasValue); Assert.AreEqual(getResult.Value.String("_id"), documents[0].String("_id")); Assert.AreEqual(getResult.Value.String("_key"), documents[0].String("_key")); Assert.AreEqual(getResult.Value.String("_rev"), documents[0].String("_rev")); }
public void Should_delete_document_with_waitForSync() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var deleteResult = db.Document .WaitForSync(true) .Delete(documents[0].String("_id")); Assert.AreEqual(200, deleteResult.StatusCode); Assert.IsTrue(deleteResult.Success); Assert.IsTrue(deleteResult.HasValue); Assert.AreEqual(deleteResult.Value.String("_id"), documents[0].String("_id")); Assert.AreEqual(deleteResult.Value.String("_key"), documents[0].String("_key")); Assert.AreEqual(deleteResult.Value.String("_rev"), documents[0].String("_rev")); }
public void Should_get_document() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var getResult = db.Document .Get(documents[0].ID()); Assert.AreEqual(200, getResult.StatusCode); Assert.IsTrue(getResult.Success); Assert.IsTrue(getResult.HasValue); Assert.AreEqual(getResult.Value.ID(), documents[0].ID()); Assert.AreEqual(getResult.Value.Key(), documents[0].Key()); Assert.AreEqual(getResult.Value.Rev(), documents[0].Rev()); Assert.AreEqual(getResult.Value.String("foo"), documents[0].String("foo")); Assert.AreEqual(getResult.Value.String("bar"), documents[0].String("bar")); }
public void Should_execute_AQL_query_with_list_result() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .Aql(string.Format(@" FOR item IN {0} RETURN item ", Database.TestDocumentCollectionName)) .ToList <object>(); Assert.AreEqual(201, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.AreEqual(2, queryResult.Value.Count); }
public void Should_get_all_documents_in_collection() { Database.CreateTestDatabase(Database.TestDatabaseGeneral); Database.CreateTestCollection(Database.TestDocumentCollectionName, ACollectionType.Document); Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var operationResult = db.Collection .GetAllDocuments(Database.TestDocumentCollectionName); Assert.AreEqual(200, operationResult.StatusCode); Assert.IsTrue(operationResult.Success); Assert.IsTrue(operationResult.HasValue); Assert.AreEqual(operationResult.Value.Count, 2); Assert.IsFalse(string.IsNullOrEmpty(operationResult.Value[0])); Assert.IsFalse(string.IsNullOrEmpty(operationResult.Value[1])); }
public void Should_parse_query() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var parseResult = db.Query .Parse(string.Format(@" FOR item IN {0} RETURN item ", Database.TestDocumentCollectionName)); Assert.AreEqual(200, parseResult.StatusCode); Assert.IsTrue(parseResult.Success); Assert.IsTrue(parseResult.HasValue); Assert.IsTrue(parseResult.Value.IsList("bindVars")); Assert.IsTrue(parseResult.Value.IsList("collections")); Assert.IsTrue(parseResult.Value.IsList("ast")); }
public void Should_execute_non_query_result() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .Aql(string.Format(@" UPSERT {{ bar: 1 }} INSERT {{ foo: 'some string value', bar: 1 }} UPDATE {{ foo: 'some string value updated', bar: 2 }} IN {0} ", Database.TestDocumentCollectionName)) .ExecuteNonQuery(); Assert.AreEqual(201, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsFalse(queryResult.HasValue); Assert.IsNull(queryResult.Value); }
public void Should_execute_AQL_query_with_single_primitive_object_result() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .Aql(string.Format(@" FOR item IN {0} SORT item.bar LIMIT 1 RETURN item.bar ", Database.TestDocumentCollectionName)) .ToObject <int>(); Assert.AreEqual(201, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.AreEqual(1, queryResult.Value); }
public void Should_execute_AQL_query_with_bindVar() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .BindVar("barNumber", 1) .Aql(string.Format(@" FOR item IN {0} FILTER item.bar == @barNumber RETURN item ", Database.TestDocumentCollectionName)) .ToList(); Assert.AreEqual(201, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.AreEqual(queryResult.Value.Count, 1); }
public void Should_replace_document_with_ifMatch_and_return_412() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var document = new Dictionary <string, object>() .String("foo", "some other new string") .Int("baz", 54321); var replaceResult = db.Document .IfMatch("123456789") .Replace(documents[0].String("_id"), document); Assert.AreEqual(412, replaceResult.StatusCode); Assert.IsFalse(replaceResult.Success); Assert.IsTrue(replaceResult.HasValue); Assert.AreEqual(replaceResult.Value.String("_id"), documents[0].String("_id")); Assert.AreEqual(replaceResult.Value.String("_key"), documents[0].String("_key")); Assert.AreEqual(replaceResult.Value.String("_rev"), documents[0].String("_rev")); }
public void Should_execute_AQL_query_with_single_strongly_typed_object_result() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .Aql(string.Format(@" FOR item IN {0} SORT item.bar LIMIT 1 RETURN item ", Database.TestDocumentCollectionName)) .ToObject <Dummy>(); Assert.AreEqual(201, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.IsTrue(documents.First(q => q.String("foo") == queryResult.Value.Foo) != null); Assert.IsTrue(documents.First(q => q.Int("bar") == queryResult.Value.Bar) != null); }
public void Should_update_document_with_ifMatch_and_return_412() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var document = new Dictionary <string, object>() .String("foo", "some other new string") .Int("bar", 54321) .Int("baz", 12345); var updateResult = db.Document .IfMatch("123456789") .Update(documents[0].ID(), document); Assert.AreEqual(412, updateResult.StatusCode); Assert.IsFalse(updateResult.Success); Assert.IsTrue(updateResult.HasValue); Assert.AreEqual(updateResult.Value.ID(), documents[0].ID()); Assert.AreEqual(updateResult.Value.Key(), documents[0].Key()); Assert.AreEqual(updateResult.Value.Rev(), documents[0].Rev()); }
public void Should_execute_AQL_query_with_strongly_typed_list_result() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .Aql(string.Format(@" FOR item IN {0} SORT item.bar RETURN item ", Database.TestDocumentCollectionName)) .ToList <Dummy>(); Assert.AreEqual(201, queryResult.StatusCode); Assert.IsTrue(queryResult.Success); Assert.IsTrue(queryResult.HasValue); Assert.AreEqual(2, queryResult.Value.Count); Assert.AreEqual(documents[0].String("foo"), queryResult.Value[0].Foo); Assert.AreEqual(documents[0].Int("bar"), queryResult.Value[0].Bar); Assert.AreEqual(documents[1].String("foo"), queryResult.Value[1].Foo); Assert.AreEqual(documents[1].Int("bar"), queryResult.Value[1].Bar); }
public void Should_return_404_with_deleteCursor_operation() { var documents = Database.ClearCollectionAndFetchTestDocumentData(Database.TestDocumentCollectionName); var db = new ADatabase(Database.Alias); var queryResult = db.Query .BatchSize(1) .Aql(string.Format(@" FOR item IN {0} RETURN item ", Database.TestDocumentCollectionName)) .ToList <object>(); Assert.IsTrue(queryResult.Extra.IsString("id")); var deleteCursorResult = db.Query .DeleteCursor(queryResult.Extra.String("id")); Assert.AreEqual(404, deleteCursorResult.StatusCode); Assert.IsFalse(deleteCursorResult.Success); Assert.IsTrue(deleteCursorResult.HasValue); Assert.IsFalse(deleteCursorResult.Value); }