Brettapps commited on
Commit
e25604a
·
verified ·
1 Parent(s): 0ad783b

Upload folder using huggingface_hub

Browse files
.gemini/extensions/vertex/tests/test_tools.py ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import unittest
2
+ from unittest.mock import MagicMock, patch
3
+
4
+ from google.api_core import exceptions
5
+ from vertex.tools import (
6
+ PromptDetails,
7
+ VertexPromptManager,
8
+ _build_prompt_details,
9
+ )
10
+
11
+
12
+ class TestVertexPromptManager(unittest.TestCase):
13
+ def setUp(self):
14
+ self.manager = VertexPromptManager()
15
+ self.mock_client = MagicMock()
16
+
17
+ @patch("vertex.tools.Client")
18
+ def test_get_client(self, mock_client_constructor):
19
+ mock_client_constructor.return_value = self.mock_client
20
+ client = self.manager._get_client(
21
+ project_id="test-project", location_id="test-location"
22
+ )
23
+ self.assertEqual(client, self.mock_client)
24
+ mock_client_constructor.assert_called_with(
25
+ project="test-project", location="test-location"
26
+ )
27
+
28
+ def test_build_prompt_details(self):
29
+ # Create a mock prompt object
30
+ mock_prompt = MagicMock()
31
+ mock_prompt.prompt_id = "123"
32
+ mock_prompt.dataset.display_name = "Test Prompt"
33
+ mock_prompt.prompt_data.system_instruction.parts = [
34
+ MagicMock(text="System instruction")
35
+ ]
36
+ mock_prompt.prompt_data.contents = [
37
+ MagicMock(parts=[MagicMock(text="Hello"), MagicMock(text=" World")])
38
+ ]
39
+
40
+ prompt_details = _build_prompt_details(mock_prompt)
41
+
42
+ self.assertIsInstance(prompt_details, PromptDetails)
43
+ self.assertEqual(prompt_details.prompt_id, "123")
44
+ self.assertEqual(prompt_details.display_name, "Test Prompt")
45
+ self.assertEqual(
46
+ prompt_details.system_instruction, "System instruction"
47
+ )
48
+ self.assertEqual(prompt_details.contents, "Hello World")
49
+
50
+ @patch("vertex.tools.Client")
51
+ def test_read_prompt_success(self, mock_client_constructor):
52
+ mock_client_constructor.return_value = self.mock_client
53
+ mock_prompt = MagicMock()
54
+ mock_prompt.prompt_id = "123"
55
+ mock_prompt.dataset.display_name = "Test Prompt"
56
+ mock_prompt.prompt_data.model = "gemini-pro"
57
+ mock_prompt.prompt_data.system_instruction.parts = [
58
+ MagicMock(text="System instruction")
59
+ ]
60
+ mock_prompt.prompt_data.contents = [
61
+ MagicMock(parts=[MagicMock(text="Hello")])
62
+ ]
63
+
64
+ self.mock_client.prompts.get.return_value = mock_prompt
65
+
66
+ prompt_details = self.manager.read_prompt(
67
+ prompt_id="123", project_id="test-project"
68
+ )
69
+ self.assertEqual(prompt_details.prompt_id, "123")
70
+ self.mock_client.prompts.get.assert_called_with(prompt_id="123")
71
+
72
+ @patch("vertex.tools.Client")
73
+ def test_read_prompt_not_found(self, mock_client_constructor):
74
+ mock_client_constructor.return_value = self.mock_client
75
+ self.mock_client.prompts.get.side_effect = exceptions.NotFound(
76
+ "Prompt not found"
77
+ )
78
+
79
+ with self.assertRaises(ValueError) as context:
80
+ self.manager.read_prompt(prompt_id="123", project_id="test-project")
81
+ self.assertIn("Prompt 123 not found", str(context.exception))
82
+
83
+ @patch("vertex.tools.Client")
84
+ def test_delete_prompt_success(self, mock_client_constructor):
85
+ mock_client_constructor.return_value = self.mock_client
86
+ self.manager.delete_prompt(prompt_id="123", project_id="test-project")
87
+ self.mock_client.prompts.delete.assert_called_with(prompt_id="123")
88
+
89
+ @patch("vertex.tools.Client")
90
+ def test_delete_prompt_not_found(self, mock_client_constructor):
91
+ mock_client_constructor.return_value = self.mock_client
92
+ self.mock_client.prompts.delete.side_effect = exceptions.NotFound(
93
+ "Prompt not found"
94
+ )
95
+
96
+ with self.assertRaises(ValueError) as context:
97
+ self.manager.delete_prompt(
98
+ prompt_id="123", project_id="test-project"
99
+ )
100
+ self.assertIn("Prompt 123 not found", str(context.exception))
101
+
102
+
103
+ if __name__ == "__main__":
104
+ unittest.main()