protected static function init()
 {
     self::$directory = \Stormpath\Resource\Directory::instantiate(array('name' => md5(time() . microtime() . uniqid())));
     self::createResource(\Stormpath\Resource\Directory::PATH, self::$directory);
     self::$account = \Stormpath\Resource\Account::instantiate(array('givenName' => 'Account Name', 'middleName' => 'Middle Name', 'surname' => 'Surname', 'username' => md5(time() . microtime() . uniqid()) . 'username', 'email' => md5(time() . microtime() . uniqid()) . '@unknown123.kot', 'password' => 'superP4ss'));
     self::$directory->createAccount(self::$account);
     self:
     $groups = array();
     $groupsCount = 0;
     while ($groupsCount < self::GROUPS_COUNT) {
         $group = \Stormpath\Resource\Group::instantiate(array('name' => "{$groupsCount} Group Name", 'description' => "The Group Description {$groupsCount}"));
         self::$directory->createGroup($group);
         self::$account->addGroup($group);
         $groups[$groupsCount] = $group;
         $groupsCount++;
     }
     self::$inited = true;
 }
 public function tearDown()
 {
     if (self::$application) {
         $accountStoreMappings = self::$application->accountStoreMappings;
         if ($accountStoreMappings) {
             foreach ($accountStoreMappings as $asm) {
                 $accountStore = $asm->accountStore;
                 $asm->delete();
                 $accountStore->delete();
             }
         }
         self::$application->delete();
     }
     self::$application = null;
 }