isn/test/test_helper.exs

59 lines
2.0 KiB
Elixir
Raw Normal View History

2015-05-05 20:15:40 +00:00
ExUnit.start()
# 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;", [])
2016-01-10 11:12:38 +00:00
defmodule ISN.TestHelper do
def conn_options do
db_options = [
sync_connect: true,
hostname: "localhost",
database: "isn_test",
username: "postgres",
password: ""]
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
%Postgrex.Result{rows: nil} -> :ok
%Postgrex.Result{rows: rows} -> rows
%Postgrex.Error{} = err -> err
end
end
end
end
2016-01-10 11:12:38 +00:00
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;", [])
Postgrex.Connection.stop(pid)
2016-01-10 11:12:38 +00:00
{:ok, pid} = Postgrex.Connection.start_link(ISN.TestHelper.conn_options)
Postgrex.Connection.query!(pid, "CREATE EXTENSION isn;", [])
Postgrex.Connection.stop(pid)