Updated navigation templte to include current user.

Updated CMS_NODE, CMS_USER.
Added USER_PROFILE and USER_ROLE
Updated new USER_DATA_PROVIDER and NODE_DATA_PROVIDER to support new features.
Added ROLE_DATA_PROVIDER.
Updated test cases.
Updated MySQL database schema.
This commit is contained in:
jvelilla
2014-09-18 00:36:50 -03:00
parent 1dce893293
commit 5d551f7fe1
12 changed files with 784 additions and 39 deletions

View File

@@ -0,0 +1,100 @@
note
description: "Summary description for {ROLE_TEST_SET}."
author: ""
date: "$Date$"
revision: "$Revision$"
class
ROLE_TEST_SET
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_roles_empty
do
assert ("Not elements",role_provider.roles.after)
assert ("Count = 0", role_provider.count = 0)
end
test_roles_by_id_not_exist
do
assert ("Void", role_provider.role (1) = Void)
end
test_roles_by_name_not_exist
do
assert ("Void", role_provider.role_by_name ("admin") = Void)
end
test_new_role
do
assert ("Count = 0", role_provider.count = 0)
role_provider.new_role ("admin")
assert ("Count = 1", role_provider.count = 1)
assert ("Expected role", attached role_provider.role (1) as l_role and then l_role.name ~ "admin")
assert ("Expected role", attached role_provider.role_by_name ("admin") as l_role and then l_role.id = 1)
end
test_permissions_empty_not_exist_role
do
assert ("Not elements",role_provider.permission_by_role (1).after)
end
test_permissions_empty_exist_role
do
assert ("Count = 0", role_provider.count = 0)
role_provider.new_role ("admin")
assert ("Count = 1", role_provider.count = 1)
assert ("Exist role",not role_provider.roles.after)
assert ("Not permission by role 1 elements",role_provider.permission_by_role (1).after)
end
test_new_role_with_permissions
do
assert ("Count = 0", role_provider.count = 0)
role_provider.new_role ("admin")
role_provider.save_role_permission (1, "Create Page")
role_provider.save_role_permission (1, "Edit Page")
role_provider.save_role_permission (1, "Delete Page")
assert ("Count = 1", role_provider.count = 1)
assert ("Exist role",not role_provider.roles.after)
assert ("Exist role permissions",not role_provider.permission_by_role (1).after)
assert ("Not Exist role permissions, for id 2",role_provider.permission_by_role (2).after)
end
feature {NONE} -- Implementation
role_provider: ROLE_DATA_PROVIDER
-- role provider.
once
create Result.make (connection)
end
end

View File

@@ -200,8 +200,6 @@ feature -- Test routines
end
test_node_does_not_exist
local
l_nodes: LIST[CMS_NODE]
do
across 1 |..| 10 as c loop
storage.save_node (custom_node ("Content_" + c.item.out, "Summary_" + c.item.out, "Title_" + c.item.out))
@@ -210,8 +208,6 @@ feature -- Test routines
end
test_node
local
l_nodes: LIST[CMS_NODE]
do
across 1 |..| 10 as c loop
storage.save_node (custom_node ("Content_" + c.item.out, "Summary_" + c.item.out, "Title_" + c.item.out))
@@ -221,7 +217,6 @@ feature -- Test routines
test_update_node
local
l_nodes: LIST[CMS_NODE]
l_node: CMS_NODE
do
storage.save_node (custom_node ("Content", "Summary", "Title"))
@@ -237,9 +232,6 @@ feature -- Test routines
end
test_update_node_title
local
l_nodes: LIST[CMS_NODE]
l_node: CMS_NODE
do
storage.save_node (custom_node ("Content", "Summary", "Title"))
if attached {CMS_NODE} storage.node (1) as ll_node then
@@ -249,9 +241,6 @@ feature -- Test routines
end
test_update_node_summary
local
l_nodes: LIST[CMS_NODE]
l_node: CMS_NODE
do
storage.save_node (custom_node ("Content", "Summary", "Title"))
if attached {CMS_NODE} storage.node (1) as ll_node then
@@ -261,9 +250,6 @@ feature -- Test routines
end
test_update_node_content
local
l_nodes: LIST[CMS_NODE]
l_node: CMS_NODE
do
storage.save_node (custom_node ("Content", "Summary", "Title"))
if attached {CMS_NODE} storage.node (1) as ll_node then
@@ -273,8 +259,6 @@ feature -- Test routines
end
test_delete_node
local
l_nodes: LIST[CMS_NODE]
do
across 1 |..| 10 as c loop
storage.save_node (custom_node ("Content_" + c.item.out, "Summary_" + c.item.out, "Title_" + c.item.out))

View File

@@ -65,6 +65,14 @@ feature -- Test routines
assert ("Not void", attached user_provider.user_by_name ("test"))
end
test_new_user_with_roles
do
user_provider.new_user ("test", "test","test@admin.com")
role_provider.new_role ("Admin")
assert ("Empty roles for given user", user_provider.user_roles (1).after)
user_provider.add_role (1, 1)
assert ("Not empty roles for given user", not user_provider.user_roles (1).after)
end
feature {NONE} -- Implementation
@@ -73,6 +81,13 @@ feature {NONE} -- Implementation
once
create Result.make (connection)
end
role_provider: ROLE_DATA_PROVIDER
-- user provider.
once
create Result.make (connection)
end
end

View File

@@ -23,6 +23,20 @@ feature
do
create l_parameters.make (0)
-- Clean Permissions
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Sql_delete_permissions, l_parameters))
db_handler(a_connection).execute_change
-- Clean Users Roles
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Sql_delete_users_roles, l_parameters))
db_handler(a_connection).execute_change
-- Clean Roles
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Sql_delete_roles, l_parameters))
db_handler(a_connection).execute_change
-- Clean Nodes
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Sql_delete_nodes, l_parameters))
db_handler(a_connection).execute_change
@@ -30,12 +44,20 @@ feature
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Sql_delete_users, l_parameters))
db_handler(a_connection).execute_change
-- Reset Autoincremente
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Rest_users_autoincrement, l_parameters))
db_handler(a_connection).execute_change
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Rest_nodes_autoincrement, l_parameters))
db_handler(a_connection).execute_change
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Rest_roles_autoincrement, l_parameters))
db_handler(a_connection).execute_change
db_handler(a_connection).set_query (create {DATABASE_QUERY}.data_reader (Rest_permissions_autoincrement, l_parameters))
db_handler(a_connection).execute_change
end
@@ -57,10 +79,25 @@ feature -- Sql delete queries
Sql_delete_nodes: STRING = "delete from Nodes"
-- Clean Nodes.
Sql_delete_roles: STRING = "delete from Roles"
-- Clean Roles.
Sql_delete_permissions: STRING = "delete from Permissions"
-- Clean Permissions.
Sql_delete_users_roles: STRING = "delete from Users_roles"
-- Clean User roles.
Rest_users_autoincrement: STRING = "ALTER TABLE Users AUTO_INCREMENT = 1"
-- reset autoincrement
Rest_nodes_autoincrement: STRING = "ALTER TABLE Nodes AUTO_INCREMENT = 1"
-- reset autoincrement.
Rest_roles_autoincrement: STRING = "ALTER TABLE Roles AUTO_INCREMENT = 1"
-- reset autoincrement.
Rest_permissions_autoincrement: STRING = "ALTER TABLE Permissions AUTO_INCREMENT = 1"
-- reset autoincrement.
end