MCPcopy
hub / github.com/ray-project/ray / create_mock_response

Function create_mock_response

python/ray/_common/tests/test_usage_stats.py:1550–1585  ·  view source on GitHub ↗
(url: str, provider: str, error_providers: list[str])

Source from the content-addressed store, hash-verified

1548
1549def test_get_cloud_from_metadata_requests(monkeypatch):
1550 def create_mock_response(url: str, provider: str, error_providers: list[str]):
1551 # Create a mock response based on the URL.
1552 mock_response = Mock()
1553
1554 if url == "http://metadata.google.internal/computeMetadata/v1":
1555 # GCP endpoint
1556 if "gcp" in error_providers:
1557 print("raising")
1558 raise requests.exceptions.ConnectionError()
1559 mock_response.status_code = 200 if provider == "gcp" else 400
1560 elif url == "http://169.254.169.254/latest/meta-data/":
1561 # AWS endpoint
1562 if "aws" in error_providers:
1563 raise requests.exceptions.ConnectionError()
1564 # Azure IMDS returns 400 (not 404) when queried with AWS endpoint format
1565 # because Azure requires the "Metadata: true" header (not sent in AWS queries).
1566 # See: https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service#errors-and-debugging
1567 if provider == "azure":
1568 mock_response.status_code = (
1569 400 # Bad Request (missing headers/wrong path)
1570 )
1571 else:
1572 mock_response.status_code = 200 if provider == "aws" else 404
1573 elif url == "http://169.254.169.254/metadata/instance?api-version=2021-12-13":
1574 # Azure endpoint
1575 if "azure" in error_providers:
1576 raise requests.exceptions.ConnectionError()
1577 # AWS IMDS returns 404 when queried with Azure endpoint format
1578 # because Azure's URL path doesn't exist on AWS metadata service.
1579 # See: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html#instance-metadata-returns
1580 if provider == "aws":
1581 mock_response.status_code = 404 # Not Found
1582 else:
1583 mock_response.status_code = 200 if provider == "azure" else 400
1584
1585 return mock_response
1586
1587 with patch("requests.get") as mock_get:
1588 mock_get.side_effect = lambda url, **kwargs: create_mock_response(

Callers 1

Calls 1

printFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…