From b78dc18344728cc5897f72d4a619cc2e8715f4e7 Mon Sep 17 00:00:00 2001 From: Ollie Date: Fri, 14 Nov 2025 16:21:28 +0000 Subject: [PATCH] Fix version mapping in MediaWikiHostResolver The MediaWiki version string shouldn't contain `-app`. Add test for public function getMwVersionForDomain(). --- app/Services/MediaWikiHostResolver.php | 8 ++++---- tests/Services/MediaWikiHostResolverTest.php | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/Services/MediaWikiHostResolver.php b/app/Services/MediaWikiHostResolver.php index f83b6e284..b100aeec0 100644 --- a/app/Services/MediaWikiHostResolver.php +++ b/app/Services/MediaWikiHostResolver.php @@ -17,10 +17,10 @@ class UnknownWikiDomainException extends Exception {} class MediaWikiHostResolver { // TODO: Move this mapping to a config file so that MW updates do not require code changes here. - /** @var array Map of DB version strings to MediaWiki backend version strings */ + /** @var array Map of DB version strings to MediaWiki version strings */ private const DB_VERSION_TO_MW_VERSION = [ - 'mw1.39-wbs1' => '139-app', - 'mw1.43-wbs1' => '143-app', + 'mw1.39-wbs1' => '139', + 'mw1.43-wbs1' => '143', ]; // https://phabricator.wikimedia.org/T409530 @@ -31,7 +31,7 @@ class MediaWikiHostResolver { public function getBackendHostForDomain(string $domain): string { // TODO: Move 'backend.default.svc.cluster.local' to an env variable (e.g. PLATFORM_MW_BACKEND_HOST_SUFFIX) for flexibility. - return sprintf('mediawiki-%s-backend.default.svc.cluster.local', $this->getMwVersionForDomain($domain)); + return sprintf('mediawiki-%s-app-backend.default.svc.cluster.local', $this->getMwVersionForDomain($domain)); } public function getMwVersionForDomain(string $domain): string { diff --git a/tests/Services/MediaWikiHostResolverTest.php b/tests/Services/MediaWikiHostResolverTest.php index d3dfe0023..379b6e190 100644 --- a/tests/Services/MediaWikiHostResolverTest.php +++ b/tests/Services/MediaWikiHostResolverTest.php @@ -13,6 +13,13 @@ class MediaWikiHostResolverTest extends TestCase { use RefreshDatabase; + public function testGetMwVersionForDomain(): void { + $domain = (new Factory)->create()->unique()->text(30); + $this->createWiki($domain, 'mw1.43-wbs1'); + $resolver = new MediaWikiHostResolver; + $this->assertSame('143', $resolver->getMwVersionForDomain($domain)); + } + public function testResolverRoutesToCorrectHost(): void { $domain = (new Factory)->create()->unique()->text(30); $this->createWiki($domain, 'mw1.39-wbs1');