3 namespace Friendica\Test\src\Module;
5 use Friendica\Capabilities\ICanCreateResponses;
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;
13 class NodeInfoTest extends FixtureTest
15 public function testNodeInfo110()
17 $response = new Response();
19 $nodeinfo = new NodeInfo110(DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), $response, DI::config(), []);
20 $response = $nodeinfo->run();
22 self::assertJson($response->getBody());
23 self::assertEquals(['Content-type' => ['application/json'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
25 $json = json_decode($response->getBody());
27 self::assertEquals('1.0', $json->version);
29 self::assertEquals('friendica', $json->software->name);
30 self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
32 self::assertIsArray($json->protocols->inbound);
33 self::assertIsArray($json->protocols->outbound);
34 self::assertIsArray($json->services->inbound);
35 self::assertIsArray($json->services->outbound);
38 public function testNodeInfo120()
40 $response = new Response();
42 $nodeinfo = new NodeInfo120(DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), $response, DI::config(), []);
43 $response = $nodeinfo->run();
45 self::assertJson($response->getBody());
46 self::assertEquals(['Content-type' => ['application/json; charset=utf-8'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
48 $json = json_decode($response->getBody());
50 self::assertEquals('2.0', $json->version);
52 self::assertEquals('friendica', $json->software->name);
53 self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->software->version);
55 self::assertIsArray($json->protocols);
56 self::assertIsArray($json->services->inbound);
57 self::assertIsArray($json->services->outbound);
60 public function testNodeInfo210()
62 $response = new Response();
64 $nodeinfo = new NodeInfo210(DI::l10n(), DI::baseUrl(), DI::args(), DI::logger(), DI::profiler(), $response, DI::config(), []);
65 $response = $nodeinfo->run();
67 self::assertJson($response->getBody());
68 self::assertEquals(['Content-type' => ['application/json; charset=utf-8'], ICanCreateResponses::X_HEADER => ['json']], $response->getHeaders());
70 $json = json_decode($response->getBody());
72 self::assertEquals('1.0', $json->version);
74 self::assertEquals('friendica', $json->server->software);
75 self::assertEquals(FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, $json->server->version);
77 self::assertIsArray($json->protocols);
78 self::assertIsArray($json->services->inbound);
79 self::assertIsArray($json->services->outbound);