protected function setUp() { parent::setUp(); global $cache, $config, $db, $phpbb_container, $phpbb_dispatcher, $user, $phpbb_root_path, $phpEx; $this->db = $db = $this->new_dbal(); $lang_loader = new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx); $lang = new \phpbb\language\language($lang_loader); $user = new \phpbb\user($lang, '\\phpbb\\datetime'); $phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $phpbb_container = new phpbb_mock_container_builder(); $config = new \phpbb\config\config(array('auth_method' => 'oauth', 'auth_oauth_google_key' => 'foo', 'auth_oauth_google_secret' => 'bar')); $cache = new \phpbb\cache\driver\dummy(); $request = new phpbb_mock_request(); $notification_manager = new phpbb_mock_notification_manager(); $provider_collection = new \phpbb\auth\provider_collection($phpbb_container, $config); $oauth_provider_google = new \phpbb\auth\provider\oauth\service\google($config, $request); $oauth_provider_collection = new \phpbb\di\service_collection($phpbb_container); $oauth_provider_collection->offsetSet('auth.provider.oauth.service.google', $oauth_provider_google); $driver_helper = new \phpbb\passwords\driver\helper($config); $passwords_drivers = array('passwords.driver.bcrypt_2y' => new \phpbb\passwords\driver\bcrypt_2y($config, $driver_helper), 'passwords.driver.bcrypt' => new \phpbb\passwords\driver\bcrypt($config, $driver_helper), 'passwords.driver.salted_md5' => new \phpbb\passwords\driver\salted_md5($config, $driver_helper), 'passwords.driver.phpass' => new \phpbb\passwords\driver\phpass($config, $driver_helper)); $passwords_helper = new \phpbb\passwords\helper(); // Set up passwords manager $passwords_manager = new \phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, array_keys($passwords_drivers)); $oauth_provider = new \phpbb\auth\provider\oauth\oauth($db, $config, $passwords_manager, $request, $user, 'phpbb_oauth_tokens', 'phpbb_oauth_accounts', $oauth_provider_collection, 'phpbb_users', $phpbb_container, $this->phpbb_root_path, $this->php_ext); $provider_collection->offsetSet('auth.provider.oauth', $oauth_provider); $phpbb_container->set('auth.provider.oauth', $oauth_provider); $phpbb_container->set('auth.provider.oauth.service.google', $oauth_provider_google); $phpbb_container->set('auth.provider_collection', $provider_collection); $phpbb_container->set('notification_manager', $notification_manager); }
public function setUp() { global $auth, $db, $cache, $config, $user, $phpbb_dispatcher, $phpbb_container, $phpbb_root_path, $phpEx; $phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $phpbb_container = new phpbb_mock_container_builder(); $phpbb_container->set('cache.driver', new phpbb_mock_cache()); $phpbb_container->set('notification_manager', new phpbb_mock_notification_manager()); $auth = $this->getMock('\\phpbb\\auth\\auth'); $cache = $phpbb_container->get('cache.driver'); $config = $this->config = new \phpbb\config\config(array('board_timezone' => 'UTC', 'default_lang' => 'en', 'email_enable' => false, 'min_name_chars' => 3, 'max_name_chars' => 10, 'min_pass_chars' => 3, 'max_pass_chars' => 10, 'pass_complex' => 'PASS_TYPE_ANY')); $db = $this->db = $this->new_dbal(); $this->language = $this->getMockBuilder('\\phpbb\\language\\language')->disableOriginalConstructor()->getMock(); $this->language->expects($this->any())->method('lang')->will($this->returnArgument(0)); $user = $this->user = $this->getMock('\\phpbb\\user', array(), array($this->language, '\\phpbb\\datetime')); $this->user_loader = new \phpbb\user_loader($db, $phpbb_root_path, $phpEx, USERS_TABLE); $driver_helper = new \phpbb\passwords\driver\helper($this->config); $passwords_drivers = array('passwords.driver.bcrypt_2y' => new \phpbb\passwords\driver\bcrypt_2y($this->config, $driver_helper), 'passwords.driver.bcrypt' => new \phpbb\passwords\driver\bcrypt($this->config, $driver_helper), 'passwords.driver.salted_md5' => new \phpbb\passwords\driver\salted_md5($this->config, $driver_helper), 'passwords.driver.phpass' => new \phpbb\passwords\driver\phpass($this->config, $driver_helper)); $passwords_helper = new \phpbb\passwords\helper(); $this->passwords_manager = new \phpbb\passwords\manager($this->config, $passwords_drivers, $passwords_helper, array_keys($passwords_drivers)); $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $phpEx; $this->log = $this->getMockBuilder('\\phpbb\\log\\log')->disableOriginalConstructor()->getMock(); $phpbb_container->set('auth.provider.db', new phpbb_mock_auth_provider()); $provider_collection = new \phpbb\auth\provider_collection($phpbb_container, $config); $provider_collection->add('auth.provider.db'); $phpbb_container->set('auth.provider_collection', $provider_collection); parent::setUp(); }
protected function setUp() { parent::setUp(); global $cache, $config, $db, $phpbb_dispatcher, $phpbb_container; $db = $this->db = $this->new_dbal(); $config = new \phpbb\config\config(array('load_online_time' => 5, 'search_type' => '\\phpbb\\search\\fulltext_mysql')); $cache = new phpbb_mock_null_cache(); $phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $phpbb_container = new phpbb_mock_container_builder(); $phpbb_container->set('notification_manager', new phpbb_mock_notification_manager()); $phpbb_container->set('auth.provider.db', new phpbb_mock_auth_provider()); $provider_collection = new \phpbb\auth\provider_collection($phpbb_container, $config); $provider_collection->add('auth.provider.db'); $phpbb_container->set('auth.provider_collection', $provider_collection); }
protected function setUp() { parent::setUp(); global $cache, $config, $db, $phpbb_dispatcher, $phpbb_container, $phpbb_root_path; $db = $this->db = $this->new_dbal(); $config = new \phpbb\config\config(array('load_online_time' => 5, 'search_type' => '\\phpbb\\search\\fulltext_mysql')); $cache = new phpbb_mock_null_cache(); $phpbb_dispatcher = new phpbb_mock_event_dispatcher(); $phpbb_container = new phpbb_mock_container_builder(); $phpbb_container->set('notification_manager', new phpbb_mock_notification_manager()); // Works as a workaround for tests $phpbb_container->set('attachment.manager', new \phpbb\attachment\delete($config, $db, new \phpbb_mock_event_dispatcher(), new \phpbb\filesystem\filesystem(), new \phpbb\attachment\resync($db), $phpbb_root_path)); $phpbb_container->set('auth.provider.db', new phpbb_mock_auth_provider()); $provider_collection = new \phpbb\auth\provider_collection($phpbb_container, $config); $provider_collection->add('auth.provider.db'); $phpbb_container->set('auth.provider_collection', $provider_collection); }
/** * Retrieve the configured session class instance * * @param \phpbb\db\driver\driver_interface $dbal The database connection to use for session data * @return phpbb_mock_session_testable A session instance */ public function get_session(\phpbb\db\driver\driver_interface $dbal) { // set up all the global variables used by session global $SID, $_SID, $db, $config, $cache, $request, $phpbb_container; $request = $this->request = new phpbb_mock_request(array(), array(), $this->cookies, $this->server_data); $config = $this->config = new \phpbb\config\config($this->get_config_data()); $db = $dbal; $cache = $this->cache = new phpbb_mock_cache($this->get_cache_data()); $SID = $_SID = null; $phpbb_container = $this->container = new phpbb_mock_container_builder(); $phpbb_container->set('auth.provider.db', new phpbb_mock_auth_provider()); $phpbb_container->setParameter('core.environment', PHPBB_ENVIRONMENT); $provider_collection = new \phpbb\auth\provider_collection($phpbb_container, $config); $provider_collection->add('auth.provider.db'); $phpbb_container->set('auth.provider_collection', $provider_collection); $session = new phpbb_mock_session_testable(); return $session; }
/** * Gets the 'auth.provider_collection' service. * * This service is shared. * This method always returns the same instance of the service. * * @return \phpbb\auth\provider_collection A phpbb\auth\provider_collection instance. */ protected function getAuth_ProviderCollectionService() { $this->services['auth.provider_collection'] = $instance = new \phpbb\auth\provider_collection($this, $this->get('config')); $instance->add('auth.provider.db'); $instance->add('auth.provider.apache'); $instance->add('auth.provider.ldap'); $instance->add('auth.provider.oauth'); return $instance; }