33from pathlib import Path
44from unittest .mock import MagicMock
55
6+ import pytest
7+
68from evalwire .uploader import DatasetUploader
79
810
@@ -87,12 +89,22 @@ def test_skips_when_dataset_already_exists(
8789 def test_uploads_when_dataset_does_not_exist (
8890 self , sample_csv : Path , mock_phoenix_client : MagicMock
8991 ):
90- mock_phoenix_client .datasets .get_dataset .side_effect = Exception ("not found" )
92+ mock_phoenix_client .datasets .get_dataset .side_effect = ValueError ("not found" )
9193 uploader = _make_uploader (sample_csv , mock_phoenix_client )
9294 result = uploader .upload (on_exist = "skip" )
9395 assert mock_phoenix_client .datasets .create_dataset .called
9496 assert len (result ) == 2
9597
98+ def test_non_not_found_error_propagates (
99+ self , sample_csv : Path , mock_phoenix_client : MagicMock
100+ ):
101+ mock_phoenix_client .datasets .get_dataset .side_effect = RuntimeError (
102+ "connection refused"
103+ )
104+ uploader = _make_uploader (sample_csv , mock_phoenix_client )
105+ with pytest .raises (RuntimeError , match = "connection refused" ):
106+ uploader .upload (on_exist = "skip" )
107+
96108
97109class TestUploadOverwrite :
98110 def test_always_calls_upload_dataset (
@@ -105,7 +117,7 @@ def test_always_calls_upload_dataset(
105117 def test_overwrite_when_dataset_missing_still_creates (
106118 self , sample_csv : Path , mock_phoenix_client : MagicMock
107119 ):
108- mock_phoenix_client .datasets .get_dataset .side_effect = Exception ("not found" )
120+ mock_phoenix_client .datasets .get_dataset .side_effect = ValueError ("not found" )
109121 uploader = _make_uploader (sample_csv , mock_phoenix_client )
110122 result = uploader .upload (on_exist = "overwrite" )
111123 assert mock_phoenix_client .datasets .create_dataset .called
@@ -123,7 +135,7 @@ def test_calls_append_to_dataset_when_dataset_exists(
123135 def test_falls_back_to_create_when_dataset_missing (
124136 self , sample_csv : Path , mock_phoenix_client : MagicMock
125137 ):
126- mock_phoenix_client .datasets .add_examples_to_dataset .side_effect = Exception (
138+ mock_phoenix_client .datasets .add_examples_to_dataset .side_effect = ValueError (
127139 "not found"
128140 )
129141 uploader = _make_uploader (sample_csv , mock_phoenix_client )
@@ -144,7 +156,7 @@ def test_custom_delimiter(self, tmp_path: Path, mock_phoenix_client: MagicMock):
144156 tag_column = "group" ,
145157 delimiter = ";" ,
146158 )
147- mock_phoenix_client .datasets .get_dataset .side_effect = Exception ("not found" )
159+ mock_phoenix_client .datasets .get_dataset .side_effect = ValueError ("not found" )
148160 result = uploader .upload (on_exist = "skip" )
149161 assert "g1" in result
150162 assert "g2" in result
@@ -157,6 +169,6 @@ def test_custom_tag_column(self, tmp_path: Path, mock_phoenix_client: MagicMock)
157169 phoenix_client = mock_phoenix_client ,
158170 tag_column = "category" ,
159171 )
160- mock_phoenix_client .datasets .get_dataset .side_effect = Exception ("not found" )
172+ mock_phoenix_client .datasets .get_dataset .side_effect = ValueError ("not found" )
161173 result = uploader .upload (on_exist = "skip" )
162174 assert "cat1" in result
0 commit comments