public function testGetData_EmptyFile()
 {
     file_put_contents($this->dataFile, '');
     $newSql = new SqliteUtils($this->dataFile);
     $newSql->createDbStructureAsNecessary();
     $results = $newSql->getData('', '');
     $expected = array();
     $msg = " *** Expected no data but got something.";
     $this->assertEquals($expected, $results, $msg);
 }
 public function testRemoveAllFixtures()
 {
     $fixturesClass = new GoogleFixtures($this->dataFile);
     $fixtures = array(array('directory', 'user', 'user1 test data'));
     $fixturesClass->addFixtures($fixtures);
     $fixturesClass->removeAllFixtures();
     $sqliteClass = new SqliteUtils($this->dataFile);
     $results = $sqliteClass->getData('', '');
     $expected = array();
     $msg = " *** Mismatching fixtures arrays";
     $this->assertEquals($expected, $results, $msg);
 }
 public function testUsersAliasesDelete()
 {
     $fixturesClass = new GoogleFixtures($this->dataFile);
     $fixturesClass->removeAllFixtures();
     $fixtures = $this->getFixtures();
     $fixturesClass->addFixtures($fixtures);
     $email = "*****@*****.**";
     $alias = $this->getAliasFixture("*****@*****.**", $email, 1);
     $newFixtures = array(array('directory', 'users_alias', json_encode($alias)));
     $fixturesClass->addFixtures($newFixtures);
     $newDir = new Directory('anyclient', $this->dataFile);
     $results = $newDir->users_aliases->delete("*****@*****.**", "*****@*****.**");
     $this->assertTrue($results, " *** Didn't appear to delete the alias.");
     $sqliteUtils = new SqliteUtils($this->dataFile);
     $results = $sqliteUtils->getData('directory', 'users_alias');
     $expected = array(array('id' => '6', 'type' => 'directory', 'class' => 'users_alias', 'data' => '{"alias":"*****@*****.**","etag":null,' . '"id":1,"kind":null,"primaryEmail":null}'), array('id' => '7', 'type' => 'directory', 'class' => 'users_alias', 'data' => '{"alias":"*****@*****.**","etag":null,' . '"id":1,"kind":null,"primaryEmail":"' . $email . '"}'));
     $msg = " *** Mismatching users_aliases in db";
     $this->assertEquals($expected, $results, $msg);
 }
 /**
  * Retrieves a user record from the database (users.delete)
  *
  * @param string $userKey - The Email or immutable Id of the user
  * @return null|nested array for the matching database entry
  */
 private function getDbUser($userKey)
 {
     $key = 'primaryEmail';
     if (!filter_var($userKey, FILTER_VALIDATE_EMAIL)) {
         $key = 'id';
         $userKey = intval($userKey);
     }
     $sqliteUtils = new SqliteUtils($this->_dbFile);
     return $sqliteUtils->getRecordByDataKey($this->_dataType, $this->_dataClass, $key, $userKey);
 }
 /**
  * Gets a Google_Service_Directory_Aliases instance with its
  *     aliases property populated with Google_Service_Directory_Alias
  *     instances for that user
  *
  * @param string $keyType - "Email" or "Id"
  * @param string $userKey - The Email or immutable Id of the user
  * @return null|a real Google_Service_Directory_Aliases instance
  */
 public function fetchAliasesByUser($keyType, $userKey)
 {
     $sqliteUtils = new SqliteUtils($this->_dbFile);
     $aliases = $sqliteUtils->getAllRecordsByDataKey($this->_dataType, $this->_dataClass, $keyType, $userKey);
     if (!$aliases) {
         return null;
     }
     $foundAliases = array();
     foreach ($aliases as $nextAlias) {
         $newAlias = new \Google_Service_Directory_Alias();
         ObjectUtils::initialize($newAlias, json_decode($nextAlias['data'], true));
         $foundAliases[] = $newAlias;
     }
     $newUsersAliases = new \Google_Service_Directory_Aliases();
     $newUsersAliases->setAliases($foundAliases);
     return $newUsersAliases;
 }
 /**
  *  Empties out the database table completely
  */
 public function removeAllFixtures()
 {
     $newSqlite = new SqliteUtils($this->_dbFile);
     $newSqlite->deleteAllData();
 }