4 use vars qw($old_obda_path);
9 test_begin(-tests => 16);
11 $old_obda_path = $ENV{OBDA_SEARCH_PATH}
12 if defined $ENV{OBDA_SEARCH_PATH};
13 $ENV{OBDA_SEARCH_PATH} = 't/data/';
15 use_ok('DBTestHarness');
17 use_ok('Bio::DB::Persistent::BioNamespace');
18 use_ok('Bio::DB::Registry');
21 my $biosql = DBTestHarness->new("biosql");
22 my $db = $biosql->get_DBAdaptor();
25 my $registry_file = test_input_file("seqdatabase.ini");
26 my $obda_name = "mytestbiosql";
27 # create a temporary seqdatabase.ini file specific for this test database
28 write_registry($registry_file);
30 my $seqio = Bio::SeqIO->new('-format' => 'genbank',
31 '-file' => test_input_file('parkin.gb'));
32 my $seq = $seqio->next_seq();
34 my $pseq = $db->create_persistent($seq);
35 $pseq->namespace("mytestnamespace");
36 $pseq->store(); # this will raise warnings if there are duplicates
37 ok $pseq->primary_key();
42 my $registry = Bio::DB::Registry->new;
44 my $biodb = $registry->get_database($obda_name);
46 my $seq = $biodb->get_Seq_by_acc('AB019558');
47 is $seq->primary_id, 5456929;
48 $seq = $biodb->get_Seq_by_id(5456929);
49 is $seq->accession, "AB019558";
50 $seq = $biodb->get_Seq_by_version('AB019558.1');
51 is $seq->primary_id, 5456929;
54 print STDERR $@ if $@;
57 is ($pseq->remove(), 1);
58 my $ns = Bio::DB::Persistent::BioNamespace->new(-identifiable => $pseq);
59 ok $ns = $db->get_object_adaptor($ns)->find_by_unique_key($ns);
60 ok $ns->primary_key();
61 is ($ns->remove(), 1);
65 unlink $registry_file if (-e $registry_file);
66 $ENV{OBDA_SEARCH_PATH} = $old_obda_path if defined $old_obda_path;
71 my $c = $db->dbcontext;
72 my ($host,$port,$dbname,$pass,$user,$driver) =
73 ($c->host||'',$c->port||'',$c->dbname||'',$c->password||'',$c->username||'',$c->driver||'');