33namespace Tests \Jobs ;
44
55use App \Jobs \ProcessMediaWikiJobsJob ;
6+ use App \Services \MediaWikiHostResolver ;
67use GuzzleHttp \Handler \MockHandler ;
78use GuzzleHttp \HandlerStack ;
89use GuzzleHttp \Psr7 \Response ;
@@ -16,6 +17,9 @@ class ProcessMediaWikiJobsJobTest extends TestCase {
1617 use RefreshDatabase;
1718
1819 public function testJobFailOnNoMediaWikiPod () {
20+
21+ $ mockResolver = $ this ->createMock (MediaWikiHostResolver::class);
22+
1923 $ mockJob = $ this ->createMock (Job::class);
2024 $ mockJob ->expects ($ this ->once ())->method ('fail ' );
2125
@@ -24,6 +28,7 @@ public function testJobFailOnNoMediaWikiPod() {
2428
2529 $ mock = new MockHandler ([
2630 new Response (200 , [], json_encode (['items ' => []])),
31+ new Response (200 , [], json_encode (['items ' => []])),
2732 ]);
2833
2934 $ handlerStack = HandlerStack::create ($ mock );
@@ -35,17 +40,30 @@ public function testJobFailOnNoMediaWikiPod() {
3540 $ job ->handle (new Client ([
3641 'master ' => 'https://kubernetes.default.svc ' ,
3742 'token ' => '/var/run/secrets/kubernetes.io/serviceaccount/token ' ,
38- ], null , $ mockGuzzle ));
43+ ], null , $ mockGuzzle ), $ mockResolver );
3944 }
4045
4146 public function testJobDoesNotFail () {
47+ $ mockResolver = $ this ->createMock (MediaWikiHostResolver::class);
4248 $ mockJob = $ this ->createMock (Job::class);
4349 $ mockJob ->expects ($ this ->never ())->method ('fail ' );
4450
4551 $ job = new ProcessMediaWikiJobsJob ('test.wikibase.cloud ' );
4652 $ job ->setJob ($ mockJob );
4753
4854 $ mock = new MockHandler ([
55+ new Response (200 , [], json_encode (['items ' => [
56+ [
57+ 'kind ' => 'Service ' ,
58+ 'spec ' => [
59+ 'selector ' => [
60+ 'app.kubernetes.io/component ' => 'app-backend ' ,
61+ 'app.kubernetes.io/instance ' => 'mediawiki-143 ' ,
62+ 'app.kubernetes.io/name ' => 'mediawiki ' ,
63+ ],
64+ ],
65+ ],
66+ ]])),
4967 new Response (200 , [], json_encode (['items ' => [
5068 [
5169 'kind ' => 'Pod ' ,
@@ -75,9 +93,12 @@ public function testJobDoesNotFail() {
7593 'verify ' => '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt ' ,
7694 ]);
7795
78- $ job ->handle (new Client ([
79- 'master ' => 'https://kubernetes.default.svc ' ,
80- 'token ' => '/var/run/secrets/kubernetes.io/serviceaccount/token ' ,
81- ], null , $ mockGuzzle ));
96+ $ job ->handle (
97+ new Client ([
98+ 'master ' => 'https://kubernetes.default.svc ' ,
99+ 'token ' => '/var/run/secrets/kubernetes.io/serviceaccount/token ' ,
100+ ], null , $ mockGuzzle ),
101+ $ mockResolver
102+ );
82103 }
83104}
0 commit comments