public async Task GetAsyncEnumerator_CalledTwice_StreamAlreadyReadException(string filename) { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(filename); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer()); await streamingResult.InitializeAsync(); // Act/Assert await streamingResult.ToListAsync(); await Assert.ThrowsAsync <StreamAlreadyReadException>(() => streamingResult.ToListAsync().AsTask()); }
public async Task GetAsyncEnumerator_CalledTwice_StreamAlreadyReadException() { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-200-success.json"); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer(), ErrorContextFactory); await streamingResult.InitializeAsync(); // Act/Assert await streamingResult.ToListAsync(); await Assert.ThrowsAsync <StreamAlreadyReadException>(() => streamingResult.ToListAsync().AsTask()); }
public async Task GetAsyncEnumerator_HasNotInitialized_InvalidOperationException() { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-200-success.json"); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer()); // Act/Assert await Assert.ThrowsAsync <InvalidOperationException>(() => streamingResult.ToListAsync().AsTask()); }
public async Task GetAsyncEnumerator_ErrorAfterResults_13014_Throws_AuthenticationException(string filename) { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(filename); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer(), ErrorContextFactory); streamingResult.Success = true; // In this scenario we're getting a 200, so Success will be set to true await streamingResult.InitializeAsync(); // Act/Assert await Assert.ThrowsAsync <AuthenticationFailureException>(() => streamingResult.ToListAsync().AsTask()); }
public async Task GetAsyncEnumerator_NoResults_Empty() { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-n1ql-error-response-400.json"); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer()); await streamingResult.InitializeAsync(); // Act var result = await streamingResult.ToListAsync(); // Assert Assert.Empty(result); }
public async Task GetAsyncEnumerator_NoResults_Empty() { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-200-success-empty.json"); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer(), ErrorContextFactory); await streamingResult.InitializeAsync(); // Act var result = await streamingResult.ToListAsync(); // Assert Assert.Empty(result); }
public async Task GetAsyncEnumerator_HasInitialized_GetsResults() { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-200-success.json"); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer()); await streamingResult.InitializeAsync(); // Act var result = await streamingResult.ToListAsync(); // Assert Assert.True(streamingResult.Success); Assert.Equal(QueryStatus.Success, streamingResult.MetaData.Status); Assert.NotEmpty(result); }
public async Task GetAsyncEnumerator_AfterEnumeration_PreResultFieldsStillPresent() { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(@"Documents\Query\query-200-success.json"); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer()); await streamingResult.InitializeAsync(); // Act await streamingResult.ToListAsync(); // Assert Assert.Equal("b7a6b094-4699-4edb-b576-9092ab1404cb", streamingResult.MetaData.RequestId); Assert.Equal("1e6df61d-29ef-4821-9e49-02b3edd06ce5", streamingResult.MetaData.ClientContextId); Assert.NotNull(streamingResult.MetaData.Signature); }
public async Task GetAsyncEnumerator_AfterEnumeration_HasErrors(string filename, QueryStatus expectedStatus) { // Arrange using var stream = ResourceHelper.ReadResourceAsStream(filename); using var streamingResult = new StreamingQueryResult <dynamic>(stream, new DefaultSerializer()); await streamingResult.InitializeAsync(); // Act await streamingResult.ToListAsync(); var result = streamingResult.MetaData.Status; // Assert Assert.False(streamingResult.Success); Assert.Equal(expectedStatus, result); Assert.NotEmpty(streamingResult.Errors); }