mirror of
https://github.com/dolthub/dolt.git
synced 2026-02-11 18:49:14 -06:00
Merge pull request #868 from liquidata-inc/tim/perl-mysql-client-test
Added perl mysql client tests
This commit is contained in:
@@ -25,7 +25,9 @@ RUN apt install -y \
|
||||
openjdk-8-jdk \
|
||||
ant \
|
||||
ca-certificates-java \
|
||||
bats
|
||||
bats \
|
||||
perl \
|
||||
cpanminus
|
||||
|
||||
# install dotnet
|
||||
RUN wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
||||
@@ -60,5 +62,8 @@ RUN curl -L -o /mysql-client-tests/java/mysql-connector-java-8.0.21.jar \
|
||||
WORKDIR /mysql-client-tests/node
|
||||
RUN npm install
|
||||
|
||||
# install cpan dependencies
|
||||
RUN cpanm DBD::mysql
|
||||
|
||||
WORKDIR /mysql-client-tests
|
||||
ENTRYPOINT ["/mysql-client-tests/entrypoint.sh"]
|
||||
|
||||
@@ -58,3 +58,7 @@ teardown() {
|
||||
# dotnet run uses output channel 3 which conflicts with bats so we pipe it to null
|
||||
dotnet run -- $USER $PORT $REPO_NAME 3>&-
|
||||
}
|
||||
|
||||
@test "perl DBD:mysql client" {
|
||||
perl $BATS_TEST_DIRNAME/perl/dbd-mysql-test.pl $USER $PORT $REPO_NAME
|
||||
}
|
||||
|
||||
33
mysql-client-tests/perl/dbd-mysql-test.pl
Normal file
33
mysql-client-tests/perl/dbd-mysql-test.pl
Normal file
@@ -0,0 +1,33 @@
|
||||
use strict;
|
||||
|
||||
use DBI;
|
||||
|
||||
my $QUERY_RESPONSE = [
|
||||
{ "create table test (pk int, value int, primary key(pk))" => '0E0' },
|
||||
{ "describe test" => 2 },
|
||||
{ "insert into test (pk, value) values (0,0)" => 1 },
|
||||
{ "select * from test" => 1 }
|
||||
];
|
||||
|
||||
my $user = $ARGV[0];
|
||||
my $port = $ARGV[1];
|
||||
my $db = $ARGV[2];
|
||||
|
||||
my $dsn = "DBI:mysql:database=$db;host=127.0.0.1;port=$port";
|
||||
my $dbh = DBI->connect($dsn, $user, "");
|
||||
|
||||
foreach my $query_response ( @{$QUERY_RESPONSE} ) {
|
||||
my @query_keys = keys %{$query_response};
|
||||
my $query = $query_keys[0];
|
||||
my $exp_result = $query_response->{$query};
|
||||
|
||||
my $result = $dbh->do($query);
|
||||
if ( $result != $exp_result ) {
|
||||
print "QUERY: $query\n";
|
||||
print "EXPECTED: $exp_result\n";
|
||||
print "RESULT: $result\n";
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
exit 0;
|
||||
Reference in New Issue
Block a user