Remove test scenarios for archival strategies from test_archival_strategies.sql
This commit is contained in:
@@ -1,253 +0,0 @@
|
|||||||
-- MARS-828: Test archival strategies
|
|
||||||
-- Author: Grzegorz Michalski
|
|
||||||
-- Date: 2026-01-27
|
|
||||||
-- Description: Comprehensive test scenarios for all archival strategies
|
|
||||||
|
|
||||||
SET SERVEROUTPUT ON SIZE UNLIMITED
|
|
||||||
|
|
||||||
PROMPT ========================================
|
|
||||||
PROMPT MARS-828: Testing Archival Strategies
|
|
||||||
PROMPT ========================================
|
|
||||||
|
|
||||||
-- Test 1: THRESHOLD_BASED (backward compatibility)
|
|
||||||
PROMPT
|
|
||||||
PROMPT Test 1: THRESHOLD_BASED strategy
|
|
||||||
DECLARE
|
|
||||||
vTestKey NUMBER := -1000;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO CT_MRDS.A_SOURCE_FILE_CONFIG (
|
|
||||||
A_SOURCE_FILE_CONFIG_KEY,
|
|
||||||
A_SOURCE_KEY,
|
|
||||||
SOURCE_FILE_TYPE,
|
|
||||||
SOURCE_FILE_ID,
|
|
||||||
SOURCE_FILE_DESC,
|
|
||||||
SOURCE_FILE_NAME_PATTERN,
|
|
||||||
TABLE_ID,
|
|
||||||
TEMPLATE_TABLE_NAME,
|
|
||||||
ARCHIVAL_STRATEGY,
|
|
||||||
DAYS_FOR_ARCHIVE_THRESHOLD
|
|
||||||
) VALUES (
|
|
||||||
vTestKey,
|
|
||||||
'TEST1',
|
|
||||||
'INPUT',
|
|
||||||
'TEST_THRESHOLD',
|
|
||||||
'Test threshold-based',
|
|
||||||
'test*.csv',
|
|
||||||
'TEST_TABLE',
|
|
||||||
'CT_ET_TEMPLATES.TEST',
|
|
||||||
'THRESHOLD_BASED',
|
|
||||||
30
|
|
||||||
);
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: THRESHOLD_BASED strategy configured');
|
|
||||||
ROLLBACK;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: ' || SQLERRM);
|
|
||||||
ROLLBACK;
|
|
||||||
END;
|
|
||||||
/
|
|
||||||
|
|
||||||
-- Test 2: CURRENT_MONTH_ONLY
|
|
||||||
PROMPT
|
|
||||||
PROMPT Test 2: CURRENT_MONTH_ONLY strategy
|
|
||||||
DECLARE
|
|
||||||
vTestKey NUMBER := -1001;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO CT_MRDS.A_SOURCE_FILE_CONFIG (
|
|
||||||
A_SOURCE_FILE_CONFIG_KEY,
|
|
||||||
A_SOURCE_KEY,
|
|
||||||
SOURCE_FILE_TYPE,
|
|
||||||
SOURCE_FILE_ID,
|
|
||||||
SOURCE_FILE_DESC,
|
|
||||||
SOURCE_FILE_NAME_PATTERN,
|
|
||||||
TABLE_ID,
|
|
||||||
TEMPLATE_TABLE_NAME,
|
|
||||||
ARCHIVAL_STRATEGY
|
|
||||||
) VALUES (
|
|
||||||
vTestKey,
|
|
||||||
'TEST2',
|
|
||||||
'INPUT',
|
|
||||||
'TEST_CURRENT_MONTH',
|
|
||||||
'Test current month only',
|
|
||||||
'test*.csv',
|
|
||||||
'TEST_TABLE',
|
|
||||||
'CT_ET_TEMPLATES.TEST',
|
|
||||||
'CURRENT_MONTH_ONLY'
|
|
||||||
);
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: CURRENT_MONTH_ONLY strategy configured');
|
|
||||||
ROLLBACK;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: ' || SQLERRM);
|
|
||||||
ROLLBACK;
|
|
||||||
END;
|
|
||||||
/
|
|
||||||
|
|
||||||
-- Test 3: MINIMUM_AGE_MONTHS (should succeed)
|
|
||||||
PROMPT
|
|
||||||
PROMPT Test 3: MINIMUM_AGE_MONTHS strategy with valid config
|
|
||||||
DECLARE
|
|
||||||
vTestKey NUMBER := -1002;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO CT_MRDS.A_SOURCE_FILE_CONFIG (
|
|
||||||
A_SOURCE_FILE_CONFIG_KEY,
|
|
||||||
A_SOURCE_KEY,
|
|
||||||
SOURCE_FILE_TYPE,
|
|
||||||
SOURCE_FILE_ID,
|
|
||||||
SOURCE_FILE_DESC,
|
|
||||||
SOURCE_FILE_NAME_PATTERN,
|
|
||||||
TABLE_ID,
|
|
||||||
TEMPLATE_TABLE_NAME,
|
|
||||||
ARCHIVAL_STRATEGY,
|
|
||||||
MINIMUM_AGE_MONTHS
|
|
||||||
) VALUES (
|
|
||||||
vTestKey,
|
|
||||||
'TEST3',
|
|
||||||
'INPUT',
|
|
||||||
'TEST_MIN_AGE',
|
|
||||||
'Test minimum age months',
|
|
||||||
'test*.csv',
|
|
||||||
'TEST_TABLE',
|
|
||||||
'CT_ET_TEMPLATES.TEST',
|
|
||||||
'MINIMUM_AGE_MONTHS',
|
|
||||||
6
|
|
||||||
);
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: MINIMUM_AGE_MONTHS strategy configured with 6 months');
|
|
||||||
ROLLBACK;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: ' || SQLERRM);
|
|
||||||
ROLLBACK;
|
|
||||||
END;
|
|
||||||
/
|
|
||||||
|
|
||||||
-- Test 4: MINIMUM_AGE_MONTHS without value (should fail)
|
|
||||||
PROMPT
|
|
||||||
PROMPT Test 4: MINIMUM_AGE_MONTHS strategy without value (should fail)
|
|
||||||
DECLARE
|
|
||||||
vTestKey NUMBER := -1003;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO CT_MRDS.A_SOURCE_FILE_CONFIG (
|
|
||||||
A_SOURCE_FILE_CONFIG_KEY,
|
|
||||||
A_SOURCE_KEY,
|
|
||||||
SOURCE_FILE_TYPE,
|
|
||||||
SOURCE_FILE_ID,
|
|
||||||
SOURCE_FILE_DESC,
|
|
||||||
SOURCE_FILE_NAME_PATTERN,
|
|
||||||
TABLE_ID,
|
|
||||||
TEMPLATE_TABLE_NAME,
|
|
||||||
ARCHIVAL_STRATEGY,
|
|
||||||
MINIMUM_AGE_MONTHS
|
|
||||||
) VALUES (
|
|
||||||
vTestKey,
|
|
||||||
'TEST4',
|
|
||||||
'INPUT',
|
|
||||||
'TEST_MIN_AGE_FAIL',
|
|
||||||
'Test minimum age months failure',
|
|
||||||
'test*.csv',
|
|
||||||
'TEST_TABLE',
|
|
||||||
'CT_ET_TEMPLATES.TEST',
|
|
||||||
'MINIMUM_AGE_MONTHS',
|
|
||||||
NULL -- Should trigger error
|
|
||||||
);
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: Trigger did not fire - this should have failed!');
|
|
||||||
ROLLBACK;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
IF SQLCODE = -20999 THEN
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: Trigger correctly prevented invalid config');
|
|
||||||
ELSE
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: Unexpected error: ' || SQLERRM);
|
|
||||||
END IF;
|
|
||||||
ROLLBACK;
|
|
||||||
END;
|
|
||||||
/
|
|
||||||
|
|
||||||
-- Test 5: HYBRID strategy
|
|
||||||
PROMPT
|
|
||||||
PROMPT Test 5: HYBRID strategy
|
|
||||||
DECLARE
|
|
||||||
vTestKey NUMBER := -1004;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO CT_MRDS.A_SOURCE_FILE_CONFIG (
|
|
||||||
A_SOURCE_FILE_CONFIG_KEY,
|
|
||||||
A_SOURCE_KEY,
|
|
||||||
SOURCE_FILE_TYPE,
|
|
||||||
SOURCE_FILE_ID,
|
|
||||||
SOURCE_FILE_DESC,
|
|
||||||
SOURCE_FILE_NAME_PATTERN,
|
|
||||||
TABLE_ID,
|
|
||||||
TEMPLATE_TABLE_NAME,
|
|
||||||
ARCHIVAL_STRATEGY,
|
|
||||||
MINIMUM_AGE_MONTHS
|
|
||||||
) VALUES (
|
|
||||||
vTestKey,
|
|
||||||
'TEST5',
|
|
||||||
'INPUT',
|
|
||||||
'TEST_HYBRID',
|
|
||||||
'Test hybrid strategy',
|
|
||||||
'test*.csv',
|
|
||||||
'TEST_TABLE',
|
|
||||||
'CT_ET_TEMPLATES.TEST',
|
|
||||||
'HYBRID',
|
|
||||||
3
|
|
||||||
);
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: HYBRID strategy configured');
|
|
||||||
ROLLBACK;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: ' || SQLERRM);
|
|
||||||
ROLLBACK;
|
|
||||||
END;
|
|
||||||
/
|
|
||||||
|
|
||||||
-- Test 6: Invalid strategy (should fail)
|
|
||||||
PROMPT
|
|
||||||
PROMPT Test 6: Invalid strategy (should fail)
|
|
||||||
DECLARE
|
|
||||||
vTestKey NUMBER := -1005;
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO CT_MRDS.A_SOURCE_FILE_CONFIG (
|
|
||||||
A_SOURCE_FILE_CONFIG_KEY,
|
|
||||||
A_SOURCE_KEY,
|
|
||||||
SOURCE_FILE_TYPE,
|
|
||||||
SOURCE_FILE_ID,
|
|
||||||
SOURCE_FILE_DESC,
|
|
||||||
SOURCE_FILE_NAME_PATTERN,
|
|
||||||
TABLE_ID,
|
|
||||||
TEMPLATE_TABLE_NAME,
|
|
||||||
ARCHIVAL_STRATEGY
|
|
||||||
) VALUES (
|
|
||||||
vTestKey,
|
|
||||||
'TEST6',
|
|
||||||
'INPUT',
|
|
||||||
'TEST_INVALID',
|
|
||||||
'Test invalid strategy',
|
|
||||||
'test*.csv',
|
|
||||||
'TEST_TABLE',
|
|
||||||
'CT_ET_TEMPLATES.TEST',
|
|
||||||
'INVALID_STRATEGY'
|
|
||||||
);
|
|
||||||
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: Check constraint did not fire!');
|
|
||||||
ROLLBACK;
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS THEN
|
|
||||||
IF SQLCODE = -2290 THEN
|
|
||||||
DBMS_OUTPUT.PUT_LINE('SUCCESS: Check constraint prevented invalid strategy');
|
|
||||||
ELSE
|
|
||||||
DBMS_OUTPUT.PUT_LINE('FAILED: Unexpected error: ' || SQLERRM);
|
|
||||||
END IF;
|
|
||||||
ROLLBACK;
|
|
||||||
END;
|
|
||||||
/
|
|
||||||
|
|
||||||
PROMPT
|
|
||||||
PROMPT ========================================
|
|
||||||
PROMPT MARS-828: Testing Complete
|
|
||||||
PROMPT ========================================
|
|
||||||
Reference in New Issue
Block a user