public void ToListRowsOptions_BothPageTokenAndStartIndexSet() { var options = new GetQueryResultsOptions { StartIndex = 10, PageToken = "foo" }; Assert.Throws <ArgumentException>(() => options.ToListRowsOptions()); }
public void ModifyRequest_BothPageTokenAndStartIndexSet() { var options = new GetQueryResultsOptions { StartIndex = 10, PageToken = "foo" }; GetQueryResultsRequest request = new GetQueryResultsRequest(new BigqueryService(), "project", "job"); Assert.Throws <ArgumentException>(() => options.ModifyRequest(request)); }
public void ModifyRequest_NoneSet() { var options = new GetQueryResultsOptions(); GetQueryResultsRequest request = new GetQueryResultsRequest(new BigqueryService(), "project", "job"); options.ModifyRequest(request); Assert.Equal(null, request.StartIndex); Assert.Equal(null, request.PageToken); Assert.Equal(null, request.MaxResults); Assert.Equal(null, request.TimeoutMs); }
public void ToListRowsOptions_PageToken() { var options = new GetQueryResultsOptions { PageSize = 25, PageToken = "token" }; var listOptions = options.ToListRowsOptions(); Assert.Equal(25, listOptions.PageSize); Assert.Equal("token", listOptions.PageToken); Assert.Null(listOptions.StartIndex); }
public void ToListRowsOptions_StartIndex() { var options = new GetQueryResultsOptions { StartIndex = 10, PageSize = 25, }; var listOptions = options.ToListRowsOptions(); Assert.Equal(10UL, listOptions.StartIndex); Assert.Equal(25, listOptions.PageSize); Assert.Null(listOptions.PageToken); }
public void ExecuteQuery_Timeout() { // SQL that I happen to know takes over 10 seconds to query. string sql = "SELECT id FROM [bigquery-public-data:github_repos.contents] where content contains 'NodaTime' AND content contains '2.0.2' LIMIT 1000"; BigQueryClient client = BigQueryClient.Create(_fixture.ProjectId); var queryOptions = new QueryOptions { UseLegacySql = true, UseQueryCache = false }; var resultsOptions = new GetQueryResultsOptions { Timeout = TimeSpan.FromSeconds(2) }; Assert.Throws <TimeoutException>(() => client.ExecuteQuery(sql, null, queryOptions, resultsOptions)); }
public void ModifyRequest_NoOp() { var options = new GetQueryResultsOptions { PageSize = 25, PageToken = "foo", Timeout = TimeSpan.FromSeconds(5), }; GetQueryResultsRequest request = new GetQueryResultsRequest(new BigqueryService(), "project", "job"); options.ModifyRequest(request); Assert.Null(request.PageToken); Assert.Null(request.MaxResults); Assert.Null(request.TimeoutMs); }
public void ModifyRequest_AllSetExceptPageToken() { var options = new GetQueryResultsOptions { StartIndex = 10, PageSize = 25, Timeout = TimeSpan.FromSeconds(5), }; GetQueryResultsRequest request = new GetQueryResultsRequest(new BigqueryService(), "project", "job"); options.ModifyRequest(request); Assert.Equal(10UL, request.StartIndex); Assert.Equal(25, request.MaxResults); Assert.Equal(5 * 1000, request.TimeoutMs); }
public void Clone() { var options = new GetQueryResultsOptions { PageSize = 25, StartIndex = 10, Timeout = TimeSpan.FromMinutes(20) }; var clone = options.Clone(); options.PageSize = 20; options.StartIndex = 5; Assert.Equal(25, clone.PageSize); Assert.Equal(10UL, clone.StartIndex); Assert.Equal(TimeSpan.FromMinutes(20), clone.Timeout); }
public void ModifyRequest() { var options = new GetQueryResultsOptions { PageSize = 25, PageToken = "foo", Timeout = TimeSpan.FromSeconds(5), }; GetQueryResultsRequest request = new GetQueryResultsRequest(new BigqueryService(), "project", "job"); options.ModifyRequest(request); Assert.Equal("foo", request.PageToken); Assert.Equal(25, request.MaxResults); // ModifyRequest doesn't modify the timeout, as that's done externally Assert.Null(request.TimeoutMs); }
public void PollQueryUntilCompletedEquivalents() { var jobId = "job"; var reference = GetJobReference(jobId); var getQueryResultsOptions = new GetQueryResultsOptions(); var pollSettings = new PollSettings(Expiration.None, TimeSpan.Zero); VerifyEquivalent( new BigQueryResults(new DerivedBigQueryClient(), new GetQueryResultsResponse { JobReference = reference }, getQueryResultsOptions), client => client.PollQueryUntilCompleted(MatchesWhenSerialized(reference), getQueryResultsOptions, pollSettings), client => client.PollQueryUntilCompleted(jobId, getQueryResultsOptions, pollSettings), client => client.PollQueryUntilCompleted(ProjectId, jobId, getQueryResultsOptions, pollSettings), client => new BigQueryJob(client, GetJob(reference)).PollQueryUntilCompleted(getQueryResultsOptions, pollSettings), client => new BigQueryResults(client, new GetQueryResultsResponse { JobReference = reference }, getQueryResultsOptions).PollUntilCompleted(pollSettings)); }
public void PollQueryUntilCompletedAsyncEquivalents() { var jobId = "job"; var reference = GetJobReference(jobId); var getQueryResultsOptions = new GetQueryResultsOptions(); var pollSettings = new PollSettings(Expiration.None, TimeSpan.Zero); var token = new CancellationTokenSource().Token; VerifyEquivalentAsync( new BigqueryQueryJob(new DerivedBigqueryClient(), new GetQueryResultsResponse { JobReference = reference }, getQueryResultsOptions), client => client.PollQueryUntilCompletedAsync(MatchesWhenSerialized(reference), getQueryResultsOptions, pollSettings, token), client => client.PollQueryUntilCompletedAsync(jobId, getQueryResultsOptions, pollSettings, token), client => client.PollQueryUntilCompletedAsync(ProjectId, jobId, getQueryResultsOptions, pollSettings, token), client => new BigqueryJob(client, GetJob(reference)).PollQueryUntilCompletedAsync(getQueryResultsOptions, pollSettings, token), client => new BigqueryQueryJob(client, new GetQueryResultsResponse { JobReference = reference }, getQueryResultsOptions).PollUntilCompletedAsync(pollSettings, token)); }
protected override void ProcessRecord() { // Set Project for the lazy instantiation of a BQ Client object. Project = InputObject.ProjectId; var options = new GetQueryResultsOptions { Timeout = new TimeSpan(0, 0, (Timeout < 10) ? 10 : Timeout) }; try { BigQueryResults result = Client.GetQueryResults(InputObject, options); if (result == null) { throw new Exception("Server response came back as null."); } WriteObject(result.GetRows(), true); } catch (Exception ex) { ThrowTerminatingError(new ErrorRecord(ex, "Failed to receive results.", ErrorCategory.InvalidOperation, this)); } }