コード例 #1
0
ファイル: AuthmapTest.php プロジェクト: C4AProjects/c4apage
 /**
  * Test Authmap service functionality.
  */
 public function testAuthmap()
 {
     // Create a new user.
     $values = array('uid' => 2, 'name' => $this->randomMachineName());
     $account = User::create($values);
     $account->save();
     // Set up fake external IDs for this user.
     $external_ids = array('provider1' => array('authname' => $this->randomMachineName(), 'data' => $this->randomMachineName()), 'provider2' => array('authname' => $this->randomMachineName(), 'data' => $this->randomMachineName()));
     //Test save() method.
     foreach ($external_ids as $provider => $auth_data) {
         $this->authmap->save($account, $provider, $auth_data['authname'], $auth_data['data']);
     }
     //Test get() method.
     $count = db_query('SELECT COUNT(*) FROM {authmap}')->fetchField();
     $this->assertEqual($count, 2, 'Number of authmap entries is correct.');
     $this->assertEqual($this->authmap->get($account->id(), 'provider1'), $external_ids['provider1']['authname'], 'Authname can be retrieved for user via get().');
     $this->assertEqual($this->authmap->get($account->id(), 'provider2'), $external_ids['provider2']['authname'], 'Authname can be retrieved for user via get().');
     // Test getAuthData() method.
     $provider1_authdata = $this->authmap->getAuthData($account->id(), 'provider1');
     $this->assertEqual($provider1_authdata['authname'], $external_ids['provider1']['authname'], 'Authname can be retrieved via getAuthData().');
     $this->assertEqual($provider1_authdata['data'], $external_ids['provider1']['data'], 'Auth data can be retrieved via getAuthData().');
     $provider2_authdata = $this->authmap->getAuthData($account->id(), 'provider2');
     $this->assertEqual($provider2_authdata['authname'], $external_ids['provider2']['authname'], 'Authname can be retrieved via getAuthData().');
     $this->assertEqual($provider2_authdata['data'], $external_ids['provider2']['data'], 'Auth data can be retrieved via getAuthData().');
     // Test getAll() method.
     $all_authnames = $this->authmap->getAll($account->id());
     $expected_authnames = array('provider1' => $external_ids['provider1']['authname'], 'provider2' => $external_ids['provider2']['authname']);
     $this->assertEqual($all_authnames, $expected_authnames, 'All authnames for user can be retrieved.');
     // Test getUid() method.
     $uid = $this->authmap->getUid($external_ids['provider1']['authname'], 'provider1');
     $this->assertEqual($uid, $account->id(), 'User ID can be retrieved based on authname & provider.');
     // Test deleteProvider() method.
     $this->authmap->deleteProvider('provider1');
     $count = db_query('SELECT COUNT(*) FROM {authmap}')->fetchField();
     $this->assertEqual($count, 1, 'Provider data deleted successfully.');
     // Test delete() method.
     $this->authmap->delete($account->id());
     $count = db_query('SELECT COUNT(*) FROM {authmap}')->fetchField();
     $this->assertEqual($count, 0, 'User authnames deleted successfully.');
 }
コード例 #2
0
ファイル: AuthmapTest.php プロジェクト: C4AProjects/c4apage
 /**
  * @covers ::deleteProvider
  * @covers ::__construct
  */
 function testDeleteProviders()
 {
     $this->connection->expects($this->once())->method('delete')->with($this->equalTo('authmap'))->will($this->returnValue($this->delete));
     $authmap = new Authmap($this->connection);
     $authmap->delete("test_provider");
 }