public function renderConfiguration($owner) { $controller = new TwitterPluginConfigurationController($owner, 'twitter'); return $controller->go(); }
public function testConfigOptionsMissingRequiredValues() { $_SERVER['SERVER_NAME'] = 'mytestthinkup'; $this->simulateLogin('*****@*****.**', true); $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail(Session::getLoggedInUser()); $controller = new TwitterPluginConfigurationController($owner, 'twitter'); $output = $controller->go(); // we have a text form element with proper data $this->assertPattern('/save options/', $output); // should have no submit option $this->assertPattern('/plugin_options_oauth_consumer_secret/', $output); // should have secret option $this->assertPattern('/plugin_options_archive_limit/', $output); // should have limit option $this->assertPattern('/plugin_options_oauth_consumer_key/', $output); // should have key option $this->assertPattern('/var is_admin = true/', $output); // is a js admin //app not configured $this->assertPattern('/var required_values_set = false/', $output); // is not configured //not SSL by default $this->assertNoPattern('/https:\\/\\/mytestthinkup/', $output); }
public function testLocalhostOAuthCallbackLink() { require THINKUP_WEBAPP_PATH . 'config.inc.php'; $_SERVER['SERVER_NAME'] = 'localhost'; $options_array = $this->buildPluginOptions(); $controller = new TwitterPluginConfigurationController(null, 'twitter'); $config = Config::getInstance(); //From logged in $this->simulateLogin('*****@*****.**'); $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail(Session::getLoggedInUser()); $controller = new TwitterPluginConfigurationController($owner, 'twitter'); $output = $controller->go(); $v_mgr = $controller->getViewManager(); //Check if a URL was passed $auth_link = $v_mgr->getTemplateDataItem('oauthorize_link'); $this->assertEqual("test_auth_URL_" . urlencode("http://127.0.0.1" . $THINKUP_CFG['site_root_path'] . "plugins/twitter/auth.php"), $auth_link); }
public function testOwnerProLevelWith9AccountsConnected() { // build options data $options_array = $this->buildPluginOptions(); //Add 9 connected Twitter accounts $i = 9; while ($i > 0) { $builders[] = FixtureBuilder::build('instances', array('id' => 1 + $i, 'network_user_id' => 14, 'network_username' => 'biz', 'is_public' => 1, 'network' => 'twitter')); $builders[] = FixtureBuilder::build('owner_instances', array('owner_id' => 1, 'instance_id' => 1 + $i)); $i--; } $config = Config::getInstance(); $config->setValue('thinkupllc_endpoint', 'http://example.com/user/'); $this->simulateLogin('*****@*****.**'); $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail(Session::getLoggedInUser()); //Set membership_level to Member $owner->membership_level = "Pro"; $controller = new TwitterPluginConfigurationController($owner, 'twitter'); $output = $controller->go(); $this->debug($output); // Assert that the Add User button isn't there $this->assertNoPattern('/Add a Twitter Account/', $output); // Assert that the message about the membership cap is there $this->assertPattern('/you’ve connected 10 of 10 accounts to ThinkUp./', $output); }
/** * Test config isa admin */ public function testConfigOptionsIsAdmin() { // build some options data $options_arry = $this->buildPluginOptions(); $this->simulateLogin('*****@*****.**', true); $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail(Session::getLoggedInUser()); $controller = new TwitterPluginConfigurationController($owner, 'twitter'); $output = $controller->go(); // we have a text form element with proper data $this->assertPattern('/save options/', $output); // should have no submit option $this->assertPattern('/plugin_options_oauth_consumer_secret/', $output); // should have secret option $this->assertPattern('/plugin_options_archive_limit/', $output); // should have limit option $this->assertPattern('/plugin_options_oauth_consumer_key/', $output); // should have key option $this->assertPattern('/var is_admin = true/', $output); // is a js admin //app not configured $controller = new FacebookPluginConfigurationController($owner, 'facebook'); $output = $controller->go(); $this->assertPattern('/var required_values_set = false/', $output); // is not configured }
/** * Test csrf token */ public function testForDeleteCSRFToken() { $_SERVER['SERVER_NAME'] = 'mytestthinkup'; // build some options data $options_arry = $this->buildPluginOptions(); $this->simulateLogin('*****@*****.**', true, true); $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail(Session::getLoggedInUser()); $controller = new TwitterPluginConfigurationController($owner, 'twitter'); $output = $controller->go(); $this->assertPattern('/name="csrf_token" value="' . self::CSRF_TOKEN . '"/', $output); }
public function testLoggedInAuthorizeExistingUserAllParams() { $this->simulateLogin('*****@*****.**'); $_GET['oauth_token'] = 'XXX'; $_GET['oauth_verifier'] = 'YYY'; SessionCache::put('oauth_request_token_secret', 'XXX'); $namespace = OptionDAO::PLUGIN_OPTIONS . '-1'; $builders[] = FixtureBuilder::build('options', array('namespace' => $namespace, 'option_name' => 'oauth_consumer_key', 'option_value' => 'XXX')); $builders[] = FixtureBuilder::build('options', array('namespace' => $namespace, 'option_name' => 'oauth_consumer_secret', 'option_value' => 'YYY')); $builders[] = FixtureBuilder::build('options', array('namespace' => $namespace, 'option_name' => 'num_twitter_errors', 'option_value' => '5')); $builders[] = FixtureBuilder::build('instances_twitter', array('last_reply_id' => '1')); $builders[] = FixtureBuilder::build('instances', array('id' => 2, 'network_user_id' => '930061', 'network_username' => 'ginatrapani', 'is_public' => 1)); //Add instance_owner $builders[] = FixtureBuilder::build('owner_instances', array('owner_id' => 1, 'instance_id' => 2)); $controller = new TwitterPluginConfigurationController(null, 'twitter'); $results = $controller->go(); $v_mgr = $controller->getViewManager(); $this->debug($results); $msgs = $v_mgr->getTemplateDataItem('success_msgs'); $this->assertEqual('ginatrapani on Twitter is already set up in ThinkUp! To add a different Twitter account, ' . 'log out of Twitter.com in your browser and authorize ThinkUp again.', $msgs['user_add']); $this->assertEqual('', $v_mgr->getTemplateDataItem('error_msg')); }
/** * Test user submission */ public function testAddTwitterUserNoTwitterAuth() { // build some options data $options_arry = $this->buildPluginOptions(); $this->simulateLogin('*****@*****.**'); $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail(Session::getLoggedInUser()); $controller = new TwitterPluginConfigurationController($owner, 'twitter'); $_GET["twitter_username"] = "******"; $_GET["p"] = "twitter"; $output = $controller->go(); $v_mgr = $controller->getViewManager(); $this->assertEqual($v_mgr->getTemplateDataItem('successmsg'), "Added anildash to ThinkUp."); $this->assertIsA($v_mgr->getTemplateDataItem('owner_instances'), 'array', 'Owner instances set'); $this->assertTrue($v_mgr->getTemplateDataItem('oauthorize_link') != '', 'Authorization link set'); }
/** * Test user submission */ public function testAddTwitterUserNoTwitterAuth() { $_SESSION['user'] = '******'; $owner_dao = DAOFactory::getDAO('OwnerDAO'); $owner = $owner_dao->getByEmail($_SESSION['user']); $controller = new TwitterPluginConfigurationController($owner); $_GET["twitter_username"] = "******"; $_GET["p"] = "twitter"; $output = $controller->go(); $v_mgr = $controller->getViewManager(); $this->assertEqual($v_mgr->getTemplateDataItem('successmsg'), "Added anildash to ThinkTank."); $this->assertIsA($v_mgr->getTemplateDataItem('owner_instances'), 'array', 'Owner instances set'); $this->assertTrue($v_mgr->getTemplateDataItem('oauthorize_link') != '', 'Authorization link set'); }