59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Elixir
		
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Elixir
		
	
	
	
| 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;", [])
 | |
| 
 | |
| 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
 | |
| 
 | |
| 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)
 | |
| {:ok, pid} = Postgrex.Connection.start_link(ISN.TestHelper.conn_options)
 | |
| Postgrex.Connection.query!(pid, "CREATE EXTENSION isn;", [])
 | |
| Postgrex.Connection.stop(pid)
 |