kareila: (Default)
kareila ([personal profile] kareila) wrote in [site community profile] changelog2010-07-26 11:03 pm

[dw-free] fix t/esn-journalnewentry.t

[commit: http://hg.dwscoalition.org/dw-free/rev/8a6eb556de73]

http://bugs.dwscoalition.org/show_bug.cgi?id=2810

Fix another broken test.

Patch by [personal profile] kareila.

Files modified:
  • cgi-bin/LJ/Test.pm
  • t/esn-journalnewentry.t
--------------------------------------------------------------------------------
diff -r 744eea705836 -r 8a6eb556de73 cgi-bin/LJ/Test.pm
--- a/cgi-bin/LJ/Test.pm	Mon Jul 26 17:59:36 2010 -0500
+++ b/cgi-bin/LJ/Test.pm	Mon Jul 26 18:03:06 2010 -0500
@@ -341,8 +341,9 @@ sub t_post_fake_entry {
 
     die "Error posting: $res{errmsg}" unless $res{'success'} eq "OK";
     my $jitemid = $res{itemid} or die "No itemid";
+    my $ju = $opts{usejournal} ? LJ::load_user( $opts{usejournal} ) : $u;
 
-    return LJ::Entry->new($u, jitemid => $jitemid);
+    return LJ::Entry->new( $ju, jitemid => $jitemid );
 }
 
 package LJ::Entry;
diff -r 744eea705836 -r 8a6eb556de73 t/esn-journalnewentry.t
--- a/t/esn-journalnewentry.t	Mon Jul 26 17:59:36 2010 -0500
+++ b/t/esn-journalnewentry.t	Mon Jul 26 18:03:06 2010 -0500
@@ -5,13 +5,13 @@ use lib "$ENV{LJHOME}/cgi-bin";
 use lib "$ENV{LJHOME}/cgi-bin";
 require 'ljlib.pl';
 require 'ljprotocol.pl';
+require 'communitylib.pl';
 
 use LJ::Event;
-use LJ::Test qw(memcache_stress temp_user);
+use LJ::Test qw(memcache_stress temp_user temp_comm);
 use FindBin qw($Bin);
 
-# plan tests => ;
-plan skip_all => 'Fix this test!';
+plan tests => 48;
 
 # so this event firing isn't disabled:
 local $LJ::_T_FIRE_USERNEWENTRY = 1;
@@ -70,7 +70,7 @@ memcache_stress(sub {
         ok($subsc->delete, "Deleted subscription");
 
         ###### S2:
-        if (LJ::Event::JournalNewEntry->zero_journalid_subs_means eq "friends") {
+        if (LJ::Event::JournalNewEntry->zero_journalid_subs_means eq "trusted_or_watched") {
             # subscribe $u1 to all comments on all friends journals
             # subscribe $u1 to all posts on $u2
             my $subsc = $u1->subscribe(
@@ -84,7 +84,7 @@ memcache_stress(sub {
             test_post($u1, $u2, $ucomm);
 
             # remove $u2 from $u1's friends list, post in $u2 and make sure $u1 isn't notified
-            LJ::remove_friend($u1, $u2); # make u1 friend u2
+            $u1->remove_edge( $u2, watch => { nonotify => 1 }, trust => { nonotify => 1 } );
             $u2->t_post_fake_entry;
             my $email = $got_notified->($u1);
             ok(! $email, "u1 did not get notified because u2 is no longer his friend");
@@ -104,29 +104,38 @@ sub test_post {
     my ($u1, $u2, $ucomm) = @_;
     my $email;
 
-    LJ::set_rel($ucomm, $u2, "P");
+    my $do_post = sub {
+        my ( $u, $usejournal, %opts ) = @_;
+        if ( $usejournal ) {
+            return eval { $u->t_post_fake_comm_entry( $ucomm, %opts ) };
+        } else {
+            return eval { $u->t_post_fake_entry( %opts ) };
+        }
+    };
+
+    # u2 must have membership for usemask posting
+    die unless $u2->add_edge( $ucomm, member => {} );
     foreach my $usejournal (0..1) {
-        my %opts = $usejournal ? ( usejournal => $ucomm->{user} ) : ();
         my $suffix = $usejournal ? " in comm" : "";
 
         my $state = "(state: mem=$mem_round,s1s2=$s1s2,usejournal=$usejournal)";
 
         # post an entry in $u2
-        my $u2e1 = eval { $u2->t_post_fake_entry(%opts) };
+        my $u2e1 = $do_post->( $u2, $usejournal );
         ok($u2e1, "made a post$suffix");
         is($@, "", "no errors");
 
         # S1 failing case:
         # post an entry on $u1, where nobody's subscribed
-        my $u1e1 = eval { $u1->t_post_fake_entry(%opts) };
+        my $u1e1 = $do_post->( $u1, $usejournal );
         ok($u1e1, "did a post$suffix");
 
         # make sure we did not get notification
-        $email = $got_notified->($u1);
+        $email = $got_notified->($u2);
         ok(! $email, "got no email");
 
         # S1 failing case, posting to u2, due to security
-        my $u2e2f = eval { $u2->t_post_fake_entry(%opts, security => "friends") };
+        my $u2e2f = $do_post->( $u2, $usejournal, security => "friends" );
         ok($u2e2f, "did a post$suffix");
         is($u2e2f->security, "usemask", "is actually friends only");
 
@@ -145,7 +154,7 @@ sub test_esn_flow {
     # need a community for $u1 and $u2 to play in
     my $ucomm = temp_comm();
 
-    LJ::add_friend($u1, $u2); # make u1 friend u2
+    $u1->add_edge( $u2, watch => { nonotify => 1 }, trust => { nonotify => 1 } ); # make u1 friend u2
     $cv->($u1, $u2, $ucomm);
 }
 
--------------------------------------------------------------------------------

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org