Skip to content

AI Client: fix sendRequestWithOptions error message inconsistency and add missing tests#12108

Open
sagarsdeshmukh wants to merge 2 commits into
WordPress:trunkfrom
sagarsdeshmukh:fix/ai-client-http-error-message-and-tests
Open

AI Client: fix sendRequestWithOptions error message inconsistency and add missing tests#12108
sagarsdeshmukh wants to merge 2 commits into
WordPress:trunkfrom
sagarsdeshmukh:fix/ai-client-http-error-message-and-tests

Conversation

@sagarsdeshmukh

@sagarsdeshmukh sagarsdeshmukh commented Jun 5, 2026

Copy link
Copy Markdown

Summary

  • WP_AI_Client_HTTP_Client::sendRequestWithOptions() omitted the HTTP method from its NetworkException message, while sendRequest() included it. Both now use the same three-argument format so error output carries consistent diagnostic context (method + URL + underlying error).
  • Adds a test asserting the method, URL, and WP_Error message all appear in the exception thrown by sendRequestWithOptions.
  • Adds a missing test for WP_AI_Client_Prompt_Builder::generate_result() when wp_supports_ai() returns false - this code path produced a distinct error message ("AI features are not supported in this environment.") that was untested.

Changes

  • src/wp-includes/ai-client/adapters/class-wp-ai-client-http-client.php
  • tests/phpunit/tests/ai-client/wpAiClientHttpClient.php
  • tests/phpunit/tests/ai-client/wpAiClientPromptBuilder.php

Test coverage

Run: npm run test:php -- --group=ai-client

https://core.trac.wordpress.org/ticket/65421

… add missing tests

sendRequestWithOptions omitted the HTTP method from its NetworkException message, while sendRequest included it. Both paths now produce the same three-argument format so error messages carry consistent diagnostic context.

Two new tests are added:
- Verifies the method, URL, and underlying error appear in the exception message thrown by sendRequestWithOptions.
- Verifies that generate_result() returns a WP_Error carrying the correct "AI features are not supported" message when wp_supports_ai() is false, covering a code path that was previously untested.

https://core.trac.wordpress.org/ticket/64591
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props sagardeshmukh, gziolo.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

@github-actions

Copy link
Copy Markdown

A commit was made that fixes the Trac ticket referenced in the description of this pull request.

SVN changeset: 62556
GitHub commit: 50ad424

This PR will be closed, but please confirm the accuracy of this and reopen if there is more work to be done.

@github-actions github-actions Bot closed this Jun 25, 2026
@gziolo gziolo reopened this Jun 25, 2026
@@ -2533,49 +2533,48 @@ public function test_is_supported_returns_false_when_ai_not_supported() {
}

/**

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test landed as part of https://core.trac.wordpress.org/ticket/65422.

@gziolo

gziolo commented Jun 25, 2026

Copy link
Copy Markdown
Member

@sagarsdeshmukh – I updated the description and removed the reference to https://core.trac.wordpress.org/ticket/65422. It triggered the automation and closed this PR when another ticket was closed. Can you refresh this PR to exclude the test that was merged with that ticket?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants