Language: Python
Label: safe
CWE: CWE-918 \u2014 Server-Side Request Forgery (SSRF)
The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

Code:
def test_databricks_http_request_integration(get_config, request):
    """Confirms that the databricks http request params can in fact be used as an HTTP request"""

    def confirm_request_params(*args, **kwargs):
        headers = DefaultRequestHeaderProvider().request_headers()
        headers["Authorization"] = "Basic dXNlcjpwYXNz"
        assert args == ("PUT", "host/clusters/list")
        assert kwargs == {
            "allow_redirects": True,
            "headers": headers,
            "verify": True,
            "json": {"a": "b"},
            "timeout": 120,
        }
        http_response = mock.MagicMock()
        http_response.status_code = 200
        http_response.text = '{"OK": "woo"}'
        return http_response

    request.side_effect = confirm_request_params
    get_config.return_value = DatabricksConfig.from_password("host", "user", "pass", insecure=False)

    response = DatabricksJobRunner(databricks_profile_uri=None)._databricks_api_request(
        "/clusters/list", "PUT", json={"a": "b"}
    )
    assert json.loads(response.text) == {"OK": "woo"}
    get_config.reset_mock()
    response = DatabricksJobRunner(
        databricks_profile_uri=construct_db_uri_from_profile("my-profile")
    )._databricks_api_request("/clusters/list", "PUT", json={"a": "b"})
    assert json.loads(response.text) == {"OK": "woo"}
    assert get_config.call_count == 0