def METHOD_NAME(self):
    """
    Test that the `assign_change_asset_permission` function calls
    the External service with the correct payload
    """
    session_mock = MagicMock()
    asset_id = "some_id"
    usernames = ["bob", "john", "doe"]
    resp = Response()
    resp.status_code = 200
    session_mock.post.return_value = resp
    assign_change_asset_permission(
        "http://example.com", asset_id, usernames, session_mock
    )
    session_mock.post.assert_called()
    session_mock.post.assert_called_with(
        f"http://example.com/api/v2/assets/{asset_id}/permission-assignments/bulk/",
        json=[
            {
                "user": "http://example.com/api/v2/users/bob/",
                "permission": "http://example.com/api/v2/permissions/change_asset/",
            },
            {
                "user": "http://example.com/api/v2/users/john/",
                "permission": "http://example.com/api/v2/permissions/change_asset/",
            },
            {
                "user": "http://example.com/api/v2/users/doe/",
                "permission": "http://example.com/api/v2/permissions/change_asset/",
            },
        ],
    )