From a58107b49cf18f03bc4874fc8645b7c286ad486f Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Tue, 5 Jan 2021 17:51:17 +0530 Subject: [PATCH] feat: changed log list response format and added tests --- src/Appwrite/Utopia/Response/Filters/V06.php | 21 ++++++++++++---- tests/unit/Utopia/Filters/V06Test.php | 26 ++++++++++++++------ 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/src/Appwrite/Utopia/Response/Filters/V06.php b/src/Appwrite/Utopia/Response/Filters/V06.php index 7b89cbc52..f386edc6a 100644 --- a/src/Appwrite/Utopia/Response/Filters/V06.php +++ b/src/Appwrite/Utopia/Response/Filters/V06.php @@ -215,17 +215,28 @@ class V06 extends Filter { $parsedResponse = []; foreach($logs as $log) { $parsedResponse[] = [ + 'brand' => $log['deviceBrand'], + 'device' => $log['deviceName'], 'event' => $log['event'], 'ip' => $log['ip'], - 'time' => $log['time'], - 'OS' => $log['osName'].' '.$log['osVersion'], - 'client' => $log['clientName'].' '.$log['clientVersion'], - 'device' => $log['deviceName'], - 'brand' => $log['deviceBrand'], 'model' => $log['deviceModel'], + 'time' => $log['time'], 'geo' => [ 'isoCode' => empty($log['countryCode']) ? '---' : $log['countryCode'] , 'country' => empty($log['countryName'] ) ? Locale::getText('locale.country.unknown') : $log['countryName'] + ], + 'OS' => [ + 'name' => $log['osName'], + 'platform' => '', + 'short_name' => $log['osCode'], + 'version' => $log['osVersion'] + ], + 'client' => [ + 'engine' => $log['clientEngine'], + 'name' => $log['clientName'], + 'short_name' => $log['clientCode'], + 'type' => $log['clientType'], + 'version' => $log['clientVersion'] ] ]; } diff --git a/tests/unit/Utopia/Filters/V06Test.php b/tests/unit/Utopia/Filters/V06Test.php index 6a0906a85..97804acd3 100644 --- a/tests/unit/Utopia/Filters/V06Test.php +++ b/tests/unit/Utopia/Filters/V06Test.php @@ -184,7 +184,7 @@ class V06Test extends TestCase $this->assertEquals($parsedResponse['sessions'][0]['OS']['name'], 'Mac'); $this->assertEquals($parsedResponse['sessions'][0]['OS']['platform'], ''); $this->assertEquals($parsedResponse['sessions'][0]['OS']['short_name'], 'Mac'); - $this->assertEquals($parsedResponse['sessions'][0]['OS']['version'], ''); + $this->assertEquals($parsedResponse['sessions'][0]['OS']['version'], 'Mac'); $this->assertEquals($parsedResponse['sessions'][0]['client']['engine'], 'WebKit'); $this->assertEquals($parsedResponse['sessions'][0]['client']['name'], 'Chrome Mobile iOS'); @@ -227,16 +227,26 @@ class V06Test extends TestCase $parsedResponse = $this->filter->parse($content, $model); $this->assertEquals($parsedResponse['sum'], 1); + $this->assertEquals($parsedResponse['logs'][0]['brand'], 'Google'); + $this->assertEquals($parsedResponse['logs'][0]['device'], 'smartphone'); $this->assertEquals($parsedResponse['logs'][0]['event'], 'account.sessions.create'); $this->assertEquals($parsedResponse['logs'][0]['ip'], '127.0.0.1'); - $this->assertEquals($parsedResponse['logs'][0]['time'], 1592981250); - $this->assertEquals($parsedResponse['logs'][0]['OS'], 'Mac Mac'); - $this->assertEquals($parsedResponse['logs'][0]['client'], 'Chrome Mobile iOS 84.0'); - $this->assertEquals($parsedResponse['logs'][0]['device'], 'smartphone'); - $this->assertEquals($parsedResponse['logs'][0]['brand'], 'Google'); $this->assertEquals($parsedResponse['logs'][0]['model'], 'Nexus 5'); - $this->assertEquals($parsedResponse['logs'][0]['geo']['isoCode'], 'US'); - $this->assertEquals($parsedResponse['logs'][0]['geo']['country'], 'United States'); + $this->assertEquals($parsedResponse['logs'][0]['time'], 1592981250); + + $this->assertEquals($parsedResponse['sessions'][0]['OS']['name'], 'Mac'); + $this->assertEquals($parsedResponse['sessions'][0]['OS']['platform'], ''); + $this->assertEquals($parsedResponse['sessions'][0]['OS']['short_name'], 'Mac'); + $this->assertEquals($parsedResponse['sessions'][0]['OS']['version'], 'Mac'); + + $this->assertEquals($parsedResponse['sessions'][0]['client']['engine'], 'WebKit'); + $this->assertEquals($parsedResponse['sessions'][0]['client']['name'], 'Chrome Mobile iOS'); + $this->assertEquals($parsedResponse['sessions'][0]['client']['short_name'], 'CM'); + $this->assertEquals($parsedResponse['sessions'][0]['client']['type'], 'browser'); + $this->assertEquals($parsedResponse['sessions'][0]['client']['version'], '84.0'); + + $this->assertEquals($parsedResponse['sessions'][0]['geo']['isoCode'], 'US'); + $this->assertEquals($parsedResponse['sessions'][0]['geo']['country'], 'United States'); } public function testParseToken()