some reengineering to support proper testing
This commit is contained in:
@@ -5,9 +5,11 @@ use Dancer::Plugin;
|
||||
|
||||
use App::Netdisco::Util::Permission qw/check_acl_no check_acl_only/;
|
||||
use aliased 'App::Netdisco::Worker::Status';
|
||||
|
||||
use Scope::Guard 'guard';
|
||||
|
||||
Dancer::Factory::Hook->instance()->install_hooks("nd2_core_${_}")
|
||||
for qw/check early main user/;
|
||||
|
||||
register 'register_worker' => sub {
|
||||
my ($self, $first, $second) = plugin_args(@_);
|
||||
|
||||
@@ -76,7 +78,7 @@ register 'register_worker' => sub {
|
||||
};
|
||||
|
||||
# store the built worker as Worker.pm will build the dispatch order later on
|
||||
push @{ vars->{'workers'}
|
||||
push @{ vars->{'workers'}->{$workerconf->{action}}
|
||||
->{$workerconf->{phase}}
|
||||
->{$workerconf->{namespace}}
|
||||
->{$workerconf->{priority}} }, $worker;
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
package App::Netdisco::Worker::Plugin::Test;
|
||||
|
||||
use Dancer ':syntax';
|
||||
use App::Netdisco::Worker::Plugin;
|
||||
use aliased 'App::Netdisco::Worker::Status';
|
||||
|
||||
register_worker({ phase => 'check', driver => 'snmp' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (check) ran successfully.');
|
||||
});
|
||||
|
||||
register_worker({ phase => 'check', priority => 100 }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (check 100) ran successfully.');
|
||||
});
|
||||
|
||||
register_worker({ phase => 'check', priority => 120 }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (check 120) ran successfully.');
|
||||
});
|
||||
|
||||
register_worker({ phase => 'check', driver => 'eapi' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (check eapi) ran successfully.');
|
||||
});
|
||||
|
||||
true;
|
||||
@@ -1,37 +0,0 @@
|
||||
package App::Netdisco::Worker::Plugin::Test::Core;
|
||||
|
||||
use Dancer ':syntax';
|
||||
use App::Netdisco::Worker::Plugin;
|
||||
use aliased 'App::Netdisco::Worker::Status';
|
||||
|
||||
register_worker({ phase => 'early' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->error('Test (early) ran successfully.');
|
||||
});
|
||||
|
||||
register_worker({ phase => 'early' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (early) ran successfully.');
|
||||
});
|
||||
|
||||
register_worker({ phase => 'main' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (main) ran successfully (1).');
|
||||
});
|
||||
|
||||
register_worker({ phase => 'main' }, sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->done('Test (main) ran successfully (2).');
|
||||
});
|
||||
|
||||
register_worker(sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->noop('Test (user) ran successfully.');
|
||||
});
|
||||
|
||||
register_worker(sub {
|
||||
my ($job, $workerconf) = @_;
|
||||
return Status->error('Test (user) ran successfully.');
|
||||
});
|
||||
|
||||
true;
|
||||
Reference in New Issue
Block a user