/// <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); }
/// <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 CollectionApiClientTest(CollectionApiClientTestFixture fixture) { _adb = fixture.ArangoDBClient; _collectionApi = _adb.Collection; _testCollection = fixture.TestCollection; // Truncate TestCollection before each test _collectionApi.TruncateCollectionAsync(fixture.TestCollection) .GetAwaiter() .GetResult(); }
/// <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 PostCollectionAsync_ShouldUseQueryParameter() { 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.PostAsync( It.IsAny <string>(), It.IsAny <byte[]>(), It.IsAny <WebHeaderCollection>())) .Returns((string uri, byte[] content, WebHeaderCollection webHeaderCollection) => { requestUri = uri; return(Task.FromResult(mockResponse.Object)); }); var apiClient = new CollectionApiClient(mockTransport.Object); var response = await apiClient.PostCollectionAsync( new PostCollectionBody { Name = "MyCollection" }, new PostCollectionQuery() { EnforceReplicationFactor = true, WaitForSyncReplication = true }); Assert.NotNull(requestUri); Assert.Contains("enforceReplicationFactor=1", requestUri); Assert.Contains("waitForSyncReplication=1", requestUri); }
public CollectionApiClientTest(CollectionApiClientTestFixture fixture) { _adb = fixture.ArangoDBClient; _collectionApi = _adb.Collection; _testCollection = fixture.TestCollection; }