3 # This file is part of Koha.
5 # Copyright (C) 2014 Aleisha Amohia (Bug 11541)
6 # Copyright (C) 2016 Mark Tompsett (Bug 17234)
8 # Koha is free software; you can redistribute it and/or modify it
9 # under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or
11 # (at your option) any later version.
13 # Koha is distributed in the hope that it will be useful, but
14 # WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
18 # You should have received a copy of the GNU General Public License
19 # along with Koha; if not, see <http://www.gnu.org/licenses>.
21 # This Koha test module is still a stub!
22 # Add more tests here!!!
25 use Test
::More tests
=> 16;
29 use_ok
('C4::Installer');
32 ok
( my $installer = C4
::Installer
->new(), 'Testing NewInstaller' );
33 is
( ref $installer, 'C4::Installer', 'Testing class of object' );
34 is
( $installer->{'dbname'}, C4
::Context
->config('database'), 'Testing DbName' );
37 C4
::Context
->config('db_scheme')
38 ? C4
::Context
->config('db_scheme')
43 $installer->{'hostname'},
44 C4
::Context
->config('hostname'),
47 is
( $installer->{'port'}, C4
::Context
->config('port'), 'Testing Port' );
48 is
( $installer->{'user'}, C4
::Context
->config('user'), 'Testing User' );
49 is
( $installer->{'password'}, C4
::Context
->config('pass'), 'Testing Password' );
51 # The borrower table is known to have columns and constraints.
52 my $schema = Koha
::Database
->new->schema;
53 my $source = $schema->source('Borrower');
55 my @column_names = $source->columns();
56 my $column_name = $column_names[0];
57 ok
( column_exists
( 'borrowers', $column_name ), 'Known column does exist' );
58 ok
( ! column_exists
( 'borrowers', 'xxx'), 'Column xxx does not exist' );
60 my $dbh = C4
::Context
->dbh;
61 $dbh->{RaiseError
} = 1;
62 ok
( ! column_exists
( 'this_table_will_never_exist', 'xxx'), 'Column xxx does not exist, the table does not exist' );
64 my @constraint_names = $source->unique_constraint_names();
65 my $constraint_name = $constraint_names[0];
66 ok
( index_exists
( 'borrowers', $constraint_name), 'Known contraint does exist' );
67 ok
( ! index_exists
( 'borrowers', 'xxx'), 'Constraint xxx does not exist' );
69 ok
( foreign_key_exists
( 'borrowers', 'borrowers_ibfk_1' ), 'FK borrowers_ibfk_1 exists' );
70 ok
( ! foreign_key_exists
( 'borrowers', 'xxx' ), 'FK xxxx does not exist' );