]> git.mxchange.org Git - friendica.git/blob - tests/src/Module/NodeInfoTest.php
Merge remote-tracking branch 'upstream/2021.12-rc' into api-fixes
[friendica.git] / tests / src / Module / NodeInfoTest.php
1 <?php
2
3 namespace Friendica\Test\src\Module;
4
5 use Friendica\Capabilities\ICanCreateResponses;
6 use Friendica\DI;
7 use Friendica\Module\NodeInfo110;
8 use Friendica\Module\NodeInfo120;
9 use Friendica\Module\NodeInfo210;
10 use Friendica\Module\Response;
11 use Friendica\Test\FixtureTest;
12
13 class NodeInfoTest extends FixtureTest
14 {
15         public function testNodeInfo110()
16         {
17                 $response = new Response();
18
19                 $nodeinfo = new NodeInfo110(DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), $response, DI::config(), []);
20                 $response = $nodeinfo->run();
21
22                 self::assertJson($response->getBody());
23                 self::assertEquals(['Content-type' => ['application/json'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
24
25                 $json = json_decode($response->getBody());
26
27                 self::assertEquals('1.0', $json->version);
28
29                 self::assertEquals('friendica', $json->software->name);
30                 self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
31
32                 self::assertIsArray($json->protocols->inbound);
33                 self::assertIsArray($json->protocols->outbound);
34                 self::assertIsArray($json->services->inbound);
35                 self::assertIsArray($json->services->outbound);
36         }
37
38         public function testNodeInfo120()
39         {
40                 $response = new Response();
41
42                 $nodeinfo = new NodeInfo120(DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), $response, DI::config(), []);
43                 $response = $nodeinfo->run();
44
45                 self::assertJson($response->getBody());
46                 self::assertEquals(['Content-type' => ['application/json; charset=utf-8'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
47
48                 $json = json_decode($response->getBody());
49
50                 self::assertEquals('2.0', $json->version);
51
52                 self::assertEquals('friendica', $json->software->name);
53                 self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
54
55                 self::assertIsArray($json->protocols);
56                 self::assertIsArray($json->services->inbound);
57                 self::assertIsArray($json->services->outbound);
58         }
59
60         public function testNodeInfo210()
61         {
62                 $response = new Response();
63
64                 $nodeinfo = new NodeInfo210(DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), $response, DI::config(), []);
65                 $response = $nodeinfo->run();
66
67                 self::assertJson($response->getBody());
68                 self::assertEquals(['Content-type' => ['application/json; charset=utf-8'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
69
70                 $json = json_decode($response->getBody());
71
72                 self::assertEquals('1.0', $json->version);
73
74                 self::assertEquals('friendica', $json->server->software);
75                 self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->server->version);
76
77                 self::assertIsArray($json->protocols);
78                 self::assertIsArray($json->services->inbound);
79                 self::assertIsArray($json->services->outbound);
80         }
81 }