[libgda] Added Firebird test server



commit 1b7f11c9a97e4af221f2336fed7564c826425606
Author: Vivien Malerba <malerba gnome-db org>
Date:   Sun Sep 27 21:20:00 2015 +0200

    Added Firebird test server

 docker-tools/docker-tools.sh                       |    3 ++
 docker-tools/firebird-test-server/Dockerfile       |   12 ++++++++
 docker-tools/firebird-test-server/README           |   28 ++++++++++++++++++++
 docker-tools/firebird-test-server/build.sh         |   18 ++++++++++++
 .../firebird-test-server/setup-data/.gitignore     |    1 +
 .../firebird-test-server/setup-data/setup.sql      |    3 ++
 .../firebird-test-server/setup-scripts/install.sh  |   17 ++++++++++++
 .../firebird-test-server/setup-scripts/run.sh      |    3 ++
 docker-tools/firebird-test-server/start.sh         |    3 ++
 docker-tools/firebird-test-server/stop.sh          |    2 +
 10 files changed, 90 insertions(+), 0 deletions(-)
---
diff --git a/docker-tools/docker-tools.sh b/docker-tools/docker-tools.sh
index b0b7c01..507525f 100755
--- a/docker-tools/docker-tools.sh
+++ b/docker-tools/docker-tools.sh
@@ -109,6 +109,9 @@ function get_port_for_provider {
        oracle)
            echo 1521
            ;;
+       firebird)
+           echo 3050
+           ;;
        mingw*)
            echo mingw
            ;;
diff --git a/docker-tools/firebird-test-server/Dockerfile b/docker-tools/firebird-test-server/Dockerfile
new file mode 100644
index 0000000..7c2f78f
--- /dev/null
+++ b/docker-tools/firebird-test-server/Dockerfile
@@ -0,0 +1,12 @@
+FROM ubuntu:14.04
+
+MAINTAINER Vivien Malerba "vmalerba gmail com"
+ENV REFRESHED_AT 2015-09-21
+
+ADD setup-scripts/install.sh setup-scripts/run.sh /
+ADD setup-data /setup-data
+RUN /install.sh
+
+EXPOSE 3050
+
+CMD /run.sh
diff --git a/docker-tools/firebird-test-server/README b/docker-tools/firebird-test-server/README
new file mode 100644
index 0000000..4197125
--- /dev/null
+++ b/docker-tools/firebird-test-server/README
@@ -0,0 +1,28 @@
+Use the scripts contained here to create an Firebird server docker image which can be used
+to test Libgda's Firebird provider.
+
+* ./build.sh builds the docker image (named "libgda-test-firebird"). It creates a database populated with
+  data from the NorthWind database.
+* ./start.sh starts a docker container in background
+* ./stop.sh stops a running docker container
+
+
+Parameters:
+-----------
+* created database name: gda (along with the example employee databse)
+* created user name/pass: gdauser/gdauser (along with the default SYSDBA/masterkey account)
+* database listener port: 3050
+
+
+Firebird test:
+--------------
+If the 'isql-fb' tool is installed in the host system:
+$ isql-fb -u gdauser -p gdauser gda
+$ isql-fb -u SYSDBA -p masterkey employee
+
+If not, SQLPLUS is part of the Docker Firebird image, you can run it from a new instance:
+$ docker run -ti --rm -e FBIP=`../docker-tools.sh info Firebird | grep IP | grep -o 
'[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*'` libgda-test-firebird /bin/bash
+# isql-fb -u gdauser -p gdauser $FBIP:gda
+# isql-fb -u SYSDBA -p masterkey $FBIP:employee
+
+$ gda-sql-6.0 "Firebird://gdauser:gdauser HOST=127 0 0 1;DB_NAME=gda"
\ No newline at end of file
diff --git a/docker-tools/firebird-test-server/build.sh b/docker-tools/firebird-test-server/build.sh
new file mode 100755
index 0000000..4c2e100
--- /dev/null
+++ b/docker-tools/firebird-test-server/build.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+# download Northwind data if necessary
+sqlfile=setup-data/northwind.sql
+if [ ! -e $sqlfile ]
+then
+    echo "Missing $sqlfile, downloading (about 0.3 Mb)..."
+    file="https://people.gnome.org/~vivien/northwind_firebird_01.sql";
+    wget -q $file > /dev/null 2>&1 || {
+        echo "Unable to get $file, check with Libgda's maintainer!"
+        exit 1
+    }
+    mv northwind_firebird_01.sql $sqlfile
+    echo "Download complete"
+fi
+
+# actual build
+exec ../docker-tools.sh build Firebird
diff --git a/docker-tools/firebird-test-server/setup-data/.gitignore 
b/docker-tools/firebird-test-server/setup-data/.gitignore
new file mode 100644
index 0000000..d1b811b
--- /dev/null
+++ b/docker-tools/firebird-test-server/setup-data/.gitignore
@@ -0,0 +1 @@
+*.sql
diff --git a/docker-tools/firebird-test-server/setup-data/setup.sql 
b/docker-tools/firebird-test-server/setup-data/setup.sql
new file mode 100644
index 0000000..e7f24c2
--- /dev/null
+++ b/docker-tools/firebird-test-server/setup-data/setup.sql
@@ -0,0 +1,3 @@
+CREATE USER gdauser PASSWORD 'gdauser';
+CREATE DATABASE '/var/lib/firebird/gda.fdb';
+EXIT;
diff --git a/docker-tools/firebird-test-server/setup-scripts/install.sh 
b/docker-tools/firebird-test-server/setup-scripts/install.sh
new file mode 100755
index 0000000..5be2ef2
--- /dev/null
+++ b/docker-tools/firebird-test-server/setup-scripts/install.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# avoid dpkg frontend dialog / frontend warnings 
+export DEBIAN_FRONTEND=noninteractive
+
+# install firebird
+apt-get update && apt-get install -y firebird2.5-superclassic firebird2.5-examples
+
+# unzip sample data and prepare alias for the "gda" database
+pushd /usr/share/doc/firebird2.5-common-doc/examples/empbuild/ && gunzip employee.fdb.gz && popd
+echo "gda = /var/lib/firebird/gda.fdb" >> /etc/firebird/2.5/aliases.conf
+
+# have the server listen on any interface
+sed -i -e 's/#\(RemoteBindAddress =\)/\1/' -e 's/\(RemoteBindAddress = l\)/#\1/' 
/etc/firebird/2.5/firebird.conf
+
+isql-fb -u SYSDBA -p masterkey employee -i /setup-data/setup.sql > /LOG 2>&1
+isql-fb -u gdauser -p gdauser gda -i /setup-data/northwind.sql > /LOG 2>&1
diff --git a/docker-tools/firebird-test-server/setup-scripts/run.sh 
b/docker-tools/firebird-test-server/setup-scripts/run.sh
new file mode 100755
index 0000000..895d1d6
--- /dev/null
+++ b/docker-tools/firebird-test-server/setup-scripts/run.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+/usr/sbin/fbguard
diff --git a/docker-tools/firebird-test-server/start.sh b/docker-tools/firebird-test-server/start.sh
new file mode 100755
index 0000000..1c6b7f4
--- /dev/null
+++ b/docker-tools/firebird-test-server/start.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+exec ../docker-tools.sh start Firebird
+
diff --git a/docker-tools/firebird-test-server/stop.sh b/docker-tools/firebird-test-server/stop.sh
new file mode 100755
index 0000000..e18cd9f
--- /dev/null
+++ b/docker-tools/firebird-test-server/stop.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+exec ../docker-tools.sh stop Firebird


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]