Ejemplo n.º 1
1
 public function testControlWithNonExistentPluginActivated()
 {
     $data[] = FixtureBuilder::build('instances', array('network_user_id' => '10', 'network_username' => 'ev', 'is_public' => 1, 'network' => 'twitter'));
     $data[] = FixtureBuilder::build('posts', array('post_id' => '1001', 'author_user_id' => '10', 'author_username' => 'ev', 'post_text' => 'This is a test post', 'retweet_count_cache' => '5', 'network' => 'twitter', 'is_protected' => 0));
     $data[] = FixtureBuilder::build('users', array('user_id' => '10', 'username' => 'ev', 'is_protected' => '0', 'network' => 'twitter'));
     $data[] = FixtureBuilder::build('plugins', array('name' => "Nonexistent", 'folder_name' => 'idontexist', 'is_active' => 1));
     $_GET["t"] = '1001';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertPattern("/This is a test post/", $results);
     $this->assertNoPattern("/No plugin object defined for/", $results);
     //assert plugin has been deactivated
     $sql = "SELECT * FROM " . $this->table_prefix . "plugins WHERE folder_name='idontexist';";
     $stmt = PluginMySQLDAO::$PDO->query($sql);
     $data = $stmt->fetch(PDO::FETCH_ASSOC);
     $this->assertEqual(0, $data['is_active']);
 }
Ejemplo n.º 2
1
 /**
  * Test controller when logged in but a non-numeric post ID
  */
 public function testControlLoggedInWithNonNumericPostID()
 {
     $this->simulateLogin('*****@*****.**');
     $_GET["t"] = 'notapostID45';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertTrue(strpos($results, "Post not found") > 0, "no post");
 }
Ejemplo n.º 3
0
 /**
  * Test controller when logged in but a non-numeric post ID
  */
 function testControlLoggedInWithNonNumericPostID()
 {
     $_SESSION['user'] = '******';
     $_REQUEST["t"] = 'notapostID45';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertTrue(strpos($results, "Post not found") > 0, "no post");
 }
Ejemplo n.º 4
0
<?php

chdir("..");
require_once 'init.php';
require_once 'controller/class.PostController.php';
$controller = new PostController();
echo $controller->go();
Ejemplo n.º 5
0
 public function testLoggedInPostWithViewsSpecified()
 {
     $builders = $this->buildPublicPostWithMixedAccessResponses();
     $_GET["t"] = '1001';
     $_GET['n'] = 'twitter';
     //Log in and see private replies and retweets
     $this->simulateLogin('*****@*****.**');
     //default menu item
     $_GET["v"] = 'default';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertPattern("/This is a test post/", $results);
     $this->assertPattern("/This is a public reply to 1001/", $results);
     $this->assertPattern("/This is a private reply to 1001/", $results);
     //retweets menu item
     $this->simulateLogin('*****@*****.**');
     $_GET["v"] = 'fwds';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertPattern("/This is a test post/", $results);
     //shouldn't see replies, just retweets
     $this->assertNoPattern("/This is a public reply to 1001/", $results);
     $this->assertNoPattern("/This is a private reply to 1001/", $results);
     $this->assertPattern("/This is a public retweet of 1001/", $results);
     //logged in, should see private responses
     $this->assertPattern("/This is a private retweet of 1001/", $results);
     //non-existent menu item
     $_GET["v"] = 'idontexist';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertPattern("/This is a test post/", $results);
 }
Ejemplo n.º 6
0
 public function testPluginMenuGeneration()
 {
     $instance_builder = FixtureBuilder::build('instances', array('network_user_id' => '10', 'network_username' => 'ev', 'is_public' => 1, 'network' => 'facebook'));
     $post_builder = FixtureBuilder::build('posts', array('id' => 1, 'post_id' => '1001', 'author_user_id' => '10', 'author_username' => 'ev', 'post_text' => 'This is a test post', 'retweet_count_cache' => '5', 'network' => 'facebook', 'is_protected' => 0, 'location' => 'Clarence, NY 14031, USA'));
     $user_builder = FixtureBuilder::build('users', array('user_id' => '10', 'username' => 'ev', 'is_protected' => '0', 'network' => 'facebook'));
     $data[] = FixtureBuilder::build('plugins', array('name' => "Facebook", 'folder_name' => 'facebook', 'is_active' => 1));
     $data[] = FixtureBuilder::build('plugins', array('name' => "YouTube", 'folder_name' => 'youtube', 'is_active' => 1));
     // Disable debug (because then the controller sets reporting to E_STRICT) and enable warnings
     $this->config->setValue('debug', 0);
     $old_level = error_reporting();
     error_reporting(E_WARNING);
     $_GET['t'] = '1001';
     $_GET['n'] = 'facebook';
     $_GET['v'] = 'likes';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertNoPattern("/PHP error/", $results);
     $this->assertPattern("/n=facebook.*Replies/", $results);
     error_reporting($old_level);
 }
Ejemplo n.º 7
0
 public function testCleanXSS()
 {
     $with_xss = true;
     $builders = $this->buildPublicPostWithMixedAccessResponses($with_xss);
     $_GET["t"] = '1001';
     $_GET['n'] = 'twitter';
     //Log in and see private replies and retweets
     $this->simulateLogin('*****@*****.**');
     //default menu item
     $_GET["v"] = 'default';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertPattern("/This is a test post&#60;script&#62;alert\\(&#39;wa&#39;\\);&#60;\\/script&#62;/", $results);
 }
Ejemplo n.º 8
0
 public function testPublicPostWithMixedAccessRepliesLoggedIn()
 {
     $this->simulateLogin('*****@*****.**');
     $builders = $this->buildPublicPostWithMixedAccessResponses();
     $_GET["t"] = '1001';
     $controller = new PostController(true);
     $results = $controller->go();
     $this->assertPattern("/This is a test post/", $results);
     $this->assertPattern("/This is a public reply to 1001/", $results);
     $this->assertPattern("/This is a private reply to 1001/", $results);
     $this->assertPattern("/This is a private retweet of 1001/", $results);
 }