diff --git a/test/isn_test.exs b/test/isn_test.exs index 33051f0..abb09a4 100644 --- a/test/isn_test.exs +++ b/test/isn_test.exs @@ -4,9 +4,8 @@ defmodule IsnTest do alias Postgrex.Connection, as: P setup do - {:ok, pid} = P.start_link( - database: "isn_test", - extensions: [{Isn, {}}]) + options = Keyword.merge(conn_options, [extensions: [{Isn, {}}]]) + {:ok, pid} = P.start_link(options) {:ok, [pid: pid]} end diff --git a/test/test_helper.exs b/test/test_helper.exs index 1a1a2fc..1ac6e95 100644 --- a/test/test_helper.exs +++ b/test/test_helper.exs @@ -1,19 +1,38 @@ ExUnit.start() -{:ok, pid} = Postgrex.Connection.start_link( - hostname: "localhost", - database: "postgres" -) - -Postgrex.Connection.query!(pid, "DROP DATABASE IF EXISTS isn_test;", []) -Postgrex.Connection.query!(pid, "CREATE DATABASE isn_test;", []) -{:ok, pid} = Postgrex.Connection.start_link( - hostname: "localhost", - database: "isn_test" -) -Postgrex.Connection.query!(pid, "CREATE EXTENSION isn;", []) +# db_options = [ +# hostname: "localhost", +# database: "postgres"] +# +# db_user = System.get_env("DATABASE_POSTGRESQL_USERNAME") +# db_pass = System.get_env("DATABASE_POSTGRESQL_PASSWORD") +# +# if db_user, do: db_options = Dict.put(db_options, :username, db_user) +# if db_pass, do: db_options = Dict.put(db_options, :password, db_pass) +# +# {:ok, pid} = Postgrex.Connection.start_link(db_options) +# +# Postgrex.Connection.query!(pid, "DROP DATABASE IF EXISTS isn_test;", []) +# Postgrex.Connection.query!(pid, "CREATE DATABASE isn_test;", []) +# conn_options = Keyword.merge(db_options, [database: "isn_test"]) +# {:ok, pid} = Postgrex.Connection.start_link(conn_options) +# Postgrex.Connection.query!(pid, "CREATE EXTENSION isn;", []) defmodule Isn.TestHelper do + def conn_options do + db_options = [ + hostname: "localhost", + database: "isn_test"] + + db_user = System.get_env("DATABASE_POSTGRESQL_USERNAME") + db_pass = System.get_env("DATABASE_POSTGRESQL_PASSWORD") + + if db_user, do: db_options = Dict.put(db_options, :username, db_user) + if db_pass, do: db_options = Dict.put(db_options, :password, db_pass) + + db_options + end + defmacro query(pid, statement, params) do quote bind_quoted: [pid: pid, statement: statement, params: params] do case Postgrex.Connection.query(pid, statement, params, []) do @@ -24,3 +43,11 @@ defmodule Isn.TestHelper do end end end + +db_options = Keyword.merge(Isn.TestHelper.conn_options, [database: "postgres"]) +{:ok, pid} = Postgrex.Connection.start_link(db_options) + +Postgrex.Connection.query!(pid, "DROP DATABASE IF EXISTS isn_test;", []) +Postgrex.Connection.query!(pid, "CREATE DATABASE isn_test;", []) +{:ok, pid} = Postgrex.Connection.start_link(Isn.TestHelper.conn_options) +Postgrex.Connection.query!(pid, "CREATE EXTENSION isn;", [])