BEGIN
sql_guard.add_test (NAME_IN => 'Semi-colon', test_string_in => ';');
sql_guard.add_test (test_string_in => 'CREATE');
sql_guard.add_test (test_string_in => 'REPLACE');
sql_guard.add_test (test_string_in => 'DROP');
sql_guard.add_test (test_string_in => 'ALTER');
sql_guard.add_test (test_string_in => 'REVOKE');
sql_guard.add_test (test_string_in => 'PROCEDURE');
sql_guard.add_test (test_string_in => 'FUNCTION');
sql_guard.add_test (test_string_in => 'EXECUTE IMMEDIATE');
sql_guard.add_test (test_string_in => 'DBMS_SQL');
sql_guard.add_test (test_string_in => 'UNION');
sql_guard.add_test (NAME_IN => 'Single Quote', test_string_in => '''');
sql_guard.add_test (NAME_IN => 'Reference to SYS object'
, test_string_in => 'SYS.'
);
sql_guard.add_test (NAME_IN => 'Trivial WHERE clause'
, test_string_in => '%1=1%'
);
sql_guard.add_test (NAME_IN => 'Contains the word "DUMMY"'
, test_string_in => 'INSTR ([SQLTEXT], ''DUMMY'') > 0'
, operator_in => sql_guard.c_expression_test
, surround_with_pct_in => FALSE
);
INSERT INTO sql_guard_drivers
VALUES (sql_guard_seq.NEXTVAL
, sql_guard.c_sql_is_safe
, sql_guard.c_sql
, 'SELECT * FROM employees'
);
INSERT INTO sql_guard_drivers
VALUES (sql_guard_seq.NEXTVAL
, sql_guard.c_injection_detected
, sql_guard.c_ddl
, 'DROP TABLE abc'
);
INSERT INTO sql_guard_drivers
VALUES (sql_guard_seq.NEXTVAL
, sql_guard.c_injection_detected
, sql_guard.c_sql
, 'where 1=1'
);
INSERT INTO sql_guard_drivers
VALUES (sql_guard_seq.NEXTVAL
, sql_guard.c_injection_detected
, sql_guard.c_sql
, 'select * from dummy'
);
INSERT INTO sql_guard_drivers
VALUES (sql_guard_seq.NEXTVAL
, sql_guard.c_injection_detected
, sql_guard.c_sql
, 'create or replace procedure abc is begin null; end;'
);
COMMIT;
END;