Emmanuel BENOîT
b054a379a9
* The universe generator has been modified to generate resource providers. The code attempts to keep the universe balanced according to the natural resources definitions.
74 lines
No EOL
3.6 KiB
PL/PgSQL
74 lines
No EOL
3.6 KiB
PL/PgSQL
/*
|
|
* Test the defs.uoc_resource_internal() function
|
|
*/
|
|
BEGIN;
|
|
|
|
/* We need a few strings to be used when creating resource definitions, and a natural resource. */
|
|
\i utils/strings.sql
|
|
\i utils/resources.sql
|
|
SELECT _create_test_strings( 7 );
|
|
SELECT _create_natural_resources( 1 , 'natRes' );
|
|
|
|
/****** TESTS BEGIN HERE ******/
|
|
SELECT plan( 15 );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - creation without category' );
|
|
SELECT is( defs.uoc_resource_internal( 'test3' , 'test4' , NULL , 1 ) , 'CREATED' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - creation results without category' );
|
|
SELECT results_eq(
|
|
$$ SELECT resource_name_id , resource_description_id , resource_weight
|
|
FROM defs.resources
|
|
WHERE resource_name_id = _get_string( 'test3' )
|
|
AND resource_category_id IS NULL $$ ,
|
|
$$ VALUES ( _get_string( 'test3' ) , _get_string( 'test4' ) , 1 ) $$
|
|
);
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - creation with category' );
|
|
SELECT is( defs.uoc_resource_internal( 'test5' , 'test6' , 'test7' , 1 ) , 'CREATED' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - creation results with category' );
|
|
SELECT results_eq(
|
|
$$ SELECT * FROM defs.resources
|
|
WHERE resource_name_id = _get_string( 'test5' ) $$ ,
|
|
$$ VALUES ( _get_string( 'test5' ) , _get_string( 'test6' ) , _get_string( 'test7' ) , 1 ) $$
|
|
);
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - update without category' );
|
|
SELECT is( defs.uoc_resource_internal( 'test3' , 'test7' , NULL , 2 ) , 'UPDATED' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - update results without category' );
|
|
SELECT results_eq(
|
|
$$ SELECT resource_name_id , resource_description_id , resource_weight
|
|
FROM defs.resources
|
|
WHERE resource_name_id = _get_string( 'test3' )
|
|
AND resource_category_id IS NULL $$ ,
|
|
$$ VALUES ( _get_string( 'test3' ) , _get_string( 'test7' ) , 2 ) $$
|
|
);
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - update with category' );
|
|
SELECT is( defs.uoc_resource_internal( 'test3' , 'test4' , 'test7' , 1 ) , 'UPDATED' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - update results with category' );
|
|
SELECT results_eq(
|
|
$$ SELECT * FROM defs.resources
|
|
WHERE resource_name_id = _get_string( 'test3' ) $$ ,
|
|
$$ VALUES ( _get_string( 'test3' ) , _get_string( 'test4' ) , _get_string( 'test7' ) , 1 ) $$
|
|
);
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - incorrect name string' );
|
|
SELECT is( defs.uoc_resource_internal( 'does-not-exist' , 'test2' , NULL , 1 ) , 'BAD_STRINGS' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - incorrect description string' );
|
|
SELECT is( defs.uoc_resource_internal( 'test1' , 'does-not-exist' , NULL , 1 ) , 'BAD_STRINGS' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - incorrect category string' );
|
|
SELECT is( defs.uoc_resource_internal( 'test1' , 'test2' , 'does-not-exist' , 1 ) , 'BAD_STRINGS' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - duplicate description on new resource' );
|
|
SELECT is( defs.uoc_resource_internal( 'test1' , 'test4' , NULL , 1 ) , 'DUP_DESCR' );
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - duplicate description on existing resource' );
|
|
SELECT is( defs.uoc_resource_internal( 'test5' , 'test4' , NULL , 1 ) , 'DUP_DESCR' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - update on natural resource' );
|
|
SELECT is( defs.uoc_resource_internal( 'natRes1' , 'test2' , NULL , 1 ) , 'BAD_TYPE' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource_internal() - weight <= 0' );
|
|
SELECT is( defs.uoc_resource_internal( 'test1' , 'test2' , NULL , 0 ) , 'BAD_VALUE' );
|
|
|
|
SELECT * FROM finish( );
|
|
ROLLBACK; |