File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed
src/openstack_mcp_server/tools Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -16,9 +16,18 @@ def register_tools(self, mcp: FastMCP):
1616 Register Image-related tools with the FastMCP instance.
1717 """
1818
19+ mcp .tool ()(self .get_image )
1920 mcp .tool ()(self .get_images )
2021 mcp .tool ()(self .create_image )
2122
23+ def get_image (self , id : str ) -> Image :
24+ """
25+ Get an OpenStack image by ID.
26+ """
27+ conn = get_openstack_conn ()
28+ image = conn .image .get_image (id )
29+ return Image (** image )
30+
2231 def get_images (
2332 self ,
2433 name : str | None = None ,
Original file line number Diff line number Diff line change @@ -46,6 +46,22 @@ def image_factory(**overrides):
4646
4747 return defaults
4848
49+ def test_get_image_success (self , mock_get_openstack_conn_image ):
50+ """Test getting a specific image successfully."""
51+ mock_conn = mock_get_openstack_conn_image
52+ mock_image = self .image_factory (
53+ id = "img-123-abc-def" ,
54+ name = "ubuntu-20.04-server" ,
55+ status = "active" ,
56+ visibility = "public" ,
57+ )
58+ mock_conn .image .get_image .return_value = mock_image
59+ result = ImageTools ().get_image ("img-123-abc-def" )
60+
61+ mock_conn .image .get_image .assert_called_once_with ("img-123-abc-def" )
62+ expected_output = Image (** mock_image )
63+ assert result == expected_output
64+
4965 def test_get_images_success (self , mock_get_openstack_conn_image ):
5066 """Test getting image images successfully."""
5167 mock_conn = mock_get_openstack_conn_image
You can’t perform that action at this time.
0 commit comments