80 lines
2.7 KiB
PL/PgSQL
80 lines
2.7 KiB
PL/PgSQL
-- Test user
|
|
set client_min_messages to warning;
|
|
create extension if not exists pgtap;
|
|
reset client_min_messages;
|
|
|
|
begin;
|
|
|
|
select plan(52);
|
|
|
|
set search_path to auth, public;
|
|
|
|
select has_table('user');
|
|
select has_pk('user');
|
|
select table_privs_are('user', 'guest', array []::text[]);
|
|
select table_privs_are('user', 'employee', array []::text[]);
|
|
select table_privs_are('user', 'admin', array []::text[]);
|
|
select table_privs_are('user', 'authenticator', array []::text[]);
|
|
|
|
select has_sequence('user_user_id_seq');
|
|
select sequence_privs_are('user_user_id_seq', 'guest', array[]::text[]);
|
|
select sequence_privs_are('user_user_id_seq', 'employee', array[]::text[]);
|
|
select sequence_privs_are('user_user_id_seq', 'admin', array[]::text[]);
|
|
select sequence_privs_are('user_user_id_seq', 'authenticator', array[]::text[]);
|
|
|
|
select has_column('user', 'user_id');
|
|
select col_is_pk('user', 'user_id');
|
|
select col_type_is('user', 'user_id', 'integer');
|
|
select col_not_null('user', 'user_id');
|
|
select col_has_default('user', 'user_id');
|
|
select col_default_is('user', 'user_id', 'nextval(''user_user_id_seq''::regclass)');
|
|
|
|
select has_column('user', 'email');
|
|
select col_is_unique('user', 'email');
|
|
select col_type_is('user', 'email', 'camper.email');
|
|
select col_not_null('user', 'email');
|
|
select col_hasnt_default('user', 'email');
|
|
|
|
select has_column('user', 'name');
|
|
select col_type_is('user', 'name', 'text');
|
|
select col_not_null('user', 'name');
|
|
select col_hasnt_default('user', 'name');
|
|
|
|
select has_column('user', 'password');
|
|
select col_type_is('user', 'password', 'text');
|
|
select col_not_null('user', 'password');
|
|
select col_hasnt_default('user', 'password');
|
|
|
|
select has_column('user', 'lang_tag');
|
|
select col_is_fk('user', 'lang_tag');
|
|
select fk_ok('user', 'lang_tag', 'language', 'lang_tag');
|
|
select col_type_is('user', 'lang_tag', 'text');
|
|
select col_not_null('user', 'lang_tag');
|
|
select col_has_default('user', 'lang_tag');
|
|
select col_default_is('user', 'lang_tag', 'und');
|
|
|
|
select has_column('user', 'cookie');
|
|
select col_type_is('user', 'cookie', 'text');
|
|
select col_not_null('user', 'cookie');
|
|
select col_has_default('user', 'cookie');
|
|
select col_default_is('user', 'cookie', '');
|
|
|
|
select has_column('user', 'cookie_expires_at');
|
|
select col_type_is('user', 'cookie_expires_at', 'timestamp with time zone');
|
|
select col_not_null('user', 'cookie_expires_at');
|
|
select col_has_default('user', 'cookie_expires_at');
|
|
select col_default_is('user', 'cookie_expires_at', '-infinity'::timestamp);
|
|
|
|
select has_column('user', 'created_at');
|
|
select col_type_is('user', 'created_at', 'timestamp with time zone');
|
|
select col_not_null('user', 'created_at');
|
|
select col_has_default('user', 'created_at');
|
|
select col_default_is('user', 'created_at', 'CURRENT_TIMESTAMP');
|
|
|
|
|
|
select *
|
|
from finish();
|
|
|
|
rollback;
|
|
|