/**
  * 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');
 }
 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));
     $owner = new Owner(array('id' => 1, 'email' => '*****@*****.**'));
     $controller = new TwitterPluginConfigurationController($owner, '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'));
 }
 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 Settings/', $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);
     //assert site URL is set so user can configure the app
     $v_mgr = $controller->getViewManager();
     $site_url = $v_mgr->getTemplateDataItem('thinkup_site_url');
     $this->assertEqual($site_url, Utils::getApplicationURL());
     $twitter_app_name = $v_mgr->getTemplateDataItem('twitter_app_name');
     $this->assertEqual($twitter_app_name, "ThinkUp " . $_SERVER['SERVER_NAME']);
 }
 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);
 }
 /**
  * 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');
 }