@@ -7487,19 +7487,30 @@ void testQueryWithTimeout() throws InterruptedException {
74877487 }
74887488
74897489 // Stateful query returns Job
7490- // Test scenario 2 to ensure job is created if JobCreationMode is set, but for a small query
7491- // it still returns results.
7490+ // Test scenario 2 to ensure job is created if Query is long running.
7491+ // Explicitly disable cache to ensure it is long-running query;
7492+ config =
7493+ QueryJobConfiguration .newBuilder (largeQuery ).setUseQueryCache (false ).build ();
7494+ long millis = System .currentTimeMillis ();
7495+ result = bigQuery .queryWithTimeout (config , null , 1000L );
7496+ millis = System .currentTimeMillis () - millis ;
7497+ assertTrue (result instanceof Job );
7498+ // Cancel the job as we don't need results.
7499+ ((Job ) result ).cancel ();
7500+ // Allow 2 seconds of timeout value to account for random delays
7501+ assertTrue (millis < 1_000_000 * 2 );
7502+
7503+ // Stateful query returns Job
7504+ // Test scenario 3 to ensure job is created if JobCreationMode is set.
74927505 config =
74937506 QueryJobConfiguration .newBuilder (query )
74947507 .setJobCreationMode (JobCreationMode .JOB_CREATION_REQUIRED )
74957508 .build ();
74967509 result = bigQuery .queryWithTimeout (config , null , null );
7497- assertTrue (result instanceof TableResult );
7498- assertNotNull (((TableResult ) result ).getJobId ());
7499- assertNull (((TableResult ) result ).getQueryId ());
7510+ assertTrue (result instanceof Job );
75007511
75017512 // Stateful query returns Job
7502- // Test scenario 3 to ensure job is created if Query is long running.
7513+ // Test scenario 4 to ensure job is created if Query is long running.
75037514 // Explicitly disable cache to ensure it is long-running query;
75047515 config =
75057516 QueryJobConfiguration .newBuilder (largeQuery )
0 commit comments