Skip to content

Commit 87b0c77

Browse files
committed
feat(schema) schemify tests
1 parent 9ec6ba8 commit 87b0c77

10 files changed

+224
-219
lines changed

tests/999-wipe-test-data.sql

+5
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,8 @@ DROP SCHEMA public CASCADE;
55
CREATE SCHEMA public;
66
GRANT ALL ON SCHEMA public TO postgres;
77
GRANT ALL ON SCHEMA public TO public;
8+
9+
DROP SCHEMA eql_v1 CASCADE;
10+
CREATE SCHEMA eql_v1;
11+
GRANT ALL ON SCHEMA eql_v1 TO postgres;
12+
GRANT ALL ON SCHEMA eql_v1 TO public;

tests/aggregate-ore.sql

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ DROP TABLE IF EXISTS agg_test;
55
CREATE TABLE agg_test
66
(
77
plain_int integer,
8-
enc_int cs_encrypted_v1
8+
enc_int eql_v1_encrypted
99
);
1010

1111
-- Add data. These are saved from the psql query output connected to Proxy.
@@ -37,16 +37,16 @@ INSERT INTO agg_test (plain_int, enc_int) VALUES
3737
DO $$
3838
BEGIN
3939
-- min null finds null
40-
ASSERT ((SELECT cs_min_v1(enc_int) FROM agg_test where enc_int IS NULL) IS NULL);
40+
ASSERT ((SELECT eql_v1.min(enc_int) FROM agg_test where enc_int IS NULL) IS NULL);
4141

4242
-- min enc_int finds the minimum (1)
43-
ASSERT ((SELECT enc_int FROM agg_test WHERE plain_int = 1) = (SELECT cs_min_v1(enc_int) FROM agg_test));
43+
ASSERT ((SELECT enc_int FROM agg_test WHERE plain_int = 1) = (SELECT eql_v1.min(enc_int) FROM agg_test));
4444

4545
-- max null finds null
46-
ASSERT ((SELECT cs_max_v1(enc_int) FROM agg_test where enc_int IS NULL) IS NULL);
46+
ASSERT ((SELECT eql_v1.max(enc_int) FROM agg_test where enc_int IS NULL) IS NULL);
4747

4848
-- max enc_int finds the maximum (5)
49-
ASSERT ((SELECT enc_int FROM agg_test WHERE plain_int = 5) = (SELECT cs_max_v1(enc_int) FROM agg_test));
49+
ASSERT ((SELECT enc_int FROM agg_test WHERE plain_int = 5) = (SELECT eql_v1.max(enc_int) FROM agg_test));
5050
END;
5151
$$ LANGUAGE plpgsql;
5252

@@ -63,7 +63,7 @@ DO $$
6363
error_message text;
6464
BEGIN
6565
-- min enc_int raises exception
66-
SELECT cs_min_v1(enc_int) FROM agg_test;
66+
SELECT eql_v1.min(enc_int) FROM agg_test;
6767
EXCEPTION
6868
WHEN others THEN
6969
error_message := SQLERRM;
@@ -82,7 +82,7 @@ DO $$
8282
error_message text;
8383
BEGIN
8484
-- max enc_int raises exception
85-
SELECT cs_max_v1(enc_int) FROM agg_test;
85+
SELECT eql_v1.max(enc_int) FROM agg_test;
8686
EXCEPTION
8787
WHEN others THEN
8888
error_message := SQLERRM;

tests/config.sql

+41-41
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ CREATE FUNCTION _index_exists(table_name text, column_name text, index_name text
1111
RETURNS boolean
1212
LANGUAGE sql STRICT PARALLEL SAFE
1313
BEGIN ATOMIC
14-
SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
14+
SELECT EXISTS (SELECT id FROM eql_v1_configuration c
1515
WHERE c.state = state AND
1616
c.data #> array['tables', table_name, column_name, 'indexes'] ? index_name);
1717
END;
@@ -21,31 +21,31 @@ END;
2121
-- Add and remove multiple indexes
2222
--
2323
-- -----------------------------------------------
24-
TRUNCATE TABLE cs_configuration_v1;
24+
TRUNCATE TABLE eql_v1_configuration;
2525

2626

2727
DO $$
2828
BEGIN
2929

3030
-- Add indexes
31-
PERFORM cs_add_index_v1('users', 'name', 'match');
31+
PERFORM eql_v1.add_index('users', 'name', 'match');
3232
ASSERT (SELECT _index_exists('users', 'name', 'match'));
3333

3434
-- Add index with cast
35-
PERFORM cs_add_index_v1('users', 'name', 'unique', 'int');
35+
PERFORM eql_v1.add_index('users', 'name', 'unique', 'int');
3636
ASSERT (SELECT _index_exists('users', 'name', 'unique'));
3737

38-
ASSERT (SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
38+
ASSERT (SELECT EXISTS (SELECT id FROM eql_v1_configuration c
3939
WHERE c.state = 'pending' AND
4040
c.data #> array['tables', 'users', 'name'] ? 'cast_as'));
4141

4242
-- Match index removed
43-
PERFORM cs_remove_index_v1('users', 'name', 'match');
43+
PERFORM eql_v1.remove_index('users', 'name', 'match');
4444
ASSERT NOT (SELECT _index_exists('users', 'name', 'match'));
4545

4646
-- All indexes removed, delete the emtpty pending config
47-
PERFORM cs_remove_index_v1('users', 'name', 'unique');
48-
ASSERT (SELECT NOT EXISTS (SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending'));
47+
PERFORM eql_v1.remove_index('users', 'name', 'unique');
48+
ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v1_configuration c WHERE c.state = 'pending'));
4949

5050
END;
5151
$$ LANGUAGE plpgsql;
@@ -56,78 +56,78 @@ $$ LANGUAGE plpgsql;
5656
-- Add and remove multiple indexes from multiple tables
5757
--
5858
-- -----------------------------------------------
59-
TRUNCATE TABLE cs_configuration_v1;
59+
TRUNCATE TABLE eql_v1_configuration;
6060

6161

6262
DO $$
6363
BEGIN
6464

6565
-- Add indexes
66-
PERFORM cs_add_index_v1('users', 'name', 'match');
66+
PERFORM eql_v1.add_index('users', 'name', 'match');
6767
ASSERT (SELECT _index_exists('users', 'name', 'match'));
6868

69-
ASSERT (SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
69+
ASSERT (SELECT EXISTS (SELECT id FROM eql_v1_configuration c
7070
WHERE c.state = 'pending' AND
7171
c.data #> array['tables', 'users', 'name', 'indexes'] ? 'match'));
7272

7373
-- Add index with cast
74-
PERFORM cs_add_index_v1('blah', 'vtha', 'unique', 'int');
74+
PERFORM eql_v1.add_index('blah', 'vtha', 'unique', 'int');
7575
ASSERT (SELECT _index_exists('blah', 'vtha', 'unique'));
7676

77-
ASSERT (SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
77+
ASSERT (SELECT EXISTS (SELECT id FROM eql_v1_configuration c
7878
WHERE c.state = 'pending' AND
7979
c.data #> array['tables', 'users', 'name', 'indexes'] ? 'match'));
8080

8181

82-
ASSERT (SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
82+
ASSERT (SELECT EXISTS (SELECT id FROM eql_v1_configuration c
8383
WHERE c.state = 'pending' AND
8484
c.data #> array['tables', 'blah', 'vtha', 'indexes'] ? 'unique'));
8585

8686

8787
-- Match index removed
88-
PERFORM cs_remove_index_v1('users', 'name', 'match');
88+
PERFORM eql_v1.remove_index('users', 'name', 'match');
8989
ASSERT NOT (SELECT _index_exists('users', 'name', 'match'));
9090

9191
-- Match index removed
92-
PERFORM cs_remove_index_v1('blah', 'vtha', 'unique');
92+
PERFORM eql_v1.remove_index('blah', 'vtha', 'unique');
9393
ASSERT NOT (SELECT _index_exists('users', 'vtha', 'unique'));
9494

9595
-- All indexes removed, delete the emtpty pending config
96-
ASSERT (SELECT NOT EXISTS (SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending'));
96+
ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v1_configuration c WHERE c.state = 'pending'));
9797

9898
END;
9999
$$ LANGUAGE plpgsql;
100100

101-
SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending';
101+
SELECT FROM eql_v1_configuration c WHERE c.state = 'pending';
102102

103103

104104
-- -----------------------------------------------
105105
-- Add & modify index
106106
-- Pending configuration created and contains the path `user/name.match.option`
107107
-- -----------------------------------------------
108-
-- TRUNCATE TABLE cs_configuration_v1;
108+
-- TRUNCATE TABLE eql_v1_configuration;
109109

110110

111111
DO $$
112112
BEGIN
113-
PERFORM cs_add_index_v1('users', 'name', 'match');
113+
PERFORM eql_v1.add_index('users', 'name', 'match');
114114
ASSERT (SELECT _index_exists('users', 'name', 'match'));
115115

116116
-- Pending configuration contains the path `user/name.match.option`
117-
PERFORM cs_modify_index_v1('users', 'name', 'match', 'int', '{"option": "value"}'::jsonb);
117+
PERFORM eql_v1.modify_index('users', 'name', 'match', 'int', '{"option": "value"}'::jsonb);
118118
ASSERT (SELECT _index_exists('users', 'name', 'match'));
119119

120-
ASSERT (SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
120+
ASSERT (SELECT EXISTS (SELECT id FROM eql_v1_configuration c
121121
WHERE c.state = 'pending' AND
122122
c.data #> array['tables', 'users', 'name', 'indexes', 'match'] ? 'option'));
123123

124-
ASSERT (SELECT EXISTS (SELECT id FROM cs_configuration_v1 c
124+
ASSERT (SELECT EXISTS (SELECT id FROM eql_v1_configuration c
125125
WHERE c.state = 'pending' AND
126126
c.data #> array['tables', 'users', 'name'] ? 'cast_as'));
127127

128128
-- All indexes removed, delete the emtpty pending config
129-
PERFORM cs_remove_index_v1('users', 'name', 'match');
130-
ASSERT (SELECT NOT EXISTS (SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending'));
129+
PERFORM eql_v1.remove_index('users', 'name', 'match');
130+
ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v1_configuration c WHERE c.state = 'pending'));
131131
END;
132132
$$ LANGUAGE plpgsql;
133133

@@ -136,10 +136,10 @@ $$ LANGUAGE plpgsql;
136136
-- -- With existing active config
137137
-- -- Adding an index creates a new pending configuration
138138
-- -- -----------------------------------------------
139-
TRUNCATE TABLE cs_configuration_v1;
139+
TRUNCATE TABLE eql_v1_configuration;
140140

141141
-- create an active configuration
142-
INSERT INTO cs_configuration_v1 (state, data) VALUES (
142+
INSERT INTO eql_v1_configuration (state, data) VALUES (
143143
'active',
144144
'{
145145
"v": 1,
@@ -165,7 +165,7 @@ DO $$
165165
BEGIN
166166
ASSERT (SELECT _index_exists('users', 'blah', 'match', 'active'));
167167

168-
PERFORM cs_add_index_v1('users', 'name', 'match');
168+
PERFORM eql_v1.add_index('users', 'name', 'match');
169169

170170
-- index added to name
171171
ASSERT (SELECT _index_exists('users', 'name', 'match' ));
@@ -182,41 +182,41 @@ $$ LANGUAGE plpgsql;
182182
-- -- Add and remove column
183183
-- --
184184
-- -- -----------------------------------------------
185-
TRUNCATE TABLE cs_configuration_v1;
185+
TRUNCATE TABLE eql_v1_configuration;
186186
DO $$
187187
BEGIN
188188
-- Create pending configuration
189-
PERFORM cs_add_column_v1('user', 'name');
190-
ASSERT (SELECT EXISTS (SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending'));
189+
PERFORM eql_v1.add_column('user', 'name');
190+
ASSERT (SELECT EXISTS (SELECT FROM eql_v1_configuration c WHERE c.state = 'pending'));
191191

192-
PERFORM cs_remove_column_v1('user', 'name');
192+
PERFORM eql_v1.remove_column('user', 'name');
193193

194194
-- Config now empty and removed
195-
ASSERT (SELECT NOT EXISTS (SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending'));
195+
ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v1_configuration c WHERE c.state = 'pending'));
196196
END;
197197
$$ LANGUAGE plpgsql;
198198

199199
-- -----------------------------------------------
200200
---
201-
-- cs_configuration_v1 tyoe
201+
-- eql_v1_configuration tyoe
202202
-- Validate configuration schema
203203
-- Try and insert many invalid configurations
204204
-- None should exist
205205
--
206206
-- -----------------------------------------------
207-
TRUNCATE TABLE cs_configuration_v1;
207+
TRUNCATE TABLE eql_v1_configuration;
208208

209209
\set ON_ERROR_STOP off
210210
\set ON_ERROR_ROLLBACK on
211211

212212
DO $$
213213
BEGIN
214-
RAISE NOTICE 'cs_configuration_v1 constraint tests: 4 errors expected here';
214+
RAISE NOTICE 'eql_v1_configuration constraint tests: 4 errors expected here';
215215
END;
216216
$$ LANGUAGE plpgsql;
217217
--
218218
-- No schema version
219-
INSERT INTO cs_configuration_v1 (data) VALUES (
219+
INSERT INTO eql_v1_configuration (data) VALUES (
220220
'{
221221
"tables": {
222222
"users": {
@@ -231,7 +231,7 @@ INSERT INTO cs_configuration_v1 (data) VALUES (
231231

232232
--
233233
-- Empty tables
234-
INSERT INTO cs_configuration_v1 (data) VALUES (
234+
INSERT INTO eql_v1_configuration (data) VALUES (
235235
'{
236236
"v": 1,
237237
"tables": {}
@@ -241,7 +241,7 @@ INSERT INTO cs_configuration_v1 (data) VALUES (
241241

242242
--
243243
-- invalid cast
244-
INSERT INTO cs_configuration_v1 (data) VALUES (
244+
INSERT INTO eql_v1_configuration (data) VALUES (
245245
'{
246246
"v": 1,
247247
"tables": {
@@ -256,7 +256,7 @@ INSERT INTO cs_configuration_v1 (data) VALUES (
256256

257257
--
258258
-- invalid index
259-
INSERT INTO cs_configuration_v1 (data) VALUES (
259+
INSERT INTO eql_v1_configuration (data) VALUES (
260260
'{
261261
"v": 1,
262262
"tables": {
@@ -276,7 +276,7 @@ INSERT INTO cs_configuration_v1 (data) VALUES (
276276
-- Pending configuration should not be created;
277277
DO $$
278278
BEGIN
279-
ASSERT (SELECT NOT EXISTS (SELECT FROM cs_configuration_v1 c WHERE c.state = 'pending'));
279+
ASSERT (SELECT NOT EXISTS (SELECT FROM eql_v1_configuration c WHERE c.state = 'pending'));
280280
END;
281281
$$ LANGUAGE plpgsql;
282282

tests/core-functions.sql

+12-12
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33

44
DO $$
55
BEGIN
6-
ASSERT (SELECT EXISTS (SELECT cs_unique_v1('{"u": "u"}'::jsonb)));
7-
ASSERT (SELECT EXISTS (SELECT cs_match_v1('{"m": []}'::jsonb)));
8-
ASSERT (SELECT EXISTS (SELECT cs_ste_vec_v1('{"sv": [[]]}'::jsonb)));
9-
ASSERT (SELECT EXISTS (SELECT cs_ore_64_8_v1('{"o": []}'::jsonb)));
6+
ASSERT (SELECT EXISTS (SELECT eql_v1.unique('{"u": "u"}'::jsonb)));
7+
ASSERT (SELECT EXISTS (SELECT eql_v1.match('{"m": []}'::jsonb)));
8+
ASSERT (SELECT EXISTS (SELECT eql_v1.ste_vec_v1('{"sv": [[]]}'::jsonb)));
9+
ASSERT (SELECT EXISTS (SELECT eql_v1.cs_ore_64_8_v1('{"o": []}'::jsonb)));
1010

1111
END;
1212
$$ LANGUAGE plpgsql;
1313

1414
DO $$
1515
BEGIN
1616
-- sanity check
17-
PERFORM cs_ore_64_8_v1('{"o": []}'::jsonb);
17+
PERFORM eql_v1.cs_ore_64_8_v1('{"o": []}'::jsonb);
1818

1919
BEGIN
20-
PERFORM cs_ore_64_8_v1('{}'::jsonb);
20+
PERFORM eql_v1.cs_ore_64_8_v1('{}'::jsonb);
2121
RAISE NOTICE 'Missing index. Function call should have failed.';
2222
ASSERT false;
2323
EXCEPTION
@@ -30,10 +30,10 @@ $$ LANGUAGE plpgsql;
3030
DO $$
3131
BEGIN
3232
-- sanity check
33-
PERFORM cs_ste_vec_v1('{"sv": [[]]}'::jsonb);
33+
PERFORM eql_v1.ste_vec_v1('{"sv": [[]]}'::jsonb);
3434

3535
BEGIN
36-
PERFORM cs_ste_vec_v1('{}'::jsonb);
36+
PERFORM eql_v1.ste_vec_v1('{}'::jsonb);
3737
RAISE NOTICE 'Missing index. Function call should have failed.';
3838
ASSERT false;
3939
EXCEPTION
@@ -47,10 +47,10 @@ $$ LANGUAGE plpgsql;
4747
DO $$
4848
BEGIN
4949
-- sanity check
50-
PERFORM cs_unique_v1('{"u": "u"}'::jsonb);
50+
PERFORM eql_v1.unique('{"u": "u"}'::jsonb);
5151

5252
BEGIN
53-
PERFORM cs_unique_v1_v0('{}'::jsonb);
53+
PERFORM eql_v1.unique_v1('{}'::jsonb);
5454
RAISE NOTICE 'Missing index. Function call should have failed.';
5555
ASSERT false;
5656
EXCEPTION
@@ -64,10 +64,10 @@ $$ LANGUAGE plpgsql;
6464
DO $$
6565
BEGIN
6666
-- sanity check
67-
PERFORM cs_match_v1('{"m": []}'::jsonb);
67+
PERFORM eql_v1.match('{"m": []}'::jsonb);
6868

6969
BEGIN
70-
PERFORM cs_match_v1('{}'::jsonb);
70+
PERFORM eql_v1.match('{}'::jsonb);
7171
RAISE NOTICE 'Missing index. Function call should have failed.';
7272
ASSERT false;
7373
EXCEPTION

0 commit comments

Comments
 (0)