-
-
Notifications
You must be signed in to change notification settings - Fork 169
/
Copy pathunit-test-01.sql
58 lines (50 loc) · 1.4 KB
/
unit-test-01.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
BEGIN;
CREATE EXTENSION IF NOT EXISTS pgtap;
DO $$
DECLARE
extension_array text[];
orioledb_available boolean;
BEGIN
-- Check if orioledb is available
SELECT EXISTS (
SELECT 1 FROM pg_available_extensions WHERE name = 'orioledb'
) INTO orioledb_available;
-- If available, create it and add to the expected extensions list
IF orioledb_available THEN
CREATE EXTENSION IF NOT EXISTS orioledb;
extension_array := ARRAY[
'plpgsql',
'pg_stat_statements',
'pgtap',
'pg_graphql',
'pgcrypto',
'pgjwt',
'uuid-ossp',
'supabase_vault',
'orioledb'
];
ELSE
extension_array := ARRAY[
'plpgsql',
'pg_stat_statements',
'pgtap',
'pg_graphql',
'pgcrypto',
'pgjwt',
'uuid-ossp',
'supabase_vault'
];
END IF;
-- Set the array as a temporary variable to use in the test
PERFORM set_config('myapp.extensions', array_to_string(extension_array, ','), false);
END $$;
SELECT no_plan();
SELECT extensions_are(
string_to_array(current_setting('myapp.extensions'), ',')::text[]
);
SELECT has_schema('pg_toast');
SELECT has_schema('pg_catalog');
SELECT has_schema('information_schema');
SELECT has_schema('public');
SELECT * FROM finish();
ROLLBACK;