api/v3/System - Add a "get" operation to return basic system info
authorTim Otten <totten@civicrm.org>
Sun, 14 Sep 2014 20:28:22 +0000 (16:28 -0400)
committerTim Otten <totten@civicrm.org>
Sun, 14 Sep 2014 20:28:22 +0000 (16:28 -0400)
api/v3/System.php
tests/phpunit/api/v3/SystemTest.php

index 99bec9d1caf4d01a1ed38e8ae9d0764eff3c77ae..a75c404d70eea661e2edf12a806d1bee3039b698 100644 (file)
@@ -98,4 +98,19 @@ function civicrm_api3_system_check($params) {
 
   // Spec: civicrm_api3_create_success($values = 1, $params = array(), $entity = NULL, $action = NULL)
   return civicrm_api3_create_success($returnValues, $params, 'System', 'Check');
-}
\ No newline at end of file
+}
+
+/**
+ * System.Get API
+ *
+ * @param arary $params
+ */
+function civicrm_api3_system_get($params) {
+  $returnValues = array(
+    array(
+      'version' => CRM_Utils_System::version(),
+      'uf' => CIVICRM_UF,
+    ),
+  );
+  return civicrm_api3_create_success($returnValues, $params, 'System', 'get');
+}
index 060d990ab20a2e481c83054e6b1b44903c026923..999b223a42f773a300317bebefa39f78f2bfe00d 100644 (file)
@@ -112,4 +112,10 @@ class api_v3_SystemTest extends CiviUnitTestCase {
 
     $this->assertTrue(NULL === CRM_Core_BAO_Cache::getItem(self::TEST_CACHE_GROUP, self::TEST_CACHE_PATH));
   }
+
+  function testSystemGet() {
+    $result = $this->callAPISuccess('system', 'get', array());
+    $this->assertRegExp('/^[0-9]+\.[0-9]+\.[0-9a-z\-]+$/', $result['values'][0]['version']);
+    $this->assertEquals('UnitTests', $result['values'][0]['uf']);
+  }
 }