[MediaWiki-commits] [Gerrit] Store data for IRCLine tests - change (mediawiki...Flow)

2015-03-26 Thread Mattflaschen (Code Review)
Mattflaschen has submitted this change and it was merged.

Change subject: Store data for IRCLine tests
..


Store data for IRCLine tests

The ->newNextRevision calls in that dataprovider end up at
AbstractRevision::getContent, which will try to fetch the
revision's collection & title (in order to parse content
for the correct title)

It will try to locate these things in storage, but they
weren't there.

The reason we never had this was that content was already
stored in html, so this was bypassed.

Bug: T94025
Change-Id: I713c16fe5d2cfb482ac01acec5d922a7902ca61d
---
M tests/phpunit/HookTest.php
1 file changed, 43 insertions(+), 9 deletions(-)

Approvals:
  Mattflaschen: Verified; Looks good to me, approved



diff --git a/tests/phpunit/HookTest.php b/tests/phpunit/HookTest.php
index fb141ec..cfc2c91 100644
--- a/tests/phpunit/HookTest.php
+++ b/tests/phpunit/HookTest.php
@@ -4,9 +4,9 @@
 
 use Flow\Container;
 use Flow\Data\Listener\RecentChangesListener;
-use Flow\Model\AbstractRevision;
 use Flow\Model\Header;
 use Flow\Model\PostRevision;
+use Flow\Model\TopicListEntry;
 use Flow\Model\Workflow;
 use FlowHooks;
 use RecentChange;
@@ -17,6 +17,14 @@
  * @group Flow
  */
 class HookTest extends \MediaWikiTestCase {
+   protected $tablesUsed = array(
+   'flow_revision',
+   'flow_topic_list',
+   'flow_tree_node',
+   'flow_tree_revision',
+   'flow_workflow',
+   );
+
static public function onIRCLineURLProvider() {
$user = User::newFromName( '127.0.0.1', false );
$title = Title::newMainPage();
@@ -26,23 +34,49 @@
// pass closures into the test that create the objects within 
the correct context.
$newHeader = function() use( $user ) {
$workflow = Workflow::create( 'discussion', 
Title::newMainPage() );
-   return array(
+   $header = Header::create( $workflow, $user, 'header 
content', 'wikitext' );
+   $metadata = array(
'workflow' => $workflow,
-   'revision' => Header::create( $workflow, $user, 
'header content', 'wikitext' ),
+   'revision' => $header,
);
+
+   Container::get( 'storage' )->put( $workflow, $metadata 
);
+
+   return $metadata;
};
$freshTopic = function() use( $user ) {
-   $workflow = Workflow::create( 'topic', 
Title::newMainPage() );
-   return array(
-   'workflow' => $workflow,
-   'revision' => PostRevision::create( $workflow, 
$user, 'some content', 'wikitext' ),
+   $boardWorkflow = Workflow::create( 'discussion', 
Title::newMainPage() );
+   $topicWorkflow = Workflow::create( 'topic', 
$boardWorkflow->getArticleTitle() );
+   $topicList = TopicListEntry::create( $boardWorkflow, 
$topicWorkflow );
+   $topicTitle = PostRevision::create( $topicWorkflow, 
$user, 'some content', 'wikitext' );
+   $metadata = array(
+   'workflow' => $topicWorkflow,
+   'board-workflow' => $boardWorkflow,
+   'topic-title' => $topicTitle,
+
+   'revision' => $topicTitle,
);
+
+   $storage = Container::get( 'storage' );
+   $storage->put( $topicWorkflow, $metadata );
+   $storage->put( $boardWorkflow, $metadata );
+   $storage->put( $topicList, $metadata );
+   $storage->put( $topicTitle, $metadata );
+
+   return $metadata;
};
$replyToTopic = function() use( $freshTopic, $user ) {
$metadata = $freshTopic();
-   return array(
-   'revision' => $metadata['revision']->reply( 
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' ),
+   $firstPost = $metadata['topic-title']->reply( 
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' );
+   $metadata = array(
+   'first-post' => $firstPost,
+
+   'revision' => $firstPost,
) + $metadata;
+
+   Container::get( 'storage.post' )->put( $firstPost, 
$metadata );
+
+   return $metadata;
};
 
return array(

-- 
To view, visit https://gerrit.wikimedia.org/r/199895
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: 

[MediaWiki-commits] [Gerrit] Store data for IRCLine tests - change (mediawiki...Flow)

2015-03-26 Thread Matthias Mullie (Code Review)
Matthias Mullie has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/199895

Change subject: Store data for IRCLine tests
..

Store data for IRCLine tests

The ->newNextRevision calls in that dataprovider end up at
AbstractRevision::getContent, which will try to fetch the
revision's collection & title (in order to parse content
for the correct title)

It will try to locate these things in storage, but they
weren't there.

The reason we never had this was that content was already
stored in html, so this was bypassed.

Bug: T94025
Change-Id: I713c16fe5d2cfb482ac01acec5d922a7902ca61d
---
M tests/phpunit/HookTest.php
1 file changed, 43 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow 
refs/changes/95/199895/1

diff --git a/tests/phpunit/HookTest.php b/tests/phpunit/HookTest.php
index fb141ec..cfc2c91 100644
--- a/tests/phpunit/HookTest.php
+++ b/tests/phpunit/HookTest.php
@@ -4,9 +4,9 @@
 
 use Flow\Container;
 use Flow\Data\Listener\RecentChangesListener;
-use Flow\Model\AbstractRevision;
 use Flow\Model\Header;
 use Flow\Model\PostRevision;
+use Flow\Model\TopicListEntry;
 use Flow\Model\Workflow;
 use FlowHooks;
 use RecentChange;
@@ -17,6 +17,14 @@
  * @group Flow
  */
 class HookTest extends \MediaWikiTestCase {
+   protected $tablesUsed = array(
+   'flow_revision',
+   'flow_topic_list',
+   'flow_tree_node',
+   'flow_tree_revision',
+   'flow_workflow',
+   );
+
static public function onIRCLineURLProvider() {
$user = User::newFromName( '127.0.0.1', false );
$title = Title::newMainPage();
@@ -26,23 +34,49 @@
// pass closures into the test that create the objects within 
the correct context.
$newHeader = function() use( $user ) {
$workflow = Workflow::create( 'discussion', 
Title::newMainPage() );
-   return array(
+   $header = Header::create( $workflow, $user, 'header 
content', 'wikitext' );
+   $metadata = array(
'workflow' => $workflow,
-   'revision' => Header::create( $workflow, $user, 
'header content', 'wikitext' ),
+   'revision' => $header,
);
+
+   Container::get( 'storage' )->put( $workflow, $metadata 
);
+
+   return $metadata;
};
$freshTopic = function() use( $user ) {
-   $workflow = Workflow::create( 'topic', 
Title::newMainPage() );
-   return array(
-   'workflow' => $workflow,
-   'revision' => PostRevision::create( $workflow, 
$user, 'some content', 'wikitext' ),
+   $boardWorkflow = Workflow::create( 'discussion', 
Title::newMainPage() );
+   $topicWorkflow = Workflow::create( 'topic', 
$boardWorkflow->getArticleTitle() );
+   $topicList = TopicListEntry::create( $boardWorkflow, 
$topicWorkflow );
+   $topicTitle = PostRevision::create( $topicWorkflow, 
$user, 'some content', 'wikitext' );
+   $metadata = array(
+   'workflow' => $topicWorkflow,
+   'board-workflow' => $boardWorkflow,
+   'topic-title' => $topicTitle,
+
+   'revision' => $topicTitle,
);
+
+   $storage = Container::get( 'storage' );
+   $storage->put( $topicWorkflow, $metadata );
+   $storage->put( $boardWorkflow, $metadata );
+   $storage->put( $topicList, $metadata );
+   $storage->put( $topicTitle, $metadata );
+
+   return $metadata;
};
$replyToTopic = function() use( $freshTopic, $user ) {
$metadata = $freshTopic();
-   return array(
-   'revision' => $metadata['revision']->reply( 
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' ),
+   $firstPost = $metadata['topic-title']->reply( 
$metadata['workflow'], $user, 'ffuts dna ylper', 'wikitext' );
+   $metadata = array(
+   'first-post' => $firstPost,
+
+   'revision' => $firstPost,
) + $metadata;
+
+   Container::get( 'storage.post' )->put( $firstPost, 
$metadata );
+
+   return $metadata;
};
 
return array(

-- 
To view, visit https://gerrit.wikimedia.org/r/199895
To unsubscribe,