浏览代码

use autospec=True in mock (#25497)

tags/1.9.0
Asuka Minato 1 个月前
父节点
当前提交
05af23f88f
没有帐户链接到提交者的电子邮件
共有 1 个文件被更改,包括 17 次插入17 次删除
  1. 17
    17
      api/tests/unit_tests/extensions/storage/test_supabase_storage.py

+ 17
- 17
api/tests/unit_tests/extensions/storage/test_supabase_storage.py 查看文件



def test_init_success_with_all_config(self): def test_init_success_with_all_config(self):
"""Test successful initialization when all required config is provided.""" """Test successful initialization when all required config is provided."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client




def test_init_raises_error_when_url_missing(self): def test_init_raises_error_when_url_missing(self):
"""Test initialization raises ValueError when SUPABASE_URL is None.""" """Test initialization raises ValueError when SUPABASE_URL is None."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = None mock_config.SUPABASE_URL = None
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


def test_init_raises_error_when_api_key_missing(self): def test_init_raises_error_when_api_key_missing(self):
"""Test initialization raises ValueError when SUPABASE_API_KEY is None.""" """Test initialization raises ValueError when SUPABASE_API_KEY is None."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = None mock_config.SUPABASE_API_KEY = None
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


def test_init_raises_error_when_bucket_name_missing(self): def test_init_raises_error_when_bucket_name_missing(self):
"""Test initialization raises ValueError when SUPABASE_BUCKET_NAME is None.""" """Test initialization raises ValueError when SUPABASE_BUCKET_NAME is None."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = None mock_config.SUPABASE_BUCKET_NAME = None


def test_create_bucket_when_not_exists(self): def test_create_bucket_when_not_exists(self):
"""Test create_bucket creates bucket when it doesn't exist.""" """Test create_bucket creates bucket when it doesn't exist."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client




def test_create_bucket_when_exists(self): def test_create_bucket_when_exists(self):
"""Test create_bucket does not create bucket when it already exists.""" """Test create_bucket does not create bucket when it already exists."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client


@pytest.fixture @pytest.fixture
def storage_with_mock_client(self): def storage_with_mock_client(self):
"""Fixture providing SupabaseStorage with mocked client.""" """Fixture providing SupabaseStorage with mocked client."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client




def test_bucket_exists_returns_true_when_bucket_found(self): def test_bucket_exists_returns_true_when_bucket_found(self):
"""Test bucket_exists returns True when bucket is found in list.""" """Test bucket_exists returns True when bucket is found in list."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client




def test_bucket_exists_returns_false_when_bucket_not_found(self): def test_bucket_exists_returns_false_when_bucket_not_found(self):
"""Test bucket_exists returns False when bucket is not found in list.""" """Test bucket_exists returns False when bucket is not found in list."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client




def test_bucket_exists_returns_false_when_no_buckets(self): def test_bucket_exists_returns_false_when_no_buckets(self):
"""Test bucket_exists returns False when no buckets exist.""" """Test bucket_exists returns False when no buckets exist."""
with patch("extensions.storage.supabase_storage.dify_config") as mock_config:
with patch("extensions.storage.supabase_storage.dify_config", autospec=True) as mock_config:
mock_config.SUPABASE_URL = "https://test.supabase.co" mock_config.SUPABASE_URL = "https://test.supabase.co"
mock_config.SUPABASE_API_KEY = "test-api-key" mock_config.SUPABASE_API_KEY = "test-api-key"
mock_config.SUPABASE_BUCKET_NAME = "test-bucket" mock_config.SUPABASE_BUCKET_NAME = "test-bucket"


with patch("extensions.storage.supabase_storage.Client") as mock_client_class:
with patch("extensions.storage.supabase_storage.Client", autospec=True) as mock_client_class:
mock_client = Mock() mock_client = Mock()
mock_client_class.return_value = mock_client mock_client_class.return_value = mock_client



正在加载...
取消
保存