@@ -47,6 +47,37 @@ def test_read_gbq_colab_includes_label():
4747 assert "session-read_gbq_colab" in label_values
4848
4949
50+ def test_read_gbq_colab_includes_label_in_anywidget_mode ():
51+ """Make sure read_gbq_colab label is preserved as the primary bigframes-api label in anywidget mode."""
52+ import bigframes
53+ import bigframes .display .html as bf_html
54+
55+ bqclient = mock .create_autospec (bigquery .Client , instance = True )
56+ bqclient .project = "proj"
57+ session = mocks .create_bigquery_session (bqclient = bqclient )
58+ df = session ._read_gbq_colab ("SELECT 'read-gbq-colab-test'" )
59+
60+ with bigframes .option_context ("display.render_mode" , "anywidget" ):
61+ _ = bf_html .get_anywidget_bundle (df )
62+
63+ label_values = []
64+ bigframes_api_labels = []
65+ for kall in itertools .chain (
66+ bqclient .query_and_wait .call_args_list ,
67+ bqclient ._query_and_wait_bigframes .call_args_list ,
68+ bqclient .query .call_args_list ,
69+ ):
70+ job_config = kall .kwargs .get ("job_config" )
71+ if job_config is None :
72+ continue
73+ label_values .extend (job_config .labels .values ())
74+ if "bigframes-api" in job_config .labels :
75+ bigframes_api_labels .append (job_config .labels ["bigframes-api" ])
76+
77+ assert "session-read_gbq_colab" in label_values
78+ assert "session-read_gbq_colab" in bigframes_api_labels
79+
80+
5081@pytest .mark .parametrize ("dry_run" , [True , False ])
5182def test_read_gbq_colab_includes_formatted_values_in_dry_run (monkeypatch , dry_run ):
5283 bqclient = mock .create_autospec (bigquery .Client , instance = True )
0 commit comments