/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> from an existing /// <see cref="IApiClientTransport"/> instance. /// </summary> /// <param name="transport">The ArangoDB transport layer implementation.</param> public ArangoDBClient(IApiClientTransport transport) { _transport = transport; Cursor = new CursorApiClient(_transport); Database = new DatabaseApiClient(_transport); Document = new DocumentApiClient(_transport); Collection = new CollectionApiClient(_transport); Transaction = new TransactionApiClient(_transport); Graph = new GraphApiClient(_transport); }
public DocumentApiClientTest(DocumentApiClientTestFixture fixture) { _adb = fixture.ArangoDBClient; _docClient = _adb.Document; // Truncate TestCollection before each test _adb.Collection.TruncateCollectionAsync(fixture.TestCollection) .GetAwaiter() .GetResult(); }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> from an existing /// <see cref="HttpClient"/> instance. /// </summary> /// <param name="client"></param> public ArangoDBClient(HttpClient client) { _transport = new HttpApiTransport(client); Cursor = new CursorApiClient(_transport); Database = new DatabaseApiClient(_transport); Document = new DocumentApiClient(_transport); Collection = new CollectionApiClient(_transport); Transaction = new TransactionApiClient(_transport); Graph = new GraphApiClient(_transport); }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> /// using the provided transport and serialization layers. /// </summary> /// <param name="transport">The ArangoDB transport layer implementation.</param> /// <param name="serialization">The serialization layer implementation.</param> public ArangoDBClient(IApiClientTransport transport, IApiClientSerialization serialization) { _transport = transport; Auth = new AuthApiClient(_transport, serialization); Cursor = new CursorApiClient(_transport, serialization); Database = new DatabaseApiClient(_transport, serialization); Document = new DocumentApiClient(_transport, serialization); Collection = new CollectionApiClient(_transport, serialization); Transaction = new TransactionApiClient(_transport, serialization); Graph = new GraphApiClient(_transport, serialization); }
public async Task PatchDocumentsAsync_ShouldUseQueryParameters_WhenProvided() { var mockTransport = new Mock <IApiClientTransport>(); var mockResponse = new Mock <IApiClientResponse>(); var mockResponseContent = new Mock <IApiClientResponseContent>(); mockResponse.Setup(x => x.Content) .Returns(mockResponseContent.Object); mockResponse.Setup(x => x.IsSuccessStatusCode) .Returns(true); string requestUri = null; mockTransport.Setup(x => x.PatchAsync(It.IsAny <string>(), It.IsAny <byte[]>())) .Returns((string uri, byte[] content) => { requestUri = uri; return(Task.FromResult(mockResponse.Object)); }); var client = new DocumentApiClient(mockTransport.Object); await client.PatchDocumentsAsync <object, object>( "mycollection", new[] { new { Value = 1, Name = "test1" }, new { Value = 2, Name = "test2" }, new { Value = 3, Name = "test3" } }, new PatchDocumentsQuery { IgnoreRevs = true, ReturnOld = true, Silent = true, WaitForSync = true, KeepNull = true, MergeObjects = true, ReturnNew = true }); Assert.NotNull(requestUri); Assert.Contains("ignoreRevs=true", requestUri); Assert.Contains("returnOld=true", requestUri); Assert.Contains("silent=true", requestUri); Assert.Contains("waitForSync=true", requestUri); Assert.Contains("keepNull=true", requestUri); Assert.Contains("mergeObjects=true", requestUri); Assert.Contains("returnNew=true", requestUri); }
/// <summary> /// Create an instance of <see cref="ArangoDBClient"/> from an existing /// <see cref="HttpClient"/> instance, using the default JSON serialization. /// </summary> /// <param name="client"></param> public ArangoDBClient(HttpClient client) { _transport = new HttpApiTransport(client, HttpContentType.Json); AqlFunction = new AqlFunctionApiClient(_transport); Auth = new AuthApiClient(_transport); Cursor = new CursorApiClient(_transport); Database = new DatabaseApiClient(_transport); Document = new DocumentApiClient(_transport); Collection = new CollectionApiClient(_transport); Transaction = new TransactionApiClient(_transport); Graph = new GraphApiClient(_transport); }
private void InitializeApis( IApiClientTransport transport, IApiClientSerialization serialization) { AqlFunction = new AqlFunctionApiClient(transport, serialization); Auth = new AuthApiClient(transport, serialization); Cursor = new CursorApiClient(transport, serialization); Database = new DatabaseApiClient(transport, serialization); Document = new DocumentApiClient(transport, serialization); Collection = new CollectionApiClient(transport, serialization); Transaction = new TransactionApiClient(transport, serialization); Graph = new GraphApiClient(transport, serialization); User = new UserApiClient(transport, serialization); }
public async Task PutDocument_ShouldUseQueryParameters_WhenProvided() { var mockTransport = new Mock <IApiClientTransport>(); var mockResponse = new Mock <IApiClientResponse>(); var mockResponseContent = new Mock <IApiClientResponseContent>(); mockResponse.Setup(x => x.Content) .Returns(mockResponseContent.Object); mockResponse.Setup(x => x.IsSuccessStatusCode) .Returns(true); string requestUri = null; mockTransport.Setup(x => x.PutAsync(It.IsAny <string>(), It.IsAny <byte[]>())) .Returns((string uri, byte[] content) => { requestUri = uri; return(Task.FromResult(mockResponse.Object)); }); var client = new DocumentApiClient(mockTransport.Object); await client.PutDocumentAsync( "mycollection/0123456789", new { }, new PutDocumentQuery { IgnoreRevs = true, ReturnOld = true, ReturnNew = true, Silent = true, WaitForSync = true }); Assert.NotNull(requestUri); Assert.Contains("ignoreRevs=true", requestUri); Assert.Contains("returnOld=true", requestUri); Assert.Contains("returnNew=true", requestUri); Assert.Contains("silent=true", requestUri); Assert.Contains("waitForSync=true", requestUri); }
public DocumentApiClientTest(DocumentApiClientTestFixture fixture) { _adb = fixture.ArangoDBClient; _docClient = _adb.Document; _testCollection = fixture.TestCollection; }