have test fixtures load roles too.

This commit is contained in:
Adam C. Baker
2014-09-26 16:58:55 -07:00
parent 29b70ca035
commit f203982527
3 changed files with 60 additions and 37 deletions
+1
View File
@@ -11,5 +11,6 @@ main = do
runRaw c "drop schema if exists \"1\" cascade"
runRaw c "drop schema if exists dbapi cascade"
loadFixture "schema" c
loadFixture "roles" c
disconnect c
hspec spec
+3
View File
@@ -0,0 +1,3 @@
select create_role_if_not_exists('dbapi');
select create_role_if_not_exists('dbapi_anonymous');
select create_role_if_not_exists('test_default_role');
+56 -37
View File
@@ -4,7 +4,7 @@
-- Dumped from database version 9.3.4
-- Dumped by pg_dump version 9.3.4
-- Started on 2014-09-25 16:21:25 PDT
-- Started on 2014-09-26 16:36:21 PDT
SET statement_timeout = 0;
SET lock_timeout = 0;
@@ -14,7 +14,7 @@ SET check_function_bodies = false;
SET client_min_messages = warning;
--
-- TOC entry 6 (class 2615 OID 46226)
-- TOC entry 6 (class 2615 OID 46679)
-- Name: 1; Type: SCHEMA; Schema: -; Owner: -
--
@@ -22,7 +22,7 @@ CREATE SCHEMA "1";
--
-- TOC entry 7 (class 2615 OID 46227)
-- TOC entry 7 (class 2615 OID 46680)
-- Name: dbapi; Type: SCHEMA; Schema: -; Owner: -
--
@@ -38,7 +38,7 @@ CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
--
-- TOC entry 2000 (class 0 OID 0)
-- TOC entry 2001 (class 0 OID 0)
-- Dependencies: 181
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
--
@@ -49,7 +49,7 @@ COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
SET search_path = dbapi, pg_catalog;
--
-- TOC entry 194 (class 1255 OID 46295)
-- TOC entry 194 (class 1255 OID 46681)
-- Name: check_role_exists(); Type: FUNCTION; Schema: dbapi; Owner: -
--
@@ -66,6 +66,25 @@ end
$$;
--
-- TOC entry 195 (class 1255 OID 46740)
-- Name: create_role_if_not_exists(name); Type: FUNCTION; Schema: dbapi; Owner: -
--
CREATE FUNCTION create_role_if_not_exists(rolename name) RETURNS text
LANGUAGE plpgsql
AS $$
BEGIN
IF NOT EXISTS (SELECT * FROM pg_roles WHERE rolname = rolename) THEN
EXECUTE format('CREATE ROLE %I', rolename);
RETURN 'CREATE ROLE';
ELSE
RETURN format('ROLE ''%I'' ALREADY EXISTS', rolename);
END IF;
END;
$$;
SET search_path = "1", pg_catalog;
SET default_tablespace = '';
@@ -73,7 +92,7 @@ SET default_tablespace = '';
SET default_with_oids = false;
--
-- TOC entry 172 (class 1259 OID 46228)
-- TOC entry 172 (class 1259 OID 46683)
-- Name: auto_incrementing_pk; Type: TABLE; Schema: 1; Owner: -; Tablespace:
--
@@ -86,7 +105,7 @@ CREATE TABLE auto_incrementing_pk (
--
-- TOC entry 173 (class 1259 OID 46235)
-- TOC entry 173 (class 1259 OID 46690)
-- Name: auto_incrementing_pk_id_seq; Type: SEQUENCE; Schema: 1; Owner: -
--
@@ -99,7 +118,7 @@ CREATE SEQUENCE auto_incrementing_pk_id_seq
--
-- TOC entry 2001 (class 0 OID 0)
-- TOC entry 2002 (class 0 OID 0)
-- Dependencies: 173
-- Name: auto_incrementing_pk_id_seq; Type: SEQUENCE OWNED BY; Schema: 1; Owner: -
--
@@ -108,7 +127,7 @@ ALTER SEQUENCE auto_incrementing_pk_id_seq OWNED BY auto_incrementing_pk.id;
--
-- TOC entry 174 (class 1259 OID 46237)
-- TOC entry 174 (class 1259 OID 46692)
-- Name: compound_pk; Type: TABLE; Schema: 1; Owner: -; Tablespace:
--
@@ -120,7 +139,7 @@ CREATE TABLE compound_pk (
--
-- TOC entry 175 (class 1259 OID 46240)
-- TOC entry 175 (class 1259 OID 46695)
-- Name: items; Type: TABLE; Schema: 1; Owner: -; Tablespace:
--
@@ -130,7 +149,7 @@ CREATE TABLE items (
--
-- TOC entry 176 (class 1259 OID 46243)
-- TOC entry 176 (class 1259 OID 46698)
-- Name: items_id_seq; Type: SEQUENCE; Schema: 1; Owner: -
--
@@ -143,7 +162,7 @@ CREATE SEQUENCE items_id_seq
--
-- TOC entry 2002 (class 0 OID 0)
-- TOC entry 2003 (class 0 OID 0)
-- Dependencies: 176
-- Name: items_id_seq; Type: SEQUENCE OWNED BY; Schema: 1; Owner: -
--
@@ -152,7 +171,7 @@ ALTER SEQUENCE items_id_seq OWNED BY items.id;
--
-- TOC entry 177 (class 1259 OID 46245)
-- TOC entry 177 (class 1259 OID 46700)
-- Name: menagerie; Type: TABLE; Schema: 1; Owner: -; Tablespace:
--
@@ -167,7 +186,7 @@ CREATE TABLE menagerie (
--
-- TOC entry 178 (class 1259 OID 46251)
-- TOC entry 178 (class 1259 OID 46706)
-- Name: no_pk; Type: TABLE; Schema: 1; Owner: -; Tablespace:
--
@@ -178,7 +197,7 @@ CREATE TABLE no_pk (
--
-- TOC entry 179 (class 1259 OID 46257)
-- TOC entry 179 (class 1259 OID 46712)
-- Name: simple_pk; Type: TABLE; Schema: 1; Owner: -; Tablespace:
--
@@ -191,7 +210,7 @@ CREATE TABLE simple_pk (
SET search_path = dbapi, pg_catalog;
--
-- TOC entry 180 (class 1259 OID 46284)
-- TOC entry 180 (class 1259 OID 46718)
-- Name: auth; Type: TABLE; Schema: dbapi; Owner: -; Tablespace:
--
@@ -204,7 +223,7 @@ CREATE TABLE auth (
SET search_path = "1", pg_catalog;
--
-- TOC entry 1862 (class 2604 OID 46269)
-- TOC entry 1862 (class 2604 OID 46724)
-- Name: id; Type: DEFAULT; Schema: 1; Owner: -
--
@@ -212,7 +231,7 @@ ALTER TABLE ONLY auto_incrementing_pk ALTER COLUMN id SET DEFAULT nextval('auto_
--
-- TOC entry 1863 (class 2604 OID 46270)
-- TOC entry 1864 (class 2604 OID 46725)
-- Name: id; Type: DEFAULT; Schema: 1; Owner: -
--
@@ -220,7 +239,7 @@ ALTER TABLE ONLY items ALTER COLUMN id SET DEFAULT nextval('items_id_seq'::regcl
--
-- TOC entry 1984 (class 0 OID 46228)
-- TOC entry 1985 (class 0 OID 46683)
-- Dependencies: 172
-- Data for Name: auto_incrementing_pk; Type: TABLE DATA; Schema: 1; Owner: -
--
@@ -228,16 +247,16 @@ ALTER TABLE ONLY items ALTER COLUMN id SET DEFAULT nextval('items_id_seq'::regcl
--
-- TOC entry 2003 (class 0 OID 0)
-- TOC entry 2004 (class 0 OID 0)
-- Dependencies: 173
-- Name: auto_incrementing_pk_id_seq; Type: SEQUENCE SET; Schema: 1; Owner: -
--
SELECT pg_catalog.setval('auto_incrementing_pk_id_seq', 9, true);
SELECT pg_catalog.setval('auto_incrementing_pk_id_seq', 17, true);
--
-- TOC entry 1986 (class 0 OID 46237)
-- TOC entry 1987 (class 0 OID 46692)
-- Dependencies: 174
-- Data for Name: compound_pk; Type: TABLE DATA; Schema: 1; Owner: -
--
@@ -245,7 +264,7 @@ SELECT pg_catalog.setval('auto_incrementing_pk_id_seq', 9, true);
--
-- TOC entry 1987 (class 0 OID 46240)
-- TOC entry 1988 (class 0 OID 46695)
-- Dependencies: 175
-- Data for Name: items; Type: TABLE DATA; Schema: 1; Owner: -
--
@@ -268,7 +287,7 @@ INSERT INTO items (id) VALUES (15);
--
-- TOC entry 2004 (class 0 OID 0)
-- TOC entry 2005 (class 0 OID 0)
-- Dependencies: 176
-- Name: items_id_seq; Type: SEQUENCE SET; Schema: 1; Owner: -
--
@@ -277,7 +296,7 @@ SELECT pg_catalog.setval('items_id_seq', 15, true);
--
-- TOC entry 1989 (class 0 OID 46245)
-- TOC entry 1990 (class 0 OID 46700)
-- Dependencies: 177
-- Data for Name: menagerie; Type: TABLE DATA; Schema: 1; Owner: -
--
@@ -285,7 +304,7 @@ SELECT pg_catalog.setval('items_id_seq', 15, true);
--
-- TOC entry 1990 (class 0 OID 46251)
-- TOC entry 1991 (class 0 OID 46706)
-- Dependencies: 178
-- Data for Name: no_pk; Type: TABLE DATA; Schema: 1; Owner: -
--
@@ -293,7 +312,7 @@ SELECT pg_catalog.setval('items_id_seq', 15, true);
--
-- TOC entry 1991 (class 0 OID 46257)
-- TOC entry 1992 (class 0 OID 46712)
-- Dependencies: 179
-- Data for Name: simple_pk; Type: TABLE DATA; Schema: 1; Owner: -
--
@@ -303,7 +322,7 @@ SELECT pg_catalog.setval('items_id_seq', 15, true);
SET search_path = dbapi, pg_catalog;
--
-- TOC entry 1992 (class 0 OID 46284)
-- TOC entry 1993 (class 0 OID 46718)
-- Dependencies: 180
-- Data for Name: auth; Type: TABLE DATA; Schema: dbapi; Owner: -
--
@@ -314,7 +333,7 @@ INSERT INTO auth (id, rolname) VALUES ('me@me.com', 'adam');
SET search_path = "1", pg_catalog;
--
-- TOC entry 1865 (class 2606 OID 46272)
-- TOC entry 1866 (class 2606 OID 46727)
-- Name: auto_incrementing_pk_pkey; Type: CONSTRAINT; Schema: 1; Owner: -; Tablespace:
--
@@ -323,7 +342,7 @@ ALTER TABLE ONLY auto_incrementing_pk
--
-- TOC entry 1867 (class 2606 OID 46274)
-- TOC entry 1868 (class 2606 OID 46729)
-- Name: compound_pk_pkey; Type: CONSTRAINT; Schema: 1; Owner: -; Tablespace:
--
@@ -332,7 +351,7 @@ ALTER TABLE ONLY compound_pk
--
-- TOC entry 1873 (class 2606 OID 46276)
-- TOC entry 1874 (class 2606 OID 46731)
-- Name: contacts_pkey; Type: CONSTRAINT; Schema: 1; Owner: -; Tablespace:
--
@@ -341,7 +360,7 @@ ALTER TABLE ONLY simple_pk
--
-- TOC entry 1869 (class 2606 OID 46278)
-- TOC entry 1870 (class 2606 OID 46733)
-- Name: items_pkey; Type: CONSTRAINT; Schema: 1; Owner: -; Tablespace:
--
@@ -350,7 +369,7 @@ ALTER TABLE ONLY items
--
-- TOC entry 1871 (class 2606 OID 46280)
-- TOC entry 1872 (class 2606 OID 46735)
-- Name: menagerie_pkey; Type: CONSTRAINT; Schema: 1; Owner: -; Tablespace:
--
@@ -361,7 +380,7 @@ ALTER TABLE ONLY menagerie
SET search_path = dbapi, pg_catalog;
--
-- TOC entry 1875 (class 2606 OID 46291)
-- TOC entry 1876 (class 2606 OID 46737)
-- Name: auth_pkey; Type: CONSTRAINT; Schema: dbapi; Owner: -; Tablespace:
--
@@ -370,7 +389,7 @@ ALTER TABLE ONLY auth
--
-- TOC entry 1876 (class 2620 OID 46297)
-- TOC entry 1877 (class 2620 OID 46739)
-- Name: ensure_auth_role_exists; Type: TRIGGER; Schema: dbapi; Owner: -
--
@@ -378,7 +397,7 @@ CREATE CONSTRAINT TRIGGER ensure_auth_role_exists AFTER INSERT OR UPDATE ON auth
--
-- TOC entry 1999 (class 0 OID 0)
-- TOC entry 2000 (class 0 OID 0)
-- Dependencies: 8
-- Name: public; Type: ACL; Schema: -; Owner: -
--
@@ -389,7 +408,7 @@ GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;
-- Completed on 2014-09-25 16:21:25 PDT
-- Completed on 2014-09-26 16:36:21 PDT
--
-- PostgreSQL database dump complete