@@ -41,9 +41,8 @@ def test_add_db_with_temp_file_context(temp_context_file: Path) -> None:
4141 session = databao .open_session ("ctx_path_session_db_file" )
4242 session .add_db (conn , context = temp_context_file )
4343
44- db_contexts , _df_contexts = session .context
45- assert "db1" in db_contexts
46- assert db_contexts ["db1" ] == temp_context_file .read_text ()
44+ assert "db1" in session .db_context
45+ assert session .db_context ["db1" ] == temp_context_file .read_text ()
4746
4847
4948def test_add_df_with_temp_file_context (temp_context_file : Path ) -> None :
@@ -52,9 +51,8 @@ def test_add_df_with_temp_file_context(temp_context_file: Path) -> None:
5251 session = databao .open_session ("ctx_path_session_df_file" )
5352 session .add_df (df , context = temp_context_file )
5453
55- _db_contexts , df_contexts = session .context
56- assert "df1" in df_contexts
57- assert df_contexts ["df1" ] == temp_context_file .read_text ()
54+ assert "df1" in session .df_context
55+ assert session .df_context ["df1" ] == temp_context_file .read_text ()
5856
5957
6058def test_add_db_with_string_context () -> None :
@@ -64,9 +62,8 @@ def test_add_db_with_string_context() -> None:
6462 context_string = "This is a string context for the database."
6563 session .add_db (conn , context = context_string )
6664
67- db_contexts , _df_contexts = session .context
68- assert "db1" in db_contexts
69- assert db_contexts ["db1" ] == context_string
65+ assert "db1" in session .db_context
66+ assert session .db_context ["db1" ] == context_string
7067
7168
7269def test_add_df_with_string_context () -> None :
@@ -76,6 +73,43 @@ def test_add_df_with_string_context() -> None:
7673 context_string = "This is a string context for the DataFrame."
7774 session .add_df (df , context = context_string )
7875
79- _db_contexts , df_contexts = session .context
80- assert "df1" in df_contexts
81- assert df_contexts ["df1" ] == context_string
76+ assert "df1" in session .df_context
77+ assert session .df_context ["df1" ] == context_string
78+
79+
80+ def test_add_additional_context_with_nonexistent_path_raises () -> None :
81+ """add_additional_context should raise if given a non-existent Path."""
82+ session = databao .open_session ("additional_ctx_missing_path" )
83+ with pytest .raises (FileNotFoundError ):
84+ session .add_context (Path ("no_such_context_file_123.md" ))
85+
86+
87+ def test_add_additional_context_with_temp_file (temp_context_file : Path ) -> None :
88+ """Ensure additional context can be loaded from a temporary file path."""
89+ session = databao .open_session ("additional_ctx_from_file" )
90+ session .add_context (temp_context_file )
91+ assert session .additional_context == [temp_context_file .read_text ()]
92+
93+
94+ def test_add_additional_context_with_string () -> None :
95+ """Ensure additional context can be provided directly as a string."""
96+ session = databao .open_session ("additional_ctx_from_string" )
97+ text = "Global instructions for the session go here."
98+ session .add_context (text )
99+ assert session .additional_context == [text ]
100+
101+
102+ def test_add_additional_context_multiple_calls_mixed_sources (temp_context_file : Path ) -> None :
103+ """Calling add_additional_context multiple times should append in order."""
104+ session = databao .open_session ("additional_ctx_multiple" )
105+ first = "First global instruction."
106+ second = temp_context_file .read_text ()
107+ third = "Third bit of context."
108+
109+ session .add_context (first )
110+ session .add_context (temp_context_file )
111+ session .add_context (third )
112+
113+ assert first in session .additional_context
114+ assert second in session .additional_context
115+ assert third in session .additional_context
0 commit comments