Skip to content

Fix AI E2E tests for blocked XML-RPC endpoints#25839

Open
iangmaia wants to merge 5 commits into
trunkfrom
iangmaia/fix-ai-e2e-xmlrpc-tests
Open

Fix AI E2E tests for blocked XML-RPC endpoints#25839
iangmaia wants to merge 5 commits into
trunkfrom
iangmaia/fix-ai-e2e-xmlrpc-tests

Conversation

@iangmaia

@iangmaia iangmaia commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Description

Check the XML-RPC endpoint contract, require the Core REST editor path, and use a request-time REST policy to prevent mutation bypasses.
Also pins simulator-llm-pilot to a trunk release.

@iangmaia iangmaia self-assigned this Jul 24, 2026
@dangermattic

dangermattic commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator
1 Message
📖 This PR is still a Draft: some checks will be skipped.

Generated by 🚫 Danger

@iangmaia
iangmaia force-pushed the iangmaia/fix-ai-e2e-xmlrpc-tests branch from bdd5c95 to 3ad6f14 Compare July 24, 2026 12:43
@iangmaia iangmaia changed the title Harden AI E2E tests for XML-RPC-disabled sites Fix AI E2E tests for XML-RPC-disabled sites Jul 24, 2026
@iangmaia
iangmaia force-pushed the iangmaia/fix-ai-e2e-xmlrpc-tests branch 4 times, most recently from 469d52a to 72778c3 Compare July 24, 2026 17:16
@iangmaia
iangmaia force-pushed the iangmaia/fix-ai-e2e-xmlrpc-tests branch from 72778c3 to dda606e Compare July 24, 2026 17:32
@iangmaia iangmaia changed the title Fix AI E2E tests for XML-RPC-disabled sites Fix AI E2E tests for blocked XML-RPC endpoints Jul 24, 2026
@crazytonyli

Copy link
Copy Markdown
Contributor

Thanks for looking into the issue, Ian! The E2E test actually caught a bug, which is fixed in trunk. We should not need to do anything about the test suite now. I expect today's run to pass.

@iangmaia
iangmaia marked this pull request as ready for review July 24, 2026 20:50
@iangmaia
iangmaia requested a review from a team as a code owner July 24, 2026 20:50
@iangmaia
iangmaia requested review from Copilot and crazytonyli July 24, 2026 20:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the AI-driven iOS simulator E2E test harness to better handle test sites where XML-RPC is blocked (or intercepted by an edge 429), ensuring the app uses the Core REST editor path and preventing REST-based “mutation bypass” of UI failures.

Changes:

  • Add an XML-RPC availability preflight (with an explicit “edge 429” allowance) and a small contract-test script to lock in the detector behavior.
  • Pin simulator-llm-pilot installation to a specific upstream revision and add a runtime check for required CLI support (--rest-api-policy).
  • Update AgentTests markdown scenarios and agent instructions to reflect the blocked XML-RPC contract and stricter REST boundaries.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Tests/AgentTests/ui-tests/text-post-publish.md Updates publish assertions to require success without XML-RPC errors and not depend on a post-publish confirmation screen.
Tests/AgentTests/ui-tests/post-with-category-and-tag.md Aligns prerequisites/cleanup with blocked XML-RPC and removes reliance on a specific category name.
Tests/AgentTests/ui-tests/create-scheduled-post.md Adds blocked XML-RPC prerequisite and clarifies success criteria without extra confirmation UI.
Tests/AgentTests/ui-tests/create-blank-page.md Adds blocked XML-RPC prerequisite and clarifies publish success criteria.
Tests/AgentTests/test-ai-e2e-contracts.sh New bash contract tests for XML-RPC detection/preflight helpers.
Tests/AgentTests/app-instructions.md Adds REST API usage boundaries (read-only verification; DELETE-only cleanup).
Scripts/ci/install-simulator-llm-pilot.sh Fetches and installs simulator-llm-pilot from a pinned ref (or local override).
.buildkite/nightly.yml Configures nightly AI E2E runs to accept an edge 429 from the XML-RPC endpoint.
.buildkite/commands/run-ai-e2e-tests.sh Implements XML-RPC preflight, runs contract tests, enforces REST API policy, and improves script structure via main().

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -23,11 +23,21 @@
# SIMULATOR_NAME Simulator to boot if none running (default: iPhone 16)
@wpmobilebot

Copy link
Copy Markdown
Contributor
App Icon📲 You can test the changes from this Pull Request in WordPress by scanning the QR code below to install the corresponding build.
App NameWordPress
ConfigurationRelease-Alpha
Build Number33478
VersionPR #25839
Bundle IDorg.wordpress.alpha
Commit783c038
Installation URL1bj1oj48pvo2g
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@wpmobilebot

Copy link
Copy Markdown
Contributor
App Icon📲 You can test the changes from this Pull Request in Jetpack by scanning the QR code below to install the corresponding build.
App NameJetpack
ConfigurationRelease-Alpha
Build Number33478
VersionPR #25839
Bundle IDcom.jetpack.alpha
Commit783c038
Installation URL2u6dl5h426jn8
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@mokagio

mokagio commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

@crazytonyli

Thanks for looking into the issue, Ian! The E2E test actually caught a bug, which is fixed in trunk. We should not need to do anything about the test suite now. I expect today's run to pass.

Does this mean your recommendation is to close this PR? Was the blocked XML-RPC endpoint something that the app should have been able to handle internally (hence the UI test failure fix) instead of something that we should handle in the tests scaffolding?

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.

6 participants