@@ -9,23 +9,31 @@ def test_library_instrumentation():
99 """Test that the google-genai library gets properly instrumented."""
1010 # Import the library
1111 from google import genai
12- from google .genai .models import Models
12+ from google .genai .models import AsyncModels , Models
1313
1414 # Set up instrumentor
1515 instrumentor = GoogleGenerativeAiInstrumentor ()
1616
1717 # Verify methods are not wrapped initially
1818 assert not hasattr (Models .generate_content , '__wrapped__' )
19+ assert not hasattr (Models .generate_content_stream , '__wrapped__' )
20+ assert not hasattr (AsyncModels .generate_content , '__wrapped__' )
21+ assert not hasattr (AsyncModels .generate_content_stream , '__wrapped__' )
1922
2023 try :
2124 instrumentor .instrument ()
2225
23- # Verify methods are now wrapped
26+ # Verify all methods are now wrapped
2427 assert hasattr (Models .generate_content , '__wrapped__' )
28+ assert hasattr (Models .generate_content_stream , '__wrapped__' )
29+ assert hasattr (AsyncModels .generate_content , '__wrapped__' )
30+ assert hasattr (AsyncModels .generate_content_stream , '__wrapped__' )
2531
26- # Verify it's our wrapper
27- wrapped_method = Models .generate_content
28- assert callable (wrapped_method )
32+ # Verify they're callable
33+ assert callable (Models .generate_content )
34+ assert callable (Models .generate_content_stream )
35+ assert callable (AsyncModels .generate_content )
36+ assert callable (AsyncModels .generate_content_stream )
2937
3038 # Test that we can create a client
3139 client = genai .Client (api_key = "test_key" )
@@ -38,6 +46,9 @@ def test_library_instrumentation():
3846
3947 # Verify methods are unwrapped
4048 assert not hasattr (Models .generate_content , '__wrapped__' )
49+ assert not hasattr (Models .generate_content_stream , '__wrapped__' )
50+ assert not hasattr (AsyncModels .generate_content , '__wrapped__' )
51+ assert not hasattr (AsyncModels .generate_content_stream , '__wrapped__' )
4152
4253
4354def test_instrumentation_dependencies ():
@@ -54,7 +65,7 @@ def test_wrapped_methods():
5465 instrumentor = GoogleGenerativeAiInstrumentor ()
5566 methods = instrumentor ._wrapped_methods ()
5667
57- assert len (methods ) == 2
68+ assert len (methods ) == 4
5869
5970 # Should be using new library methods
6071 packages = [method .get ("package" , "" ) for method in methods ]
@@ -64,3 +75,8 @@ def test_wrapped_methods():
6475 objects = [method .get ("object" , "" ) for method in methods ]
6576 assert "Models" in objects
6677 assert "AsyncModels" in objects
78+
79+ # Should wrap both generate_content and generate_content_stream
80+ wrapped_methods = [method .get ("method" , "" ) for method in methods ]
81+ assert wrapped_methods .count ("generate_content" ) == 2
82+ assert wrapped_methods .count ("generate_content_stream" ) == 2
0 commit comments