/[transports]/trunk/lib/Transports/Bootstrap.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/lib/Transports/Bootstrap.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 51 - (hide annotations)
Mon Jun 5 14:06:58 2006 UTC (18 years ago) by dpavlin
File size: 2614 byte(s)
added landscapes (collection of source and destination clients) to the mix
instead of specifing users for sources (and destinations which wasn't
implemented anyway)
1 dpavlin 9 use warnings;
2     use strict;
3    
4     package Transports::Bootstrap;
5     use base qw(Jifty::Bootstrap);
6    
7 dpavlin 10 =head1 Bootstrap application data
8    
9     Create initial data
10    
11     =cut
12    
13 dpavlin 9 sub run {
14     my $self = shift;
15    
16 dpavlin 27 my $system_user = Transports::CurrentUser->superuser( _bootstrap => 1 );
17 dpavlin 10
18 dpavlin 51 my $u_admin = Transports::Model::User->new(current_user => $system_user);
19     $u_admin->create(
20 dpavlin 9 name => 'System administrator',
21 dpavlin 10 email => 'admin@example.com',
22 dpavlin 9 password => 'admin',
23 dpavlin 27 admin => 1,
24 dpavlin 9 );
25 dpavlin 10
26 dpavlin 51 my $u_import = Transports::Model::User->new(current_user => $system_user);
27     $u_import->create(
28 dpavlin 46 name => 'Import operator',
29     email => 'import@example.com',
30     password => 'import',
31     can_import => 1,
32     );
33    
34 dpavlin 51 my $u;
35     foreach my $i ( 0 ... 2 ) {
36     $u->{$i} = Transports::Model::User->new(current_user => $system_user);
37     my $nr = $i + 1;
38     $u->{$i}->create(
39     name => "Normal User $nr",
40     email => "user${nr}\@example.com",
41     password => 'user',
42     );
43     }
44    
45     my $l;
46     foreach my $i ( 0 ... 2 ) {
47     $l->{$i} = Transports::Model::Landscape->new(current_user => $system_user);
48     $l->{$i}->create(
49     name => 'Landscape ' . ( $i + 1 ),
50     );
51    
52     Transports::Model::UserOnLandscape->new(current_user => $system_user)->create(
53     user_on => $u->{$i},
54     landscape => $l->{$i},
55     );
56    
57     }
58    
59 dpavlin 27 my $s;
60 dpavlin 9
61 dpavlin 27 foreach my $i ( 0 ... 5 ) {
62     $s->{$i} = Transports::Model::Source->new(current_user => $system_user);
63 dpavlin 51
64 dpavlin 27 $s->{$i}->create(
65     name => 'SRC/' . ($i + 1),
66 dpavlin 51 landscape => $l->{ ( $i % 3 ) },
67 dpavlin 27 );
68 dpavlin 28
69 dpavlin 27 }
70    
71     my $d;
72    
73     foreach my $i ( 0 ... 2 ) {
74     $d->{$i} = Transports::Model::Destination->new(current_user => $system_user);
75     $d->{$i}->create(
76     name => 'DEST/' . ($i + 1),
77 dpavlin 51 landscape => $l->{ ( $i % 3 ) },
78 dpavlin 27 );
79     }
80    
81 dpavlin 45 my $tc1 = Transports::Model::TransportClass->new(current_user => $system_user);
82     $tc1->create(
83     name => 'Default',
84     );
85    
86     my $tc2 = Transports::Model::TransportClass->new(current_user => $system_user);
87     $tc2->create(
88     name => 'Upgrade',
89     );
90    
91 dpavlin 46 my @rc;
92     foreach my $s (
93     '0: Transport (export and import test) was successful',
94     '4: Warning messages were generated',
95     '8: Error messages were generated',
96     '12: Fatal error has occured',
97     ) {
98     my $rc = Transports::Model::ReturnCode->new(current_user => $system_user);
99     $rc->create( name => $s );
100     push @rc, $rc;
101     }
102    
103 dpavlin 27 foreach my $i ( 1 ... 7 ) {
104     my $t = Transports::Model::Transport->new(current_user => $system_user);
105 dpavlin 46 my $rc = shift @rc;
106 dpavlin 27 $t->create(
107 dpavlin 45 class => $i % 4 == 0 ? $tc2 : $tc1,
108 dpavlin 27 source => $s->{ $i % 5 },
109     destination => $d->{ $i % 2 },
110     request_nr => $i,
111     client_dependent => $i % 3 == 0 ? 0 : 1,
112 dpavlin 51 created_by => $u->{ $i % 3 },
113 dpavlin 46 return_code => $rc,
114 dpavlin 27 );
115     }
116    
117 dpavlin 9 }
118    
119    
120     1;

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26