From 88deb19d9386dbe89b1c42189275f1170cf995bc Mon Sep 17 00:00:00 2001 From: Dawid Libiszewski Date: Fri, 21 May 2021 17:44:53 +0200 Subject: [PATCH 1/3] CAS-6994 --- lib/Castle.php | 3 +++ lib/Castle/Castle.php | 37 ++++++++++++++++++++++++++++++++++++ lib/Castle/Models/Filter.php | 6 ++++++ lib/Castle/Models/Log.php | 6 ++++++ lib/Castle/Models/Risk.php | 6 ++++++ test/Castle.php | 3 +++ test/CastleTest.php | 32 +++++++++++++++++++++++++++++++ test/FilterTest.php | 17 +++++++++++++++++ test/LogTest.php | 17 +++++++++++++++++ test/RiskTest.php | 17 +++++++++++++++++ 10 files changed, 144 insertions(+) create mode 100644 lib/Castle/Models/Filter.php create mode 100644 lib/Castle/Models/Log.php create mode 100644 lib/Castle/Models/Risk.php create mode 100644 test/FilterTest.php create mode 100644 test/LogTest.php create mode 100644 test/RiskTest.php diff --git a/lib/Castle.php b/lib/Castle.php index 16bda88..2090406 100755 --- a/lib/Castle.php +++ b/lib/Castle.php @@ -22,6 +22,9 @@ function lcfirst( $str ) { require(dirname(__FILE__) . '/RestModel/Model.php'); require(dirname(__FILE__) . '/Castle/Models/Context.php'); require(dirname(__FILE__) . '/Castle/Models/Authenticate.php'); +require(dirname(__FILE__) . '/Castle/Models/Filter.php'); +require(dirname(__FILE__) . '/Castle/Models/Log.php'); +require(dirname(__FILE__) . '/Castle/Models/Risk.php'); require(dirname(__FILE__) . '/Castle/Models/Review.php'); require(dirname(__FILE__) . '/Castle/CurlTransport.php'); require(dirname(__FILE__) . '/Castle/RequestContext.php'); diff --git a/lib/Castle/Castle.php b/lib/Castle/Castle.php index 06e1476..18a20c7 100755 --- a/lib/Castle/Castle.php +++ b/lib/Castle/Castle.php @@ -161,4 +161,41 @@ public static function track(Array $attributes) $request = new Castle_Request(); $request->send('post', '/track', $attributes); } + + + /** + * Filter an action + * @param Array $attributes An array of attributes to filter. The 'name' key + * is required + * @return None + */ + public static function filter(Array $attributes) + { + $request = new Castle_Request(); + $request->send('post', '/filter', $attributes); + } + + /** + * Log events + * @param Array $attributes An array of attributes to track. The 'name' key + * is required + * @return None + */ + public static function log(Array $attributes) + { + $request = new Castle_Request(); + $request->send('post', '/log', $attributes); + } + + /** + * Risk + * @param Array $attributes An array of attributes to track. The 'name' key + * is required + * @return None + */ + public static function risk(Array $attributes) + { + $request = new Castle_Request(); + $request->send('post', '/risk', $attributes); + } } diff --git a/lib/Castle/Models/Filter.php b/lib/Castle/Models/Filter.php new file mode 100644 index 0000000..20c0a3d --- /dev/null +++ b/lib/Castle/Models/Filter.php @@ -0,0 +1,6 @@ +assertRequest('post', '/track'); } + public function testFilter() + { + Castle_RequestTransport::setResponse(204, ''); + Castle::filter(Array( + 'name' => '$registration', + 'user' => Array('id' => 'abc', 'email' => 'user@foobar.io') + )); + $this->assertRequest('post', '/filter'); + } + + public function testLog() + { + Castle_RequestTransport::setResponse(204, ''); + Castle::log(Array( + 'name' => '$login', + 'status' => '$failed', + 'user' => Array('id' => 'abc', 'email' => 'user@foobar.io') + )); + $this->assertRequest('post', '/log'); + } + + public function testRisk() + { + Castle_RequestTransport::setResponse(204, ''); + Castle::risk(Array( + 'name' => '$login', + 'status' => '$succeeded', + 'user' => Array('id' => 'abc', 'email' => 'user@foobar.io') + )); + $this->assertRequest('post', '/risk'); + } + public function testAuthenticate() { Castle_RequestTransport::setResponse(201, '{ "status": "approve" }'); diff --git a/test/FilterTest.php b/test/FilterTest.php new file mode 100644 index 0000000..5b149ad --- /dev/null +++ b/test/FilterTest.php @@ -0,0 +1,17 @@ +save(); + $this->assertRequest('post', '/filter'); + } +} diff --git a/test/LogTest.php b/test/LogTest.php new file mode 100644 index 0000000..9bab10c --- /dev/null +++ b/test/LogTest.php @@ -0,0 +1,17 @@ +save(); + $this->assertRequest('post', '/log'); + } +} diff --git a/test/RiskTest.php b/test/RiskTest.php new file mode 100644 index 0000000..a0829b8 --- /dev/null +++ b/test/RiskTest.php @@ -0,0 +1,17 @@ +save(); + $this->assertRequest('post', '/risk'); + } +} From 5fa8ea01bcbb22a9bcb7b85baa2a37387480cedb Mon Sep 17 00:00:00 2001 From: Dawid Libiszewski Date: Tue, 25 May 2021 16:27:19 +0200 Subject: [PATCH 2/3] up --- lib/Castle/Castle.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/Castle/Castle.php b/lib/Castle/Castle.php index 18a20c7..aadc25e 100755 --- a/lib/Castle/Castle.php +++ b/lib/Castle/Castle.php @@ -171,8 +171,9 @@ public static function track(Array $attributes) */ public static function filter(Array $attributes) { - $request = new Castle_Request(); - $request->send('post', '/filter', $attributes); + $filter = new Castle_Filter($attributes); + $filter->save(); + return $filter; } /** @@ -183,8 +184,9 @@ public static function filter(Array $attributes) */ public static function log(Array $attributes) { - $request = new Castle_Request(); - $request->send('post', '/log', $attributes); + $log = new Castle_Log($attributes); + $log->save(); + return $log; } /** @@ -195,7 +197,8 @@ public static function log(Array $attributes) */ public static function risk(Array $attributes) { - $request = new Castle_Request(); - $request->send('post', '/risk', $attributes); + $risk = new Castle_Risk($attributes); + $risk->save(); + return $risk; } } From 956ac59b7350df8411254180c54c16ed965fd039 Mon Sep 17 00:00:00 2001 From: Dawid Libiszewski Date: Tue, 25 May 2021 17:01:14 +0200 Subject: [PATCH 3/3] doc up --- lib/Castle/Castle.php | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/Castle/Castle.php b/lib/Castle/Castle.php index aadc25e..08aeec8 100755 --- a/lib/Castle/Castle.php +++ b/lib/Castle/Castle.php @@ -165,9 +165,8 @@ public static function track(Array $attributes) /** * Filter an action - * @param Array $attributes An array of attributes to filter. The 'name' key - * is required - * @return None + * @param String $attributes 'name', and 'user' object with 'id' are required + * @return Castle_Log */ public static function filter(Array $attributes) { @@ -178,9 +177,8 @@ public static function filter(Array $attributes) /** * Log events - * @param Array $attributes An array of attributes to track. The 'name' key - * is required - * @return None + * @param String $attributes 'name', 'status' and 'user' object with 'id' are required + * @return Castle_Log */ public static function log(Array $attributes) { @@ -191,9 +189,8 @@ public static function log(Array $attributes) /** * Risk - * @param Array $attributes An array of attributes to track. The 'name' key - * is required - * @return None + * @param String $attributes 'name', 'status' and 'user' object with 'id' are required + * @return Castle_Risk */ public static function risk(Array $attributes) {