4 use Test::More tests => 8;
5 use DBIx::Class::Schema::Loader 'make_schema_at';
10 'DBICTest::Schema::_test_schema_base',
13 schema_base_class => 'TestSchemaBaseClass',
14 schema_components => ['TestSchemaComponent'],
16 [ $make_dbictest_db::dsn ],
19 ok $TestSchemaBaseClass::test_ok,
20 'connected using schema_base_class';
22 ok $DBIx::Class::TestSchemaComponent::test_component_ok,
23 'connected using schema_components';
25 # try an explicit dynamic schema
27 $TestSchemaBaseClass::test_ok = 0;
28 $DBIx::Class::TestSchemaComponent::test_component_ok = 0;
31 package DBICTest::Schema::_test_schema_base_dynamic;
32 use base 'DBIx::Class::Schema::Loader';
33 __PACKAGE__->loader_options({
35 schema_base_class => 'TestSchemaBaseClass',
36 schema_components => ['TestSchemaComponent'],
38 # check that connection doesn't cause an infinite loop
39 sub connection { my $self = shift; return $self->next::method(@_) }
43 DBICTest::Schema::_test_schema_base_dynamic->connect($make_dbictest_db::dsn),
44 'connected dynamic schema');
46 ok $TestSchemaBaseClass::test_ok,
47 'connected using schema_base_class in dynamic schema';
49 ok $DBIx::Class::TestSchemaComponent::test_component_ok,
50 'connected using schema_components in dynamic schema';
52 # connect a second time
54 $TestSchemaBaseClass::test_ok = 0;
55 $DBIx::Class::TestSchemaComponent::test_component_ok = 0;
58 DBICTest::Schema::_test_schema_base_dynamic->connect($make_dbictest_db::dsn),
59 'connected dynamic schema a second time');
61 ok $TestSchemaBaseClass::test_ok,
62 'connected using schema_base_class in dynamic schema a second time';
64 ok $DBIx::Class::TestSchemaComponent::test_component_ok,
65 'connected using schema_components in dynamic schema a second time';