Updated Peristance layer to use the new error_hanler based on EWF error library.
Remove once use from DATABASE_ERROR_HANDLER. Initial support transaction handling.
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
note
|
||||
description: "[
|
||||
Eiffel tests that can be executed by testing tool.
|
||||
]"
|
||||
author: "EiffelStudio test wizard"
|
||||
date: "$Date$"
|
||||
revision: "$Revision$"
|
||||
testing: "type/manual"
|
||||
|
||||
class
|
||||
DATABASE_HANDLER_TEST
|
||||
|
||||
inherit
|
||||
EQA_TEST_SET
|
||||
redefine
|
||||
on_prepare,
|
||||
on_clean
|
||||
select
|
||||
default_create
|
||||
end
|
||||
ABSTRACT_DB_TEST
|
||||
rename
|
||||
default_create as default_db_test
|
||||
end
|
||||
|
||||
|
||||
feature {NONE} -- Events
|
||||
|
||||
on_prepare
|
||||
-- <Precursor>
|
||||
do
|
||||
(create {CLEAN_DB}).clean_db(connection)
|
||||
end
|
||||
|
||||
on_clean
|
||||
-- <Precursor>
|
||||
do
|
||||
end
|
||||
|
||||
|
||||
feature -- Test routines
|
||||
|
||||
test_wrong_database_query
|
||||
-- New test routine
|
||||
local
|
||||
l_parameters: STRING_TABLE[detachable ANY]
|
||||
do
|
||||
create l_parameters.make (0)
|
||||
handler.set_query (create {DATABASE_QUERY}.data_reader ("Sellect from users", l_parameters))
|
||||
handler.execute_query
|
||||
assert ("Has error:", handler.has_error)
|
||||
end
|
||||
|
||||
|
||||
|
||||
test_sequences_of_wrong_and_correct_queries
|
||||
-- New test routine
|
||||
local
|
||||
l_parameters: STRING_TABLE[detachable ANY]
|
||||
do
|
||||
create l_parameters.make (0)
|
||||
handler.set_query (create {DATABASE_QUERY}.data_reader ("Sellect from users;", l_parameters))
|
||||
handler.execute_query
|
||||
assert ("Has error:", handler.has_error)
|
||||
|
||||
handler.set_query (create {DATABASE_QUERY}.data_reader ("Select * from users;", l_parameters))
|
||||
handler.execute_query
|
||||
assert ("Not Has error:",not handler.has_error)
|
||||
end
|
||||
|
||||
|
||||
feature -- Handler
|
||||
|
||||
handler: DATABASE_HANDLER
|
||||
once
|
||||
create {DATABASE_HANDLER_IMPL} Result.make (connection )
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
@@ -41,7 +41,9 @@ feature {NONE} -- Events
|
||||
feature -- Test routines
|
||||
|
||||
test_new_node
|
||||
do
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
do
|
||||
assert ("Empty Nodes", node_provider.nodes.after)
|
||||
node_provider.new_node (default_node)
|
||||
assert ("Not empty Nodes after new_node", not node_provider.nodes.after)
|
||||
@@ -53,6 +55,8 @@ feature -- Test routines
|
||||
|
||||
|
||||
test_update_node
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
local
|
||||
l_node: CMS_NODE
|
||||
do
|
||||
@@ -85,6 +89,8 @@ feature -- Test routines
|
||||
end
|
||||
|
||||
test_update_title
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
local
|
||||
l_node: CMS_NODE
|
||||
do
|
||||
@@ -104,6 +110,8 @@ feature -- Test routines
|
||||
end
|
||||
|
||||
test_update_summary
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
local
|
||||
l_node: CMS_NODE
|
||||
do
|
||||
@@ -123,11 +131,14 @@ feature -- Test routines
|
||||
end
|
||||
|
||||
test_update_content
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
local
|
||||
l_node: CMS_NODE
|
||||
do
|
||||
assert ("Empty Nodes", node_provider.nodes.after)
|
||||
l_node := custom_node ("<h1> test node udpate </h1>", "Update node", "Test case update")
|
||||
connection.begin_transaction
|
||||
node_provider.new_node (l_node)
|
||||
assert ("Not empty Nodes after new_node", not node_provider.nodes.after)
|
||||
-- Exist node with id 1
|
||||
@@ -139,6 +150,7 @@ feature -- Test routines
|
||||
node_provider.update_node_content (l_un.id,"New Content")
|
||||
assert ("Exist node with id 1", attached {CMS_NODE} node_provider.node (1) as ll_node and then not (ll_node.content ~ l_un.content) and then ll_node.content ~ "New Content" and then ll_node.summary ~ l_un.summary and then ll_node.title ~ l_un.title)
|
||||
end
|
||||
connection.commit
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
</option>
|
||||
<setting name="concurrency" value="thread"/>
|
||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
||||
<library name="model" location="..\..\..\..\model\model-safe.ecf"/>
|
||||
<library name="crypto" location="$ISE_LIBRARY\unstable\library\text\encryption\crypto\crypto-safe.ecf"/>
|
||||
<library name="persitence_mysql" location="..\persistence_mysql-safe.ecf" readonly="false"/>
|
||||
<library name="testing" location="$ISE_LIBRARY\library\testing\testing-safe.ecf"/>
|
||||
|
||||
@@ -66,77 +66,6 @@ feature -- Test routines
|
||||
assert ("Not has nodes:", node_provider.count = 0)
|
||||
end
|
||||
|
||||
|
||||
|
||||
test_user_node_nested_transaction_with_rollback_not_supported
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
do
|
||||
connection.begin_transaction2
|
||||
user_provider.new_user ("test", "test","test@admin.com")
|
||||
assert ("Has user:", user_provider.has_user)
|
||||
node_provider.new_node (default_node)
|
||||
assert ("Has one node:", node_provider.count = 1)
|
||||
|
||||
connection.begin_transaction2
|
||||
user_provider.new_user ("test1", "test1","test1@admin.com")
|
||||
assert ("Has user: test1", attached user_provider.user_by_name ("test1"))
|
||||
connection.rollback2
|
||||
|
||||
connection.commit2
|
||||
assert ("Has user test:", attached user_provider.user_by_name ("test"))
|
||||
assert ("Has nodes:", node_provider.count = 1)
|
||||
assert ("Not has user: test1", user_provider.user_by_name ("test1") = Void)
|
||||
end
|
||||
|
||||
|
||||
test_user_node_nested_transaction_with_commit
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
do
|
||||
connection.begin_transaction2
|
||||
user_provider.new_user ("test", "test","test@admin.com")
|
||||
assert ("Has user:", user_provider.has_user)
|
||||
node_provider.new_node (default_node)
|
||||
assert ("Has one node:", node_provider.count = 1)
|
||||
|
||||
connection.begin_transaction2
|
||||
user_provider.new_user ("test1", "test1","test1@admin.com")
|
||||
assert ("Has user: test1", attached user_provider.user_by_name ("test1"))
|
||||
connection.commit2
|
||||
|
||||
connection.commit2
|
||||
assert ("Has user test:", attached user_provider.user_by_name ("test"))
|
||||
assert ("Has user test1:", attached user_provider.user_by_name ("test1"))
|
||||
assert ("Has nodes:", node_provider.count = 1)
|
||||
end
|
||||
|
||||
|
||||
test_user_node_nested_transaction_with_rollback
|
||||
note
|
||||
testing: "execution/isolated"
|
||||
do
|
||||
connection.begin_transaction2
|
||||
user_provider.new_user ("test", "test","test@admin.com")
|
||||
assert ("Has user:", user_provider.has_user)
|
||||
node_provider.new_node (default_node)
|
||||
assert ("Has one node:", node_provider.count = 1)
|
||||
|
||||
connection.begin_transaction2
|
||||
user_provider.new_user ("test1", "test1","test1@admin.com")
|
||||
assert ("Has user: test1", attached user_provider.user_by_name ("test1"))
|
||||
connection.commit2
|
||||
|
||||
connection.rollback2
|
||||
assert ("Not Has user test:", user_provider.user_by_name ("test") = void)
|
||||
assert ("Not Has user test1:", user_provider.user_by_name ("test1") = void)
|
||||
assert ("Has 0 nodes:", node_provider.count = 0)
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
feature {NONE} -- Implementation
|
||||
|
||||
node_provider: NODE_DATA_PROVIDER
|
||||
|
||||
Reference in New Issue
Block a user