예제 #1
0
        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"));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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"));
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }
예제 #7
0
        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"));
        }
예제 #8
0
        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());
        }
예제 #9
0
        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);
        }
예제 #10
0
        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"));
        }
예제 #11
0
        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());
        }
예제 #12
0
        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);
        }
예제 #13
0
        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());
        }
예제 #14
0
        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());
        }
예제 #15
0
        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"));
        }
예제 #16
0
        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"));
        }
예제 #17
0
        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"));
        }
예제 #18
0
        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"));
        }
예제 #19
0
        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]));
        }
예제 #21
0
        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"));
        }
예제 #22
0
        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);
        }
예제 #23
0
        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);
        }
예제 #24
0
        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);
        }
예제 #25
0
        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"));
        }
예제 #26
0
        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);
        }
예제 #27
0
        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());
        }
예제 #28
0
        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);
        }
예제 #29
0
        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);
        }