[Bast-commits] r9278 - in trunk/DBIx-Class-EncodedColumn: . etc lib/DBIx/Class t t/lib t/var

groditi at dev.catalyst.perl.org groditi at dev.catalyst.perl.org
Fri Apr 30 00:10:34 GMT 2010


Author: groditi
Date: 2010-04-30 01:10:34 +0100 (Fri, 30 Apr 2010)
New Revision: 9278

Added:
   trunk/DBIx-Class-EncodedColumn/etc/
   trunk/DBIx-Class-EncodedColumn/etc/make_test_ddl_dir.pl
   trunk/DBIx-Class-EncodedColumn/t/var/DigestTest-Schema-1.x-SQLite.sql
Removed:
   trunk/DBIx-Class-EncodedColumn/t/lib/DigestTest.pm
Modified:
   trunk/DBIx-Class-EncodedColumn/Makefile.PL
   trunk/DBIx-Class-EncodedColumn/lib/DBIx/Class/EncodedColumn.pm
   trunk/DBIx-Class-EncodedColumn/t/02digest.t
   trunk/DBIx-Class-EncodedColumn/t/03crosstable_leak.t
Log:
refactor test suite. stop requiring sqlt to test. include ddl

Modified: trunk/DBIx-Class-EncodedColumn/Makefile.PL
===================================================================
--- trunk/DBIx-Class-EncodedColumn/Makefile.PL	2010-04-29 23:02:48 UTC (rev 9277)
+++ trunk/DBIx-Class-EncodedColumn/Makefile.PL	2010-04-30 00:10:34 UTC (rev 9278)
@@ -15,11 +15,12 @@
 requires 'Sub::Name' => '0.04';
 
 #build dependencies
-build_requires 'Test::More';
-build_requires 'DBD::SQLite';
-build_requires 'SQL::Translator' => '0.11002';
-build_requires 'Digest::SHA';
-build_requires 'File::Spec';
+test_requires 'Test::More';
+test_requires 'DBD::SQLite';
+test_requires 'Dir::Self';
+test_requires 'File::Temp';
+test_requires 'Digest::SHA';
+test_requires 'File::Spec';
 
 #recommended modules
 feature 'Digest::MD5 Support?',

Added: trunk/DBIx-Class-EncodedColumn/etc/make_test_ddl_dir.pl
===================================================================
--- trunk/DBIx-Class-EncodedColumn/etc/make_test_ddl_dir.pl	                        (rev 0)
+++ trunk/DBIx-Class-EncodedColumn/etc/make_test_ddl_dir.pl	2010-04-30 00:10:34 UTC (rev 9278)
@@ -0,0 +1,12 @@
+#! /usr/bin/perl -w
+
+use strict;
+use warnings;
+use Dir::Self;
+
+use lib File::Spec->catdir(__DIR__, '../', 't', 'lib');
+use DigestTest::Schema;
+
+my $var = File::Spec->catdir(__DIR__, '../', 't', 'var');
+my $schema = DigestTest::Schema->connect("dbi:SQLite:");
+$schema->create_ddl_dir(['SQLite',], undef, $var, undef, {add_drop_table => 0});

Modified: trunk/DBIx-Class-EncodedColumn/lib/DBIx/Class/EncodedColumn.pm
===================================================================
--- trunk/DBIx-Class-EncodedColumn/lib/DBIx/Class/EncodedColumn.pm	2010-04-29 23:02:48 UTC (rev 9277)
+++ trunk/DBIx-Class-EncodedColumn/lib/DBIx/Class/EncodedColumn.pm	2010-04-30 00:10:34 UTC (rev 9278)
@@ -9,7 +9,7 @@
 
 __PACKAGE__->mk_classdata( '_column_encoders' );
 
-our $VERSION = '0.00006';
+our $VERSION = '0.00007';
 
 sub register_column {
   my $self = shift;

Modified: trunk/DBIx-Class-EncodedColumn/t/02digest.t
===================================================================
--- trunk/DBIx-Class-EncodedColumn/t/02digest.t	2010-04-29 23:02:48 UTC (rev 9277)
+++ trunk/DBIx-Class-EncodedColumn/t/02digest.t	2010-04-30 00:10:34 UTC (rev 9278)
@@ -3,12 +3,13 @@
 use strict;
 use warnings;
 use Test::More;
-use Digest;
 
+use Dir::Self;
 use File::Spec;
-use FindBin '$Bin';
-use lib File::Spec->catdir($Bin, 'lib');
+use File::Temp 'tempdir';
 
+use lib File::Spec->catdir(__DIR__, 'lib');
+
 my ($sha_ok, $bcrypt_ok, $pgp_ok, $whirlpool_ok);
 
 BEGIN {
@@ -27,11 +28,15 @@
 plan tests => $tests;
 
 #1
-use_ok("DigestTest");
+use_ok('DigestTest::Schema');
 
-my $schema = DigestTest->init_schema;
-my $rs     = $schema->resultset('Test');
+my $tmp = tempdir( CLEANUP => 1 );
+my $db_file = File::Spec->catfile($tmp, 'testdb.sqlite');
+my $schema = DigestTest::Schema->connect("dbi:SQLite:dbname=${db_file}");
+$schema->deploy({}, File::Spec->catdir(__DIR__, 'var'));
 
+my $rs = $schema->resultset('Test');
+
 my $checks = {};
 if( $sha_ok ){
   for my $algorithm( qw/SHA-1 SHA-256/){
@@ -223,11 +228,6 @@
     is($row->sha1_hex, undef, 'Check undef is passed through');
 }
 
-END {
-  # In the END section so that the test DB file gets closed before we attempt to unlink it
-  DigestTest::clear($schema);
-}
-
 #TODO
 # -- dies_ok tests when using invalid cyphers and encodings
 

Modified: trunk/DBIx-Class-EncodedColumn/t/03crosstable_leak.t
===================================================================
--- trunk/DBIx-Class-EncodedColumn/t/03crosstable_leak.t	2010-04-29 23:02:48 UTC (rev 9277)
+++ trunk/DBIx-Class-EncodedColumn/t/03crosstable_leak.t	2010-04-30 00:10:34 UTC (rev 9278)
@@ -3,14 +3,15 @@
 use strict;
 use warnings;
 use Test::More tests => 5;
-use Digest;
 
+use Dir::Self;
 use File::Spec;
-use FindBin '$Bin';
-use lib File::Spec->catdir( $Bin, 'lib' );
+use File::Temp 'tempdir';
 
+use lib File::Spec->catdir(__DIR__, 'lib');
+
 #1
-use_ok("DigestTest");
+BEGIN { use_ok("DigestTest::Schema"); }
 
 # ABOUT THIS TEST;
 #
@@ -22,7 +23,11 @@
 # This test is to demonstrate, that one is inheriting the encoding options wrongly from the other.
 #
 
-my $schema = DigestTest->init_schema;
+my $tmp = tempdir( CLEANUP => 1 );
+my $db_file = File::Spec->catfile($tmp, 'testdb.sqlite');
+my $schema = DigestTest::Schema->connect("dbi:SQLite:dbname=${db_file}");
+$schema->deploy({}, File::Spec->catdir(__DIR__, 'var'));
+
 my $tablea = $schema->resultset('TableA');
 my $tableb = $schema->resultset('TableB');
 
@@ -35,10 +40,4 @@
 is( $objecta->can('check_conflict'), undef, 'Table that is requested to not be encoded has no check_conflict method' );
 ok( $objectb->can('check_conflict'), 'Table that is requested encoded has check_conflict method' );
 
-END {
-
-  # In the END section so that the test DB file gets closed before we attempt to unlink it
-  DigestTest::clear($schema);
-}
-
 1;

Deleted: trunk/DBIx-Class-EncodedColumn/t/lib/DigestTest.pm
===================================================================
--- trunk/DBIx-Class-EncodedColumn/t/lib/DigestTest.pm	2010-04-29 23:02:48 UTC (rev 9277)
+++ trunk/DBIx-Class-EncodedColumn/t/lib/DigestTest.pm	2010-04-30 00:10:34 UTC (rev 9278)
@@ -1,34 +0,0 @@
-package # hide from PAUSE
-    DigestTest;
-
-use strict;
-use warnings;
-use DigestTest::Schema;
-
-use FindBin '$Bin';
-
-
-sub init_schema {
-  my $self = shift;
-  my $db_dir  = File::Spec->catdir($Bin, "var");
-  my $db_file = File::Spec->catfile($db_dir, "Test.db");
-
-  unlink($db_file) if -e $db_file;
-  unlink($db_file . "-journal") if -e $db_file . "-journal";
-  mkdir($db_dir) unless -d $db_dir;
-
-  my $dsn = "dbi:SQLite:dbname=${db_file}";
-  my $schema = DigestTest::Schema->connect($dsn);
-  $schema->deploy();
-  return $schema;
-}
-
-sub clear {
-  my $db_dir  = File::Spec->catdir($Bin, "var");
-  my $db_file = File::Spec->catfile($db_dir, "Test.db");
-  return unless -e $db_file;
-  $_[0]->storage->disconnect;
-  unlink($db_file) or die "Failed to clear test db $db_file";
-}
-
-1;

Added: trunk/DBIx-Class-EncodedColumn/t/var/DigestTest-Schema-1.x-SQLite.sql
===================================================================
--- trunk/DBIx-Class-EncodedColumn/t/var/DigestTest-Schema-1.x-SQLite.sql	                        (rev 0)
+++ trunk/DBIx-Class-EncodedColumn/t/var/DigestTest-Schema-1.x-SQLite.sql	2010-04-30 00:10:34 UTC (rev 9278)
@@ -0,0 +1,40 @@
+-- 
+-- Created by SQL::Translator::Producer::SQLite
+-- Created on Thu Apr 29 20:08:54 2010
+-- 
+
+
+BEGIN TRANSACTION;
+
+--
+-- Table: tablea
+--
+CREATE TABLE tablea (
+  id INTEGER PRIMARY KEY NOT NULL,
+  conflicting_name char(43) NOT NULL
+);
+
+--
+-- Table: tableb
+--
+CREATE TABLE tableb (
+  id INTEGER PRIMARY KEY NOT NULL,
+  conflicting_name char(43) NOT NULL
+);
+
+--
+-- Table: test
+--
+CREATE TABLE test (
+  id INTEGER PRIMARY KEY NOT NULL,
+  dummy_col char(43) NOT NULL,
+  sha1_hex char(40),
+  sha1_b64 char(27),
+  sha256_hex char(64),
+  sha256_b64 char(43),
+  sha256_b64_salted char(57),
+  bcrypt_1 text,
+  bcrypt_2 text
+);
+
+COMMIT;




More information about the Bast-commits mailing list