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,32 @@ 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+ [
61+ "app.kubernetes.io/component " => "app-backend " ,
62+ "app.kubernetes.io/instance " => "mediawiki-143 " ,
63+ "app.kubernetes.io/name " => "mediawiki "
64+ ],
65+ ],
66+ ],
67+ ],
68+ ]])),
4969 new Response (200 , [], json_encode (['items ' => [
5070 [
5171 'kind ' => 'Pod ' ,
@@ -75,9 +95,12 @@ public function testJobDoesNotFail() {
7595 'verify ' => '/var/run/secrets/kubernetes.io/serviceaccount/ca.crt ' ,
7696 ]);
7797
78- $ job ->handle (new Client ([
98+ $ job ->handle (
99+ new Client ([
79100 'master ' => 'https://kubernetes.default.svc ' ,
80101 'token ' => '/var/run/secrets/kubernetes.io/serviceaccount/token ' ,
81- ], null , $ mockGuzzle ));
102+ ], null , $ mockGuzzle ),
103+ $ mockResolver
104+ );
82105 }
83106}
0 commit comments