Added Survey www_runTests to run and aggregate all tests
Added more i18n
This commit is contained in:
parent
302e217e7a
commit
beb9b77440
3 changed files with 158 additions and 116 deletions
Binary file not shown.
|
|
@ -195,8 +195,8 @@ sub definition {
|
||||||
testResultsTemplateId => {
|
testResultsTemplateId => {
|
||||||
tab => 'display',
|
tab => 'display',
|
||||||
fieldType => 'template',
|
fieldType => 'template',
|
||||||
label => $i18n->get('Test Results Template'),
|
label => $i18n->get('test results template'),
|
||||||
hoverHelp => $i18n->get('Test Results Template help'),
|
hoverHelp => $i18n->get('test results template help'),
|
||||||
defaultValue => 'S3zpVitAmhy58CAioH359Q',
|
defaultValue => 'S3zpVitAmhy58CAioH359Q',
|
||||||
namespace => 'Survey/TestResults',
|
namespace => 'Survey/TestResults',
|
||||||
},
|
},
|
||||||
|
|
@ -667,6 +667,7 @@ sub getAdminConsole {
|
||||||
$ac->addSubmenuItem($self->session->url->page("func=editSurvey"), "$edit Survey");
|
$ac->addSubmenuItem($self->session->url->page("func=editSurvey"), "$edit Survey");
|
||||||
$ac->addSubmenuItem($self->session->url->page("func=graph"), $i18n->get('survey visualization'));
|
$ac->addSubmenuItem($self->session->url->page("func=graph"), $i18n->get('survey visualization'));
|
||||||
$ac->addSubmenuItem($self->session->url->page("func=editTestSuite"), $i18n->get("test suite"));
|
$ac->addSubmenuItem($self->session->url->page("func=editTestSuite"), $i18n->get("test suite"));
|
||||||
|
$ac->addSubmenuItem($self->session->url->page("func=runTests"), $i18n->get("run all tests"));
|
||||||
return $ac;
|
return $ac;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2491,45 +2492,6 @@ sub www_editTestSuite {
|
||||||
return $ac->render($out, 'Survey');
|
return $ac->render($out, 'Survey');
|
||||||
}
|
}
|
||||||
|
|
||||||
##-------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
#=head2 www_editTestSuiteSave ( )
|
|
||||||
#
|
|
||||||
#Saves the results of www_editTestSuite()
|
|
||||||
#
|
|
||||||
#=cut
|
|
||||||
#
|
|
||||||
#sub www_editTestSuiteSave {
|
|
||||||
# my $self = shift;
|
|
||||||
# my $session = $self->session;
|
|
||||||
#
|
|
||||||
# return $self->session->privilege->insufficient()
|
|
||||||
# unless $self->session->user->isInGroup( $self->get('groupToEditSurvey') );
|
|
||||||
# my $session = shift;
|
|
||||||
# return $session->privilege->insufficient() unless canView($session);
|
|
||||||
# my $i18n = WebGUI::International->new($session, 'Survey');
|
|
||||||
# return www_editTestSuite($session, $i18n->get('already active'))
|
|
||||||
# if analysisActive($session);
|
|
||||||
# my $workflow = WebGUI::Workflow->new($session, 'Survey000001');
|
|
||||||
# return www_editTestSuite($session, $i18n->get('workflow deleted')) unless defined $workflow;
|
|
||||||
# my $delta = $session->form->process('pauseInterval','integer');
|
|
||||||
# my $activities = $workflow->getActivities();
|
|
||||||
# ##Note, they're in order, and the order is known.
|
|
||||||
# $activities->[0]->set('deltaInterval', $delta);
|
|
||||||
# $activities->[1]->set('userId', $session->user->userId);
|
|
||||||
# my $instance = WebGUI::Workflow::Instance->create($session, {
|
|
||||||
# workflowId => $workflow->getId,
|
|
||||||
# priority => 1,
|
|
||||||
# });
|
|
||||||
# if (!defined $instance) {
|
|
||||||
# return www_editTestSuite($session, $i18n->get('currently running')) if $session->stow->get('singletonWorkflowClash');
|
|
||||||
# return www_editTestSuite($session, $i18n->get('error creating workflow'));
|
|
||||||
# }
|
|
||||||
# $instance->start('skipRealtime');
|
|
||||||
# $session->db->write('update surveyStatus set startDate=NOW(), userId=?, endDate=?, running=1', [$session->user->userId, '']);
|
|
||||||
# return www_editTestSuite($session);
|
|
||||||
#}
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
@ -2670,6 +2632,25 @@ sub www_runTest {
|
||||||
|
|
||||||
my $tap = $result->{tap} or return $self->www_editTestSuite('Unable to determine test result');
|
my $tap = $result->{tap} or return $self->www_editTestSuite('Unable to determine test result');
|
||||||
|
|
||||||
|
my $parsed = $self->parseTap($tap) or return $self->www_editTestSuite('Unable to parse test output');
|
||||||
|
|
||||||
|
my $ac = $self->getAdminConsole;
|
||||||
|
my $edit = WebGUI::International->new($self->session, "WebGUI")->get(575);
|
||||||
|
$ac->addSubmenuItem($self->session->url->page("func=editTest;testId=$id"), "$edit Test");
|
||||||
|
$ac->addSubmenuItem($self->session->url->page("func=runTests"), "Run All Tests");
|
||||||
|
return $ac->render($parsed->{templateText}, 'Test Results');
|
||||||
|
}
|
||||||
|
|
||||||
|
=head2 parseTap
|
||||||
|
|
||||||
|
Parses TAP and returns an object containing the TAP::Parser, the template var (containing
|
||||||
|
all interesting TAP::Parser and TAP::Parser::Result properties) and the templated text
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub parseTap {
|
||||||
|
my ($self, $tap) = @_;
|
||||||
|
|
||||||
use TAP::Parser;
|
use TAP::Parser;
|
||||||
my $parser = TAP::Parser->new( { tap => $tap } );
|
my $parser = TAP::Parser->new( { tap => $tap } );
|
||||||
|
|
||||||
|
|
@ -2715,83 +2696,84 @@ sub www_runTest {
|
||||||
)) {
|
)) {
|
||||||
$var->{$key} = $parser->$key;
|
$var->{$key} = $parser->$key;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $ac = $self->getAdminConsole;
|
|
||||||
my $out = $self->processTemplate($var, $self->get('testResultsTemplateId') || 'S3zpVitAmhy58CAioH359Q');
|
my $out = $self->processTemplate($var, $self->get('testResultsTemplateId') || 'S3zpVitAmhy58CAioH359Q');
|
||||||
my $edit = WebGUI::International->new($self->session, "WebGUI")->get(575);
|
|
||||||
$ac->addSubmenuItem($self->session->url->page("func=editTest;testId=$id"), "$edit Test");
|
return {
|
||||||
return $ac->render($out, 'Test Results');
|
templateText => $out,
|
||||||
|
templateVar => $var,
|
||||||
|
parser => $parser,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
##-------------------------------------------------------------------
|
|
||||||
#
|
#-------------------------------------------------------------------
|
||||||
#=head2 www_settings ( )
|
|
||||||
#
|
=head2 www_runTests ( )
|
||||||
#Configure Test Suite settings.
|
|
||||||
#
|
Runs all tests
|
||||||
#=cut
|
|
||||||
#
|
=cut
|
||||||
#sub www_settings {
|
|
||||||
# my $self = shift;
|
sub www_runTests {
|
||||||
# my $error = shift;
|
my $self = shift;
|
||||||
# my $session = $self->session;
|
my $session = $self->session;
|
||||||
#
|
my $i18n = WebGUI::International->new($self->session, "Asset_Survey");
|
||||||
# return $self->session->privilege->insufficient()
|
return $self->session->privilege->insufficient()
|
||||||
# unless $self->session->user->isInGroup( $self->get('groupToEditSurvey') );
|
unless $self->session->user->isInGroup( $self->get('groupToEditSurvey') );
|
||||||
#
|
|
||||||
# if ($error) {
|
my $all = WebGUI::Asset::Wobject::Survey::Test->getAllIterator($session, { sequenceKeyValue => $self->getId } );
|
||||||
# $error = qq|<div class="error">$error</div>\n|;
|
|
||||||
# }
|
# Expose TAP::Parser::Aggregate info as template variables
|
||||||
# my $i18n = WebGUI::International->new($session, "Asset_Survey");
|
my $var = {
|
||||||
# my $f = WebGUI::HTMLForm->new($session);
|
aggregate => 1,
|
||||||
# $f->hidden(
|
results => [],
|
||||||
# name=>'func',
|
};
|
||||||
# value=>'settingsSave'
|
|
||||||
# );
|
my @parsers;
|
||||||
# $f->integer(
|
use TAP::Parser::Aggregator;
|
||||||
# name => 'pauseInterval',
|
my $aggregate = TAP::Parser::Aggregator->new;
|
||||||
# value => $session->form->get('pauseInterval') || $session->setting->get('surveyInterval') || 300,
|
$aggregate->start;
|
||||||
# label => $i18n->get('default pause interval'),
|
|
||||||
# hoverHelp => $i18n->get('default pause interval help'),
|
while (my $test = $all->()) {
|
||||||
# );
|
my $result = $test->run or return $self->www_editTestSuite('Unable to run test: ' . $test->getId);
|
||||||
# $f->yesNo(
|
my $tap = $result->{tap} or return $self->www_editTestSuite('Unable to determine test result: ' . $test->getId);
|
||||||
# name => 'deleteDelta',
|
my $name = $test->get('name') || "Unnamed";
|
||||||
# value => $session->form->get('deleteDelta') || $session->setting->get('surveyDeleteDelta') || 0,
|
my $parsed = $self->parseTap($tap);
|
||||||
# label => $i18n->get('Delete Delta Table?'),
|
push @parsers, { $name => $parsed->{parser} };
|
||||||
# hoverHelp => $i18n->get('Delete Delta Table? help'),
|
push @{$var->{results}}, {
|
||||||
# );
|
%{$parsed->{templateVar}},
|
||||||
# $f->yesNo(
|
name => $name,
|
||||||
# name => 'enabled',
|
testId => $test->getId,
|
||||||
# value => $session->form->get('enabled') || $session->setting->get('surveyEnabled') || 0,
|
text => $parsed->{templateText},
|
||||||
# label => $i18n->get('Enabled?'),
|
};
|
||||||
# hoverHelp => $i18n->get('Enabled? help'),
|
}
|
||||||
# );
|
$aggregate->stop;
|
||||||
# $f->submit();
|
|
||||||
# my $ac = WebGUI::AdminConsole->new($session,'survey');
|
$aggregate->add( %$_ ) for @parsers;
|
||||||
# $ac->addSubmenuItem($session->url->page('surveyfunc=editTestSuite'), $i18n->get('Test Suite'));
|
|
||||||
# return $ac->render($error.$f->print, 'Test Suite Settings');
|
# add summary results
|
||||||
#}
|
for my $key (qw(
|
||||||
#
|
elapsed_timestr
|
||||||
##-------------------------------------------------------------------
|
all_passed
|
||||||
#
|
get_status
|
||||||
#=head2 www_settingsSave ( session )
|
failed
|
||||||
#
|
parse_errors
|
||||||
#Save Test Suite settings.
|
passed
|
||||||
#
|
skipped
|
||||||
#=cut
|
todo
|
||||||
#
|
todo_passed
|
||||||
#sub www_settingsSave {
|
wait
|
||||||
# my $self = shift;
|
exit
|
||||||
# my $session = $self->session;
|
total
|
||||||
#
|
has_problems
|
||||||
# return $self->session->privilege->insufficient()
|
has_errors
|
||||||
# my $session = shift;
|
)) {
|
||||||
# return $session->privilege->insufficient() unless canView($session);
|
$var->{$key} = $aggregate->$key;
|
||||||
# my $form = $session->form;
|
}
|
||||||
# $session->setting->set('surveyInterval', $form->process('pauseInterval', 'integer'));
|
my $out = $self->processTemplate($var, $self->get('testResultsTemplateId') || 'S3zpVitAmhy58CAioH359Q');
|
||||||
# $session->setting->set('surveyDeleteDelta', $form->process('deleteDelta', 'yesNo' ));
|
|
||||||
# $session->setting->set('surveyEnabled', $form->process('enabled', 'yesNo' ));
|
my $ac = $self->getAdminConsole;
|
||||||
# return www_settings($session);
|
return $ac->render($out, $i18n->get('test results'));
|
||||||
#}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
||||||
|
|
@ -1559,11 +1559,21 @@ section/answer.|,
|
||||||
lastUpdated => 0,
|
lastUpdated => 0,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'run test' => {
|
||||||
|
message => q{Run Test},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
'test name' => {
|
'test name' => {
|
||||||
message => q{Test Name},
|
message => q{Test Name},
|
||||||
lastUpdated => 0,
|
lastUpdated => 0,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'tests run' => {
|
||||||
|
message => q{Tests Run},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
'test name help' => {
|
'test name help' => {
|
||||||
message => q{A descriptive name for this test},
|
message => q{A descriptive name for this test},
|
||||||
lastUpdated => 0,
|
lastUpdated => 0,
|
||||||
|
|
@ -1579,6 +1589,56 @@ section/answer.|,
|
||||||
lastUpdated => 0,
|
lastUpdated => 0,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'run all tests' => {
|
||||||
|
message => q{Run All Tests},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'pass' => {
|
||||||
|
message => q{Pass},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'fail' => {
|
||||||
|
message => q{Fail},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'test results template' => {
|
||||||
|
message => q{Test Results Template},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'test results template help' => {
|
||||||
|
message => q{Template used to display individual test and aggregate test results},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'test results' => {
|
||||||
|
message => q{Test Results},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'test result' => {
|
||||||
|
message => q{Test Result},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'details' => {
|
||||||
|
message => q{Details},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'tests passed' => {
|
||||||
|
message => q{Tests Passed},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
'tests failed' => {
|
||||||
|
message => q{Tests Failed},
|
||||||
|
lastUpdated => 0,
|
||||||
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue