Skip to content
Snippets Groups Projects
Commit 21b83523 authored by Mahmoud Wardeh's avatar Mahmoud Wardeh
Browse files

Merge branch 'feature/split-EventMangement_EVENTSAPI' into 'master'

split event mangement eventsapi

See merge request !5
parents a5ebf7bb 410462d9
No related branches found
No related tags found
1 merge request!5split event mangement eventsapi
......@@ -17,8 +17,8 @@
"require": {
"silex/silex" : "^2.3",
"phpmailer/phpmailer": ">=6.0",
"jards/eventsapiclient": "=3.4",
"jards/gcsjardsapiclient": "=2.3"
"jards/gcsjardsapiclient": "=2.3",
"jards/eventsapiclient": "3.5"
},
"require-dev": {
"phpunit/phpunit": "^9.5.5"
......
......@@ -4,15 +4,15 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "1385fd0265eac1902989e35ded5ade5b",
"content-hash": "2fd0ac161839446cab47ffdbd396e48b",
"packages": [
{
"name": "jards/eventsapiclient",
"version": "v3.4",
"version": "v3.5",
"source": {
"type": "git",
"url": "https://gitlab.version.fz-juelich.de/jards/EventsAPIClient.git",
"reference": "a4658e687c595e5ba180beb6308d38cee6a54e1e"
"reference": "c711bfd1bc5ea1ba3374a96d5bce07618856f4a8"
},
"require": {
"ext-curl": "*",
......@@ -53,7 +53,7 @@
"sdk",
"swagger"
],
"time": "2022-03-11T08:03:41+00:00"
"time": "2023-05-25T10:41:07+00:00"
},
{
"name": "jards/gcsjardsapiclient",
......
<?php
use jards\eventsapi\EventManagement;
use jards\eventsapiclient\Swagger\Client\Api\EventManagement;
require_once __DIR__.'/../vendor/autoload.php';
$eventManagement = new EventManagement();
......
......@@ -173,74 +173,6 @@ class EventManagement{
return new Response("Successfully handled event $newID: $name.");
}
/**
* Send an event to a event receiver.
* @param string $name name of the event
* @param string $description description of the event
* @param string $baseURL the root URL of the event receiver REST API
* @param string $certFile path to certificate file to use or null to call URL without certificate
* @param string $certKey path to certificate key file, null to avoid usage of key
* @param string $certPassphrase path to passphrase file for key file, null for no passphrase
* @param int $timeout time out in seconds until curl call is aborted
* @param \jards\eventsapiclient\Swagger\Client\ApiException $exception output parameter, if exception occurs
*
* @return boolean true on success, false on error
*/
public function sendEvent($name, $description, $baseURL='http://localhost/myapps/EventsAPI/rest/events', $certFile = null, $certKey = null, $certPassphrase = null, $timeout = null, &$exception=null){
$event = new Event();
$event->setName($name);
$event->setDescription($description);
$event->setDate(new \DateTime());
return $this->sendEventObject($event, $baseURL, $certFile, $certKey, $certPassphrase, $timeout, $exception);
}
/**
* Send an event according to swagger API model.
* Prepare any event you like, then send it with this function.
*
* @param Event $eventObject the event object you would like to send
* @param string $baseURL the root URL of the event receiver REST API
* @param string $certFile path to certificate file to use or null to call URL without certificate
* @param string $certKey path to certificate key file, null to avoid usage of key
* @param string $certPassphrase path to passphrase file for key file, null for no passphrase
* @param int $timeout time out in seconds until curl call is aborted
* @param \jards\eventsapiclient\Swagger\Client\ApiException $exception output parameter, if exception occurs
*
* @return boolean true on success, false on error
*/
public function sendEventObject($eventObject, $baseURL='http://localhost/myapps/EventsAPI/rest/events', $certFile = null, $certKey = null, $certPassphrase = null, $timeout = null, &$exception=null){
date_default_timezone_set ( 'Europe/Amsterdam' );
$apiClient = new \jards\eventsapiclient\Swagger\Client\ApiClient ();
$apiClient->getConfig ()->setHost ( $baseURL );
if(! empty($certFile)){
$apiClient->getConfig ()->setCertificate($certFile);
}
if(! empty($certKey)){
$apiClient->getConfig ()->setCertificateKey($certKey);
}
if(! empty($certPassphrase)){
$apiClient->getConfig ()->setCertificatePassphrase($certPassphrase);
}
if(! empty($timeout)){
$apiClient->getConfig()->setCurlConnectTimeout($timeout);
}
$eventsApi = new EventsApi($apiClient);
try{
$eventsApi->eventsPost($eventObject);
}
catch(\jards\eventsapiclient\Swagger\Client\ApiException $e){
$exception = $e;
return false;
}
return true;
}
}
?>
\ No newline at end of file
......@@ -5,6 +5,8 @@ namespace jards\eventsapi\tests;
use PHPUnit\Framework\TestCase;
use jards\eventsapi\EventManagement;
use jards\eventsapiclient\Swagger\Client\Model\Event;
use jards\eventsapiclient\Swagger\Client\Api\EventManagement as ApiEventManagement;
class EventManagementTest extends TestCase{
......@@ -48,7 +50,7 @@ class EventManagementTest extends TestCase{
public function testSendEvent(){
echo "testSendEvent\n";
$eventManagement = new EventManagement();
$eventManagement = new ApiEventManagement();
$oldEventIDs = $this->getExistingEventIDs();
......@@ -94,7 +96,7 @@ class EventManagementTest extends TestCase{
$url = file_get_contents(__DIR__.'/../configs/myurl.cnf');
$invalid = $url.'/thisisinvalidforphpunit';
$eventManagement = new EventManagement();
$eventManagement = new ApiEventManagement();
$event = new Event();
$event->setName('My event never sent phpunit');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment