1unless ($_ = $ENV{NET_REDMINE_TEST}) {
2    plan skip_all => "Need NET_REDMINE_TEST env var set to '<project url> <username> <password>'";
3    exit;
4}
5
6###
7### XXX: This piece of code is attempt to reset a local redmine rails
8### instance. But FAIL to work. It's left here for reference, maybe
9### it'll be made working in the future.
10###
11# unless ($_ = $ENV{NET_REDMINE_RAILS_ROOT}) {
12#     plan skip_all => "Need NET_REDMINE_RAILS_ROOT env var";
13#     exit;
14# }
15# {
16#     use Cwd qw(getcwd);
17#     my $cwd = getcwd;
18#     chdir($ENV{NET_REDMINE_RAILS_ROOT});
19#     $ENV{RAILS_ENV}="production";
20#     # system "rake db:drop";
21#     system "rm db/production.db";
22#     system "rake db:create";
23#     system "rake config/initializers/session_store.rb";
24#     system "rake db:migrate";
25#     system "echo en | rake redmine:load_default_data";
26#     system qq{script/runner -E "Project.create!(:name => 'test', :identifier => 'test', :is_public => false).set_parent!(nil)"};
27#     chdir($cwd);
28# }
29
30sub net_redmine_test {
31    my ($server, $user, $password) = split / /,  $ENV{NET_REDMINE_TEST};
32
33    unless ($server && $user && $password) {
34        plan skip_all => "No server and/or login credentials.";
35        exit;
36    }
37    return ($server, $user, $password);
38}
39
40sub new_redmine {
41    my ($server, $user, $password) = net_redmine_test();
42    return Net::Redmine->new(url => $server,user => $user, password => $password);
43}
44
45sub new_tickets {
46    my ($r, $n) = @_;
47    $n ||= 1;
48
49    my (undef, $filename, $line) = caller;
50
51    return map {
52        $r->create(
53            ticket => {
54                subject => "$filename $line " . time,
55                description => "$filename $line " . time
56            }
57        );
58    } (1..$n);
59}
60
611;
62