@@ -119,9 +119,10 @@ def test___unopened_panel___set_value___sets_value(
119119
120120    value_id  =  "test_id" 
121121    string_value  =  "test_value" 
122- 
123122    panel .set_value (value_id , string_value )
124123
124+     assert  panel ._panel_client .enumerate_panels () ==  {"my_panel" : (False , [value_id ])}
125+ 
125126
126127def  test___unopened_panel___get_unset_value___raises_exception (
127128    fake_panel_channel : grpc .Channel ,
@@ -245,3 +246,47 @@ def test___sequence_of_builtin_type___set_value___gets_same_value(
245246
246247    received_value  =  panel .get_value (value_id )
247248    assert  list (received_value ) ==  list (value_payload )  # type: ignore [call-overload] 
249+ 
250+ 
251+ def  test___open_panel___panel_is_open_and_in_memory (
252+     fake_panel_channel : grpc .Channel ,
253+ ) ->  None :
254+     panel  =  StreamlitPanel ("my_panel" , "path/to/script" , grpc_channel = fake_panel_channel )
255+     assert  not  is_panel_in_memory (panel )
256+ 
257+     panel .open_panel ()
258+ 
259+     assert  is_panel_in_memory (panel )
260+     assert  is_panel_open (panel )
261+ 
262+ 
263+ def  test___with_panel___opens_and_closes_panel (
264+     fake_panel_channel : grpc .Channel ,
265+ ) ->  None :
266+     panel  =  StreamlitPanel ("my_panel" , "path/to/script" , grpc_channel = fake_panel_channel )
267+ 
268+     with  panel :
269+         assert  is_panel_in_memory (panel )
270+         assert  is_panel_open (panel )
271+ 
272+     assert  is_panel_in_memory (panel )
273+     assert  not  is_panel_open (panel )
274+ 
275+ 
276+ def  test___with_panel___set_value___gets_same_value (
277+     fake_panel_channel : grpc .Channel ,
278+ ) ->  None :
279+     with  StreamlitPanel ("my_panel" , "path/to/script" , grpc_channel = fake_panel_channel ) as  panel :
280+         value_id  =  "test_id" 
281+         string_value  =  "test_value" 
282+         panel .set_value (value_id , string_value )
283+ 
284+         assert  panel .get_value (value_id ) ==  string_value 
285+ 
286+ 
287+ def  is_panel_in_memory (panel : StreamlitPanel ) ->  bool :
288+     return  panel .panel_id  in  panel ._panel_client .enumerate_panels ().keys ()
289+ 
290+ 
291+ def  is_panel_open (panel : StreamlitPanel ) ->  bool :
292+     return  panel ._panel_client .enumerate_panels ()[panel .panel_id ][0 ]
0 commit comments