Ejemplo n.º 1
0
 public function testCreateAndDelete()
 {
     $uid = 9999;
     $nprops = array('name' => 'somenetwork', 'auth_url' => 'someurl', 'login_url' => 'someurl2', 'canvas_url' => 'someurl3', 'web_url' => 'someurl4');
     // TODO: TESTING: If this test fails, it can cause subsequent test failures
     Api_Dao_Network::createNetwork($uid, 'somekey', $nprops);
     $nlist = Api_Dao_Network::getNetworkProperties($uid);
     $this->assertEquals(4, count($nlist));
     $testNetwork = null;
     foreach ($nlist as $net) {
         if ($net['key'] == 'somekey') {
             $testNetwork = $net;
             break;
         }
     }
     $this->assertNotNull($testNetwork, 'Expected to find a network with key somekey');
     $this->assertEquals('somekey', $testNetwork['key']);
     $this->assertEquals('somenetwork', $testNetwork['name']);
     $this->assertEquals('someurl', $testNetwork['auth_url']);
     $this->assertEquals('someurl2', $testNetwork['login_url']);
     $this->assertEquals('someurl3', $testNetwork['canvas_url']);
     $this->assertEquals('someurl4', $testNetwork['web_url']);
     Api_Dao_Network::deleteNetwork('somekey');
     $nlist = Api_Dao_Network::getNetworkProperties($uid);
     $this->assertEquals(3, count($nlist));
 }
Ejemplo n.º 2
0
 /**
  * Enter description here...
  *
  * @param unknown_type $userId
  * @param unknown_type $props
  * @return unknown
  */
 public static function createNetwork($userId, $props)
 {
     if (empty($userId) || Api_Dao_User::isUserAdmin($userId)) {
         //create unique network key
         $uniqueKey = false;
         $netKey = '';
         while (!$uniqueKey) {
             $netKey = '';
             for ($k = 0; $k < 32; $k++) {
                 $netKey .= dechex(mt_rand(1, 15));
             }
             $uniqueKey = Api_Dao_Network::checkUniqueKey($netKey);
         }
         $eprops = array();
         foreach ($props as $name => $val) {
             $eprops[$name] = $val;
         }
         if (!isset($eprops['name'])) {
             $eprops['name'] = $netKey;
         }
         $ret = Api_Dao_Network::createNetwork($userId, $netKey, $eprops);
         $netSecret = '';
         for ($k = 0; $k < 32; $k++) {
             $netSecret .= dechex(mt_rand(1, 15));
         }
         $ret = $ret && Api_Bo_DomainService::create()->createDomain($netKey, $eprops['web_url'], $netKey, $netSecret);
         if ($ret !== false) {
             return array($netKey, $netSecret);
         }
         return false;
     }
     throw new Exception('Only the administrator can create networks. (' . $userId . ')');
 }