Bug 37448: Add script to allow developers to quickly generate large amounts of data for development and testing
Test Plan: 1) Apply this patch 2) Run: misc/devel/create_test_data.pl -n 99 -s Borrower -d surname=Hall -d zipcode=111111 3) Search patrons' for the name "Hall" 4) Note there are 99 Hall's in your results! Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Bug 37448: Make use of build_sample_biblio and build_sample_item The script is brilliant, but for biblios and items we should make use of build_sample_biblio and build_sample_item or this data does not get indexed + linked tables rows get missed To test, before this patch, run: 1) misc/devel/create_test_data.pl -n 5 -s Biblio -d title=Test Notice the 'Test' biblio is created on the database, but doesnt show on searches, and accessing it directly through URL throws a 500 error (because metadata does not exist for the biblio) 2) Apply this patch. Repeat the step above. Notice it now shows on searches and visiting the biblio directly shows no errors Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Bug 37448: (QA follow-up) Tidy script Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
92fd65840a
commit
576621a6df
|
|
@ -0,0 +1,96 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
# This file is part of Koha.
|
||||
#
|
||||
# Copyright (C) 2012 ByWater Solutions
|
||||
# Copyright (C) 2013 Equinox Software, Inc.
|
||||
#
|
||||
# Koha is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Koha is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
||||
|
||||
use Modern::Perl;
|
||||
|
||||
use Getopt::Long qw( GetOptions );
|
||||
use Pod::Usage qw( pod2usage );
|
||||
|
||||
use t::lib::TestBuilder;
|
||||
my $builder = t::lib::TestBuilder->new;
|
||||
|
||||
my $source;
|
||||
my $values;
|
||||
my $number;
|
||||
my $help;
|
||||
my $verbose;
|
||||
|
||||
GetOptions(
|
||||
"s|source=s" => \$source,
|
||||
"d|data=s%" => \$values,
|
||||
"n|number=i" => \$number,
|
||||
"h|help" => \$help,
|
||||
"v|verbose" => \$verbose,
|
||||
);
|
||||
|
||||
# If we were asked for usage instructions, do it
|
||||
pod2usage(1) if $help || !$number || !$source;
|
||||
|
||||
for ( 1 .. $number ) {
|
||||
|
||||
if ( $source eq 'Biblio' ) {
|
||||
$builder->build_sample_biblio($values);
|
||||
} elsif ( $source eq 'Item' ) {
|
||||
$builder->build_sample_item($values);
|
||||
} elsif ( $source eq 'Illrequest' ) {
|
||||
$builder->build_sample_ill_request($values);
|
||||
} else {
|
||||
$builder->build(
|
||||
{
|
||||
source => $source,
|
||||
value => $values,
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
=head1 NAME
|
||||
|
||||
misc/devel/create_test_data.pl
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
create_test_data.pl -n 99 -s ObjectName [ -d foreignkey=somevalue ]
|
||||
|
||||
This script allows for quickly generated large numbers of test data for development purposes.
|
||||
|
||||
=head1 OPTIONS
|
||||
|
||||
=over 8
|
||||
|
||||
=item B<-s|--source> <source>
|
||||
|
||||
The DBIx::Class ResultSet source to use ( e.g. Branch, Category, EdifactMessage, etc. )
|
||||
|
||||
=item B<-d|--data> <valumn>=<value>
|
||||
|
||||
Repeatable, set a given column to the specified value for all generated data.
|
||||
|
||||
create_test_data.pl -n 5 -s Issue -d borrowernumber=42 -d -d branchcode=MPL
|
||||
|
||||
=item B<-n|--number> <number>
|
||||
|
||||
The number of rows to create
|
||||
|
||||
=item B<-h|--help>
|
||||
|
||||
prints this help text
|
||||
|
||||
=back
|
||||
Loading…
Reference in New Issue