From 29c3a32ee60cb97d9196d91f2bdddd2b3197519f Mon Sep 17 00:00:00 2001 From: Maxence Lange Date: Mon, 3 Aug 2020 12:51:14 -0100 Subject: [PATCH] cleaning Signed-off-by: Maxence Lange --- appinfo/routes.php | 6 +- docs/test_first-run.png | Bin 0 -> 57729 bytes docs/test_ok.json | 161 ++++++++++++++++++++++++++++ lib/Controller/ConfigController.php | 11 +- 4 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 docs/test_first-run.png create mode 100644 docs/test_ok.json diff --git a/appinfo/routes.php b/appinfo/routes.php index 73e6802d..93ea98bf 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -37,12 +37,12 @@ use OCA\Social\Service\CurlService; return [ 'routes' => [ ['name' => 'Navigation#navigate', 'url' => '/', 'verb' => 'GET'], - ['name' => 'Config#remote', 'url' => '/test/{account}/', 'verb' => 'GET'], ['name' => 'Config#local', 'url' => '/local/', 'verb' => 'GET'], + ['name' => 'Config#remote', 'url' => '/test/{account}/', 'verb' => 'GET'], [ - 'name' => 'Navigation#timeline', 'url' => '/timeline/{path}', 'verb' => 'GET', + 'name' => 'Navigation#timeline', 'url' => '/timeline/{path}', 'verb' => 'GET', 'requirements' => ['path' => '.+'], - 'defaults' => ['path' => ''] + 'defaults' => ['path' => ''] ], ['name' => 'Navigation#documentGet', 'url' => '/document/get', 'verb' => 'GET'], ['name' => 'Navigation#documentGetPublic', 'url' => '/document/public', 'verb' => 'GET'], diff --git a/docs/test_first-run.png b/docs/test_first-run.png new file mode 100644 index 0000000000000000000000000000000000000000..de3c0505ec44ac95b31a520d289cbe5c95d15df2 GIT binary patch literal 57729 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 z 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 Q^Z2r^rlCg3{fE#01A1U^DgXcg literal 0 HcmV?d00001 diff --git a/docs/test_ok.json b/docs/test_ok.json new file mode 100644 index 00000000..933b6e9c --- /dev/null +++ b/docs/test_ok.json @@ -0,0 +1,161 @@ +{ + "result": [ + { + "account": "cult@test.artificial-owl.com", + "endpoint": "test@social.artificial-owl.com", + "tests": [ + { + "name": "host-meta", + "severity": "optional", + "details": { + "host": "test.artificial-owl.com", + "path": "/.well-known/webfinger", + "protocol": [ + "https" + ] + }, + "success": true + }, + { + "name": "webfinger", + "severity": "mandatory", + "details": { + "request": { + "protocols": [ + "https" + ], + "used_protocol": "https", + "host": "test.artificial-owl.com", + "url": "/.well-known/webfinger", + "timeout": 10, + "type": 0, + "data": { + "resource": "acct:cult@test.artificial-owl.com" + } + }, + "result": { + "subject": "acct:cult@test.artificial-owl.com", + "links": [ + { + "rel": "self", + "type": "application/activity+json", + "href": "https://test.artificial-owl.com/index.php/apps/social/@cult" + }, + { + "rel": "http://ostatus.org/schema/1.0/subscribe", + "template": "https://test.artificial-owl.com/index.php/apps/social/ostatus/follow/?uri={uri}" + } + ] + } + }, + "success": true + }, + { + "name": "actor-link", + "severity": "mandatory", + "details": { + "link": { + "rel": "self", + "type": "application/activity+json", + "href": "https://test.artificial-owl.com/index.php/apps/social/@cult" + } + }, + "success": true + }, + { + "name": "actor-data", + "severity": "mandatory", + "details": { + "id": [ + "https://test.artificial-owl.com/index.php/apps/social/@cult" + ], + "data": { + "@context": [ + "https://www.w3.org/ns/activitystreams", + "https://w3id.org/security/v1" + ], + "id": "https://test.artificial-owl.com/index.php/apps/social/@cult", + "type": "Person", + "url": "https://test.artificial-owl.com/index.php/apps/social/@cult", + "icon": { + "id": "https://test.artificial-owl.com/index.php/documents/avatar/c7ad599c-499a-4680-9f01-e7f57fbea631", + "type": "Image", + "url": "https://test.artificial-owl.com/index.php/avatar/cult/128", + "mediaType": "", + "mimeType": "", + "localCopy": "avatar", + "resizedCopy": "" + }, + "local": true, + "aliases": [ + "@cult", + "users/cult" + ], + "preferredUsername": "cult", + "name": "", + "inbox": "https://test.artificial-owl.com/index.php/apps/social/@cult/inbox", + "outbox": "https://test.artificial-owl.com/index.php/apps/social/@cult/outbox", + "account": "cult@test.artificial-owl.com", + "following": "https://test.artificial-owl.com/index.php/apps/social/@cult/following", + "followers": "https://test.artificial-owl.com/index.php/apps/social/@cult/followers", + "endpoints": { + "sharedInbox": "https://test.artificial-owl.com/index.php/apps/social/inbox" + }, + "publicKey": { + "id": "https://test.artificial-owl.com/index.php/apps/social/@cult#main-key", + "owner": "https://test.artificial-owl.com/index.php/apps/social/@cult", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwz9YTXDH2IJS/zfITuFF\n/tjUbdxK0LzzcvpFKWeaXH3ybQbjw3AjRIn4PPXCtzuBqUK54yI52gxT7DR98r21\nG0q6/ifucoZV6zb2Af5T+BiHKwhV4/HY9XAgQf6GR1bpP0Qxdf1g/ZuCu5tEdjB4\ncu+/WX7rDZ2hf2ahaHAJC4Nw4CxjF6H6t8ng53dbLTzzFMeGU3nyJmW2I31Pe7r4\n2RfOhe1RwI4t24a/ls/ZVucSuaMm9pFTtfSDao111lZH6CXmo1wFYnCalPSnF1kh\ncviKyPpxJXaAYggM24IkYJpwbH8JWoSMk8UebSN9sgM5QfsLK7bMKXazB829RxoM\n/wIDAQAB\n-----END PUBLIC KEY-----\n" + }, + "_host": "test.artificial-owl.com" + } + }, + "success": true + }, + { + "name": "actor", + "severity": "mandatory", + "details": { + "actor": { + "@context": [ + "https://www.w3.org/ns/activitystreams" + ], + "id": "https://test.artificial-owl.com/index.php/apps/social/@cult", + "type": "Person", + "url": "https://test.artificial-owl.com/index.php/apps/social/@cult", + "icon": { + "id": "https://test.artificial-owl.com/index.php/documents/avatar/c7ad599c-499a-4680-9f01-e7f57fbea631", + "type": "Image", + "url": "https://test.artificial-owl.com/index.php/avatar/cult/128", + "mediaType": "", + "mimeType": "", + "localCopy": "", + "resizedCopy": "" + }, + "aliases": [ + "@cult", + "users/cult" + ], + "preferredUsername": "cult", + "name": "", + "inbox": "https://test.artificial-owl.com/index.php/apps/social/@cult/inbox", + "outbox": "https://test.artificial-owl.com/index.php/apps/social/@cult/outbox", + "account": "cult@test.artificial-owl.com", + "following": "https://test.artificial-owl.com/index.php/apps/social/@cult/following", + "followers": "https://test.artificial-owl.com/index.php/apps/social/@cult/followers", + "endpoints": { + "sharedInbox": "https://test.artificial-owl.com/index.php/apps/social/inbox" + }, + "publicKey": { + "id": "https://test.artificial-owl.com/index.php/apps/social/@cult#main-key", + "owner": "https://test.artificial-owl.com/index.php/apps/social/@cult", + "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwz9YTXDH2IJS/zfITuFF\n/tjUbdxK0LzzcvpFKWeaXH3ybQbjw3AjRIn4PPXCtzuBqUK54yI52gxT7DR98r21\nG0q6/ifucoZV6zb2Af5T+BiHKwhV4/HY9XAgQf6GR1bpP0Qxdf1g/ZuCu5tEdjB4\ncu+/WX7rDZ2hf2ahaHAJC4Nw4CxjF6H6t8ng53dbLTzzFMeGU3nyJmW2I31Pe7r4\n2RfOhe1RwI4t24a/ls/ZVucSuaMm9pFTtfSDao111lZH6CXmo1wFYnCalPSnF1kh\ncviKyPpxJXaAYggM24IkYJpwbH8JWoSMk8UebSN9sgM5QfsLK7bMKXazB829RxoM\n/wIDAQAB\n-----END PUBLIC KEY-----\n" + } + } + }, + "success": true + } + ] + } + ], + "status": 1 +} diff --git a/lib/Controller/ConfigController.php b/lib/Controller/ConfigController.php index 319a9344..3009f1d1 100644 --- a/lib/Controller/ConfigController.php +++ b/lib/Controller/ConfigController.php @@ -113,13 +113,22 @@ class ConfigController extends Controller { * @return DataResponse */ public function remote(string $account): DataResponse { + if ($account === '' || $this->configService->getSystemValue('social.tests') === '') { + return $this->local(); + } + try { $this->configService->getCloudUrl(); } catch (SocialAppConfigException $e) { return $this->success(['error' => 'error on my side: my own Social App is not configured']); } - $tests = new SimpleDataStore(['account' => $account]); + $tests = new SimpleDataStore( + [ + 'account' => $account, + 'endpoint' => $this->configService->getSystemValue('social.tests') + ] + ); try { $this->testService->testWebfinger($tests); } catch (Exception $e) {