Show
Ignore:
Timestamp:
04/16/08 15:36:30 (20 months ago)
Author:
mpaschal
Message:

Land the new implementation of metadata based on narrow tables
BugzID: 68749

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/release-35/t/lib/MT/Test.pm

    r1652 r1927  
    66use File::Spec; 
    77use MT; 
     8 
     9use Test::More; 
    810 
    911BEGIN { 
     
    3436    my $pkg = shift; 
    3537    foreach my $opt (@_) { 
    36         $pkg->init_db() if $opt eq ':db'; 
    37         $pkg->init_test_db() if $opt eq ':testdb'; 
    38         $pkg->sample_data() if $opt eq ':data'; 
     38        if ($opt eq ':db') { 
     39            diag "Initializing database"; 
     40            $pkg->init_db(); 
     41        } 
     42        elsif ($opt eq ':testdb') { 
     43            $pkg->init_test_db(); 
     44        } 
     45        elsif ($opt eq ':data') { 
     46            diag "Initializing sample data"; 
     47            $pkg->sample_data(); 
     48        } 
    3949    } 
    4050} 
     
    7484 
    7585    my $types = MT->registry('object_types'); 
    76     my @classes = map { $types->{$_} } grep { $_ !~ /\./ } keys %$types; 
     86    $types->{$_} = MT->model($_) for 
     87        grep { MT->model($_) } 
     88        map  { $_ . ':meta' } 
     89        grep { MT->model($_)->meta_pkg } 
     90        sort keys %$types; 
     91    my @classes = map { $types->{$_} } grep { $_ !~ /\./ } sort keys %$types; 
    7792    foreach my $class (@classes) { 
    7893        if (ref($class) eq 'ARRAY') { 
    7994            next; #TODO for now - it won't hurt when we do driver-tests. 
    8095        } 
    81         else { 
    82             eval 'require '.$class or die $@; 
     96        elsif (!defined *{ $class . '::__properties' }) { 
     97            eval '# line ' . __LINE__ . ' ' . __FILE__ . "\n" . 'require '.$class or die $@; 
    8398        } 
    8499    } 
     
    109124    ); 
    110125    eval { 
     126        # line __LINE__ __FILE__ 
    111127        MT::Entry->remove; 
    112128        MT::Comment->remove; 
     
    151167    $blog->commenter_authenticators('enabled_TypeKey'); 
    152168    $blog->save() or die "Couldn't save blog 1: ". $blog->errstr; 
     169    diag "Saved blog"; 
    153170 
    154171    require MT::Entry; 
     
    169186    $chuckd->save() 
    170187        or die "Couldn't save author record 2: " . $chuckd->errstr; 
     188    diag "Saved user Chuck D"; 
    171189 
    172190    my $bobd = MT::Author->new(); 
     
    181199    $bobd->id(3); 
    182200    $bobd->save() or die "Couldn't save author record 3: " . $bobd->errstr; 
     201    diag "Saved user Bob D"; 
    183202 
    184203    my $johnd = MT::Author->new(); 
     
    193212    $johnd->id(4); 
    194213    $johnd->save() or die "Couldn't save author record 4: " . $johnd->errstr; 
     214    diag "Saved user John Doe"; 
    195215 
    196216    my $hiro = MT::Author->new(); 
     
    206226    $hiro->status(2); 
    207227    $hiro->save() or die "Couldn't save author record 5: " . $hiro->errstr; 
     228    diag "Saved user Hiro"; 
     229 
     230    require MT::Role; 
     231    my ($admin_role, $author_role) = map { MT::Role->load({ name => $_ }) } 
     232        ('Blog Administrator', 'Author'); 
    208233 
    209234    require MT::Association; 
     
    211236    $assoc->author_id($chuckd->id); 
    212237    $assoc->blog_id(1); 
    213     $assoc->role_id(3); 
     238    $assoc->role_id($admin_role->id); 
    214239    $assoc->type(1); 
    215240    $assoc->save(); 
     
    218243    $assoc->author_id($bobd->id); 
    219244    $assoc->blog_id(1); 
    220     $assoc->role_id(4); 
     245    $assoc->role_id($author_role->id); 
    221246    $assoc->type(1); 
    222247    $assoc->save(); 
     
    225250    $assoc->author_id($hiro->id); 
    226251    $assoc->blog_id(1); 
    227     $assoc->role_id(3); 
     252    $assoc->role_id($admin_role->id); 
    228253    $assoc->type(1); 
    229254    $assoc->save(); 
     
    255280        $entry->tags('rain', 'grandpa', 'strolling'); 
    256281        $entry->save() or die "Couldn't save entry record 1: ".$entry->errstr; 
     282        diag "Saved entry #1"; 
    257283    } 
    258284 
     
    275301        $entry->id(2); 
    276302        $entry->save() or die "Couldn't save entry record 2: ".$entry->errstr; 
     303        diag "Saved entry #2"; 
    277304    } 
    278305 
     
    297324        $entry->tags('anemones'); 
    298325        $entry->save() or die "Couldn't save entry record 3: ".$entry->errstr; 
     326        diag "Saved entry #3"; 
    299327    } 
    300328 
     
    327355        $ping->visible(1); 
    328356        $ping->save or die "Couldn't save TBPing record 1: " . $ping->errstr; 
     357        diag "Saved a trackback ping"; 
    329358    } 
    330359 
     
    355384        $cat->id(1); 
    356385        $cat->save or die "Couldn't save category record 1: ". $cat->errstr; 
     386        diag "Saved category foo"; 
    357387    } 
    358388 
     
    367397        $cat->id(2); 
    368398        $cat->save or die "Couldn't save category record 2: ". $cat->errstr; 
     399        diag "Saved category bar"; 
    369400    } 
    370401 
     
    379410        $tb->id(2); 
    380411        $tb->save or die "Couldn't save Trackback record 2: " . $tb->errstr;; 
     412        diag "Saved category bar's trackback target"; 
    381413    } 
    382414 
     
    391423        $cat->id(3); 
    392424        $cat->save or die "Couldn't save category record 3: ". $cat->errstr; 
     425        diag "Saved subcategory subfoo"; 
    393426    } 
    394427 
     
    427460                $place->save 
    428461                    or die "Couldn't save placement record: ".$place->errstr; 
     462                diag "Placed entry Verse 3 in category foo"; 
    429463            } 
    430464            if ($i == 4) { 
     
    436470                $place->save 
    437471                    or die "Couldn't save placement record: ".$place->errstr; 
     472                diag "Placed entry Verse 4 in category subfoo"; 
    438473            } 
    439474        } 
     
    458493        $cmt->id(1); 
    459494        $cmt->save() or die "Couldn't save comment record 1: ".$cmt->errstr; 
     495        diag "Saved comment #1"; 
    460496 
    461497        $cmt->id(11); 
     
    465501        $cmt->parent_id(1); 
    466502        $cmt->save() or die "Couldn't save comment record 11: ".$cmt->errstr; 
     503        diag "Saved child comment #11"; 
    467504 
    468505        $cmt->id(12); 
     
    472509        $cmt->parent_id(11); 
    473510        $cmt->save() or die "Couldn't save comment record 12: ".$cmt->errstr; 
     511        diag "Saved child comment #12"; 
    474512    } 
    475513    # entry id 5 - 1 comment, commenting is off (closed) 
     
    587625    $tmpl->type('custom'); 
    588626    $tmpl->save or die "Couldn't save template record 1: ".$tmpl->errstr; 
     627    diag "Saved blog-name template"; 
    589628 
    590629    ### Asset 
     
    600639    $asset->file_ext('jpg'); 
    601640    $asset->image_width(640); 
     641    diag "Set image asset's width metadata field"; 
    602642    $asset->image_height(480); 
    603643    $asset->mime_type('image/jpeg'); 
     
    606646    $asset->created_by(1); 
    607647    $asset->tags('alpha', 'beta', 'gamma'); 
    608     $asset->save; 
     648    diag "Tagged image asset"; 
     649    $asset->save or die "Couldn't save asset record 1: " . $asset->errstr; 
     650    diag "Saved image asset"; 
    609651 
    610652    $asset->set_score('unit test', $bobd, 5, 1); 
     
    624666    $asset->created_on('19780131074500'); 
    625667    $asset->tags('beta'); 
    626     $asset->save; 
     668    $asset->save or die "Couldn't save file asset record: " . $asset->errstr; 
     669    diag "Saved file asset"; 
    627670 
    628671    $asset->set_score('unit test', $chuckd, 2, 1); 
     
    642685    $e4->set_score('unit test', $chuckd, 2, 1); 
    643686    $e4->set_score('unit test', $johnd, 3, 1); 
     687    diag "Saved scores for entry #4"; 
    644688 
    645689    ## Page 
     
    672716    $folder->id(20); 
    673717    $folder->save or die "Could'n sae folder record 20:" . $folder->errstr; 
     718    diag "Saved folder #20"; 
    674719 
    675720    $folder = MT::Folder->new();