Lukasz Wojciechowski [Fri, 9 Jan 2015 01:44:45 +0000 (02:44 +0100)]
Add test-agent plugin
This is a test plugin, that sends all requests to agent.
Security tests can play role of this agent, so they can decide
about time and value of a response.
Change-Id: I278229810a84cdb4a3ff01ad8ef714019507f0c1
Lukasz Wojciechowski [Fri, 9 Jan 2015 01:41:17 +0000 (02:41 +0100)]
Add agent data wrapping functions
Add functions for easy joining and spliting data strings
used in communication between agent and plugins:
* wrapAgentData;
* unwrapAgentData.
This functions are defined in new file plugins.cpp - a common file
for both agent and plugins.
Change-Id: I29494928d752832aef7c8e14204a7e4ce63a911e
Lukasz Wojciechowski [Mon, 5 Jan 2015 10:26:21 +0000 (11:26 +0100)]
Add tests for cynara_admin_list_policies_descriptions
Each of added tests uses the fact that every cynara test is wrapped in
CynaraTestEnv that saves cynara service plugins.
Every test clears cynara service plugins folder and restarts cynara.
Then proper combination of plugins (sometimes none) are loaded.
There are 4 tests added:
* tc30_admin_list_descriptions_no_plugins - no plugins are loaded,
there are only default cynara policies;
* tc31_admin_list_descriptions_1_plugin_single_policy;
* tc32_admin_list_descriptions_1_plugin_multiple_policy;
* tc33_admin_list_descriptions_multiple_plugins.
Change-Id: Id778477c35a6d65a7d4f71df03dcccefcbb6e756
Lukasz Wojciechowski [Mon, 5 Jan 2015 10:23:32 +0000 (11:23 +0100)]
Add wrap for cynara_admin_list_policies_description
Add method Admin::listDescriptions executing
cynara_admin_list_policies_description and checking if received result
match expected.
Change-Id: I1d729f83e2719360be5e4cdf405409561377c410
Lukasz Wojciechowski [Mon, 12 Jan 2015 16:55:23 +0000 (17:55 +0100)]
Add loadServicePlugins() for setting plugins env
Added function removes all cynara service plugins
and then import and load plugins from given directory.
Change-Id: I1fa559111c70c04e7522089a2bfed4ec9837f590
Lukasz Wojciechowski [Fri, 2 Jan 2015 19:18:13 +0000 (20:18 +0100)]
Enhance CynaraTestEnv with operations on service plugins
save() and restore() methods were enhanced with saving and restoring
cynara service plugins libraries.
Change-Id: If21707314d4a628db7c9d4034f1d4d7a9e82c55b
Lukasz Wojciechowski [Mon, 12 Jan 2015 16:13:17 +0000 (17:13 +0100)]
Introduce CynaraMask - a scoped cynara.service masker
Creation of CynaraMask object causes cynara.service to be masked and stopped.
Its removal causes cynara to be unmasked and run again.
Change-Id: Id7c20093fbd4ec19cdba783b20225ece04be5dfb
Lukasz Wojciechowski [Mon, 12 Jan 2015 15:34:56 +0000 (16:34 +0100)]
Separate file operations into separate file
All files operations done in cynara_test_env are moved to new namespace FileOperations
and implemented in cynara_test_file_operations.cpp file.
cynaraDbExists() function was generalized to dirExists(string) function.
Change-Id: Ic610078330074a648dbb24ddec7297a337a41de0
Lukasz Wojciechowski [Fri, 2 Jan 2015 17:09:17 +0000 (18:09 +0100)]
Add test cynara service plugins
There are two added plugins:
* single-policy plugin - declaring single policy type handling
* multiple-policy plugin - declaring multiple policy types handling
Plugins always return DENY policy type as result of check or update.
They are just test stubs for testing cynara_admin_list_policies_description.
Implementation of both plugins is embedded in BaseCynaraTestPlugin class.
Supported policies descriptions are put into plugins.h for later use in tests.
Change-Id: I38f4bcfe9624992eea3ef5a015885a397f5a0380
Lukasz Wojciechowski [Fri, 2 Jan 2015 19:32:12 +0000 (20:32 +0100)]
Fix uninitialized variable in Admin::listPolicies()
struct cynara_admin_policy **policies was uninitialized.
Normally it should be filled with cynara_admin_list_policies() call.
However, when that function failes, it leaves policies unaffected.
If this pointer is not NULL then it is being freed after it is used
to construct vector of policies.
Change-Id: Iff469205035a5240eee64ec87ea724b83577d105
Lukasz Wojciechowski [Fri, 2 Jan 2015 14:28:42 +0000 (15:28 +0100)]
Add tests for cynara_admin_erase
All tests try erasing policies in different scenarios and then verify
if proper policies were removed from proper buckets, but listing what
is left and comparing to expected result.
There are 7 tests added:
* tc23_admin_erase_empty_bucket - erase policies from empty bucket;
* tc24_admin_erase_no_bucket - try to erase from not existing bucket;
* tc25_admin_erase_single_bucket - check all posibilities of matching
policies during erase;
* tc26_admin_erase_recursive_not_linked_buckets - erase with recursive
flag set to TRUE, but in case where no policy lead to subbucket;
* tc27_admin_erase_recursive_linked_buckets - erase with recursive flag
set to TRUE with existance of policy leading to subbucket;
* tc28_admin_erase_non_recursive_linked_buckets - erase with recursive
flag set to FALSE with existance of policy leading to subbucket;
* tc29_admin_erase_recursive_from_sub_bucket - start erase test in
subbucket and check if parent bucket stays unaffected by erase.
Change-Id: Ib712a028d97773e70b98de85c51aff0238bb8586
Lukasz Wojciechowski [Fri, 2 Jan 2015 13:02:16 +0000 (14:02 +0100)]
Add wrap for cynara_admin_list_erase in Admin class
Add method erasePolicies executing cynara_admin_erase
and checking if received result match expected.
Change-Id: I21f9dfa542fe931e56b4e09ec00712ab539d48ef
Lukasz Wojciechowski [Wed, 31 Dec 2014 15:03:57 +0000 (16:03 +0100)]
Add tests for cynara_admin_list_policies
There are 3 tests:
* tc20_admin_list_empty_bucket - test listing policies from empty bucket
* tc21_admin_list_no_bucket - test listing policies from non-existing bucket
* tc22_admin_list_bucket - test listing policies from fully filled bucket
Change-Id: I814ceacf367d63b73b746689ab28e115bf38adfa
Lukasz Wojciechowski [Wed, 31 Dec 2014 13:54:55 +0000 (14:54 +0100)]
Add wrap for cynara_admin_list_policies in Admin class
Add method listPolicies executing cynara_admin_list_policies
and checking if received result match expected.
Enhance CynaraPoliciesContainer class by:
* removing copy and move constructors;
* adding sort method;
* adding operator<<.
Change-Id: Icff4a6aa0e27efa191b7eb9e9c2be79c21066cbf
Marcin Niesluchowski [Mon, 15 Dec 2014 15:46:43 +0000 (16:46 +0100)]
Merge branch 'tizen' into cynara
Change-Id: I7823ffc2dbd0955045402a32827db459c3083c97
Pawel Wieczorek [Mon, 24 Nov 2014 11:50:49 +0000 (12:50 +0100)]
Add tests for database cleanup mechanism
This patch adds remaining tests for database integrity mechanism, e.g.
removal of non-indexed files, removal of invalid backup files.
Change-Id: Ib6e373dba3ef24c5e69b058df2b8dd9403616eec
Pawel Wieczorek [Mon, 17 Nov 2014 13:45:30 +0000 (14:45 +0100)]
Add tests for database integrity mechanism
Change-Id: I36771d8ef627b121e27df68bd7dbc7f56aa6fd10
Pawel Wieczorek [Mon, 1 Dec 2014 13:14:41 +0000 (14:14 +0100)]
Add compareDbs() function with database patterns
Added function can be used to compare expected with actual contents of
Cynara's database. Patterns are taken from test patterns directory.
Available patterns:
* minimal contents with default DENY policy
* minimal contents with default ALLOW policy
* database with sample DENY policy
Change-Id: I510ba58e1ce12ecc388fd560e71a0f67929db757
Rafal Krypa [Mon, 8 Dec 2014 12:00:11 +0000 (13:00 +0100)]
Drop unneeded dependency against dbus-glib-1
Change-Id: Id27aa959d0456c873ad3b5178b0f8b77a6d22a47
Lukasz Wojciechowski [Mon, 24 Nov 2014 11:37:10 +0000 (12:37 +0100)]
Check if cynara terminates, when no data are sent
Test case tca12 covers bug found in cynara. Cynara terminates,
when connection is closed and no data were sent.
Change-Id: I0859cc9db1b252cb5d8ea786183d80334de8725a
Lukasz Wojciechowski [Sat, 6 Dec 2014 03:55:51 +0000 (04:55 +0100)]
Enhance DBusAccess with getServiceStartTimestamp()
Newly added method returns timestamp of the last service start
measured as number of seconds and microseconds since epoch
and returned in struct timeval.
Change-Id: I4215cc8b727cb78bd03462d25b419a1589b6db0f
Lukasz Wojciechowski [Mon, 3 Nov 2014 11:33:06 +0000 (12:33 +0100)]
Add double request tests
These tests send sequentially two requests.
In second test connection with service is broken after
response to first request is received.
Change-Id: Idc319ad58d5755ec8833f899723f1de3800cbfea
Lukasz Wojciechowski [Tue, 28 Oct 2014 09:47:56 +0000 (10:47 +0100)]
Provide CynaraTestClient namespace for sync client
CynaraTestClient is dedicated to contain all classes related
to synchronous client cynara interface wrap in cynara-tests.
CynaraTestClient class was renamed to simpler name Client.
Change-Id: I99808b0f3c17f9272deb6dfee1ed4ab6449abbb3
Lukasz Wojciechowski [Tue, 28 Oct 2014 08:05:31 +0000 (09:05 +0100)]
Provide CynaraTestAdmin namespace for admin classes
CynaraTestAdmin contains all classes related to administrative
cynara interface wrap in cynara-tests.
CynaraTestAdmin class was renamed to simpler name Admin.
Change-Id: Ic48a432346deaee5d55ff87640d9fb85a18457d2
Lukasz Wojciechowski [Mon, 27 Oct 2014 08:11:45 +0000 (09:11 +0100)]
Add tests forcing disconnection by reseting cynara
Test 08 disconnects cynara during normal request-response scenario.
Three subtestcases of 08 test differ only by resetting cynara
daemon in different moments of sending request scenario.
Test 09 disconnects cynara during request-cancel scenario
Subtestcases differ by different moments of cynara reset.
Change-Id: Ia3e9db87b7e3534c2e4b7e770b4d9a5739553ef4
Lukasz Wojciechowski [Fri, 24 Oct 2014 17:24:34 +0000 (19:24 +0200)]
Test async check before and after data insertion
This test:
* checks access in cynara with empty database;
* verifies that after response is received cache holds result;
* sets new policy (that should cause client disconnection);
* verifies that cache was cleared after disconnection;
* runs async checks on filled database.
Change-Id: If5ab19d51f83faaa802e02dae1e7526e6a9d5c61
Lukasz Wojciechowski [Fri, 24 Oct 2014 17:17:24 +0000 (19:17 +0200)]
Expand CheckData and PoliciesContainer for easier use
New CynaraPoliciesContainer::add allows adding policies with {client,
user, privilege} tripple passed as single vector parameter.
CheckData class is expanded with toAdminPolicy() method for converting
ChackData object into such vector.
Change-Id: I3cc34fc7801a81e6a9f4a456013653b1ef0d3323
Lukasz Wojciechowski [Fri, 24 Oct 2014 16:08:42 +0000 (18:08 +0200)]
Add simple request cancellation tests
tca05_request_and_cancel* - check cancellation of sent requests
tca06_cancel_fail - checks cancellation of not existing request
Change-Id: I495846f8494dc4ef6e329774039869e10b1b9731
Lukasz Wojciechowski [Mon, 24 Nov 2014 16:58:29 +0000 (17:58 +0100)]
Add user defined callback to StatusMonitor
User can pass now own function, that will be executed when status changes.
Change-Id: Ic3f514f18c780aff51cf62114fc3cf98dac70067
Lukasz Wojciechowski [Fri, 24 Oct 2014 16:07:08 +0000 (18:07 +0200)]
Wrap cynara_async_cancel_request() for test purposes
Change-Id: Iaf049aa35dac3bb7acd2874d675b49ad6676f5ea
Lukasz Wojciechowski [Mon, 20 Oct 2014 09:19:45 +0000 (11:19 +0200)]
Add test for sending and processing single request
Change-Id: I90140763f8a18a03faa1fb4d5661a369f3cc15d4
Lukasz Wojciechowski [Mon, 20 Oct 2014 09:14:18 +0000 (11:14 +0200)]
Wrap cynara_async_process() for test purposes
Wrap checks connections status, then waits on proper select statement.
After select returns, cynara_async_process() is called and expected
result is checked.
Change-Id: Icc286662b5ba7e0f4f9b51d0dd58e7ab1d17336a
Lukasz Wojciechowski [Tue, 4 Nov 2014 10:36:07 +0000 (11:36 +0100)]
Collect test fail reasons in case of nested assertions
RUNNER_ASSERT_MSG macro (and related) throw DPL::Test::TestRunner::TestFailed
exception. If such an exception is thrown during clean-up caused by another
exception and test interruption, termination of tests program happen leaving
no clues about termination cause.
This patch checks if an exception has been thrown earlier and if so,
it doesn't throw next exception but passes exception message to TestRunner.
All such messages passed with addFailReason() method are gathered inside
TestRunner and used during ResultCollection after finishing test and passing
results to collectors.
This patch introduces simple concatrenation method of joining all fail
reasons into single string, that is passed to Collectors.
When collectors API will be ready to receive multiple reasons of single test
failure, another patch can simply pass whole fail results queue.
Change-Id: I1bf582da6526a4187e7c4a53afaeea976cf4bda1
Lukasz Wojciechowski [Thu, 13 Nov 2014 14:02:23 +0000 (15:02 +0100)]
Fix potential segfaults if assert won't throw
Prepare code for assertions that won't throw an exception even if
condition check fails. Such situation can happen, when when exception
would have been thrown during stack unwinding after another exception.
Change-Id: Icb44b0e5e51bcb9b7f23fcc270d2e60eab4ecc1e
Lukasz Wojciechowski [Tue, 4 Nov 2014 10:31:33 +0000 (11:31 +0100)]
Make StatusMonitor::getStatus() always return value
Bug fix. Not all paths returned a value. RUNNER_FAIL_MSG may avoid
throwing e.g. when not in test.
Change-Id: Ief39fcc83ab3828f2e7d71682927e30140c1e191
Pawel Wieczorek [Mon, 17 Nov 2014 13:07:20 +0000 (14:07 +0100)]
Move string consts to corresponding test commons
New member has been added:
* SERVICE (in CynaraTestConsts, for D-Bus)
Change-Id: I6963cbbf9b57380447b764ae0f3b09ec2795ff9f
Marcin Niesluchowski [Mon, 13 Oct 2014 16:39:53 +0000 (18:39 +0200)]
Move Summary collector to test framework
Change-Id: Ief5a3b837382651bd030642c262d3c69c408a4bb
Marcin Niesluchowski [Mon, 13 Oct 2014 15:02:17 +0000 (17:02 +0200)]
Change FailStatus from struct to enum class
Change-Id: I9df26486b0b009e5f97b99358d0112556d87a700
Marcin Niesluchowski [Mon, 13 Oct 2014 14:21:47 +0000 (16:21 +0200)]
Remove INTERNAL type from FailStatus enum
INTERNAL fail status is treated as FAILED fail status. It is collected
in case of:
* DPL::Exception - should not be thrown by test cased body, as it is used
in test framework only
* std::exception - which implies that test case is not constructed well
or there is not enough resources, which may be also passed as Failed
state in RUNNER_* macros.
* other exceptions - same as std::exception
Change-Id: I8776622afcb9d01739f8780183ad4c5f364deb25
Pawel Wieczorek [Mon, 1 Dec 2014 12:19:55 +0000 (13:19 +0100)]
Create cynara_db_tests group
Create an empty test group for database integrity tests.
Change-Id: I065ea1c0d6ee7318f8e3a2be878867695a5ebfc7
Pawel Wieczorek [Mon, 8 Sep 2014 14:23:58 +0000 (16:23 +0200)]
Move files_compare() function to test commons
Function files_compare() from tests for libsmack can be used in other
tests as well. It is now accessible outside libsmack tests.
Change-Id: Ic56b4aff4c4170e24b5cfb2754e2ef4aed4cf541
Pawel Wieczorek [Mon, 1 Dec 2014 11:02:13 +0000 (12:02 +0100)]
Add support for empty files to files_compare()
This patch modifies approach to return values. It returns an integer
less than, equal to, or greater than zero if fd1 is found, respectively,
to be less than, to match, or be greater than fd2.
Change-Id: I9402a19a3280023ee87524cccdec36fafe52b75b
Rafal Krypa [Tue, 18 Nov 2014 10:37:34 +0000 (11:37 +0100)]
Don't provide perf binary, depend on it
Perf binary was provided in SLP as a work around for not having it
on the platform. This is no longer needed and harmful, because we
provided only the ARM binary, even for i686 and x86_64 builds.
Change-Id: I2157b7fd75a6ff3f713bf199d996c831a2f20673
Rafal Krypa [Tue, 18 Nov 2014 10:35:34 +0000 (11:35 +0100)]
Remove unneeded manual dependencies
Dependencies against shared libraries should be auto-generated.
Change-Id: I24c422b4f3488c0dacc63dbe2ac11d9ae026dfa4
Marcin Niesluchowski [Mon, 24 Nov 2014 17:44:39 +0000 (18:44 +0100)]
Merge branch 'tizen' into cynara
Change-Id: I4914064a6a5e309decea74043195e91424cb9141
Lukasz Wojciechowski [Mon, 24 Nov 2014 11:33:25 +0000 (12:33 +0100)]
Prevent running cynara service by masking
Before and after each testcase CynaraTestEnv runs code, that
saves and restores cynara's database. Cynara service is stopped
for that time, however it can be socket-activated and start during
critical moment of database modification.
To prevent such situation cynara is masked for critical sections.
Change-Id: I2dba7f9985121d92a2bb2ffd6318ec922022979c
Lukasz Wojciechowski [Mon, 24 Nov 2014 05:30:20 +0000 (06:30 +0100)]
Add methods for masking and unmasking service
Masking a service prevents the service from being started.
Unmasking allows to start service again. Both of these operations
are implemented to affect service only till device reboot.
Masking and unmasking service needs reloading configuration
of dbus manager. That is also done in implementation.
Change-Id: Ibbb64dbae6ed6aaa68b085f8a66d4810cecd22c1
Lukasz Wojciechowski [Mon, 24 Nov 2014 05:18:35 +0000 (06:18 +0100)]
Add method for getting service's pid
Systemd that is responsible for launching service provide information
about it's pid with dbus properties mechanism.
Change-Id: Ia56094ad776a758596b4344172a6109b3648365e
Lukasz Wojciechowski [Mon, 24 Nov 2014 04:31:40 +0000 (05:31 +0100)]
Handle job signals from systemd
A set of currently running jobs was added. Jobs are identified
with unique job path created by systemd.
Every time a start/stop/restart command is sent to systemd,
related job is added to set.
When JobNew signal is received its handler puts it also in the set.
Job is removed from the set, when JobRemoved signal is delivered from
systemd.
After each action generating a job in systemd unit (start/stop/restart)
program waits until all jobs from the set are removed.
Timeouts used earlier to "synchronize" action calls are removed.
Change-Id: Id944c9f52ecfeb06efabdb9424c835d09af7bb4f
Lukasz Wojciechowski [Mon, 24 Nov 2014 03:08:32 +0000 (04:08 +0100)]
Subscribe to dbus signals from systemd
Set bus matching filters for JobNew and JobRemove signals from systemd.
Subscribe to signals from systemd over dbus
Add dbus filter for all incoming messages (stub - empty body).
Change-Id: I516bf562d50a4e7a3933e0a1d5905bffb73dbc68
Lukasz Wojciechowski [Mon, 24 Nov 2014 02:42:53 +0000 (03:42 +0100)]
Cleanup DBusAccess
Remove not used variables and function.
Fix memory leak of not released objects in sendResetFailedToService().
Read object path data from dbus response.
Change-Id: I94e531fe6aef64de9eb8a1fc3e7fc8623727e697
Marcin Niesluchowski [Mon, 24 Nov 2014 13:18:23 +0000 (14:18 +0100)]
Ignore smack-dbus tests
Current dbus release does not support smack context in GetConnectionCredentials
method yet.
Change-Id: I58112e9702c04a634c149c5c2c3753404970cc87
Rafal Krypa [Mon, 24 Nov 2014 11:27:24 +0000 (12:27 +0100)]
Merge branch 'security-manager' into tizen
Conflicts:
tests/security-manager-tests/common/sm_db.cpp
tests/security-manager-tests/common/sm_db.h
tests/security-manager-tests/security_manager_tests.cpp
Change-Id: I69e6e9321ab58702086ba402e23a6d9b06e7fdb9
Rafal Krypa [Mon, 24 Nov 2014 10:19:41 +0000 (11:19 +0100)]
Merge branch 'cynara' into tizen
Conflicts:
tests/cynara-tests/common/cynara_test_admin.h
tests/cynara-tests/test_cases.cpp
Change-Id: I49296db7a8983f3aee1f4750852ea516e9d7f3a2
Marcin Lis [Tue, 18 Nov 2014 15:04:56 +0000 (16:04 +0100)]
security-manager tests: reorganize directories used and registered by apps
1. Move global user directories from /etc/smack/ to its home dir: /usr/apps/
2. Remove directories, functions and checks associated with
SECURITY_MANAGER_PATH_PUBLIC - it should not be used anymore and will be
removed.
[Verification] run security-manager-tests and ensure that all succeed.
Change-Id: Ifb04fd19b35cc226473159728d172525fbc44bdc
Signed-off-by: Marcin Lis <m.lis@samsung.com>
Rafal Krypa [Tue, 18 Nov 2014 14:37:33 +0000 (15:37 +0100)]
Require gum-utils, not libgum
In gumd 1.0.2 gum-utils tool has been split from package libgum into
separate package gum-utils.
Change-Id: Ia5903f1b5725e681545b56a1e581312a22443017
Marcin Niesluchowski [Mon, 17 Nov 2014 16:36:16 +0000 (17:36 +0100)]
Ignore tests failing on file label removal
Change-Id: Ib4f97f1bfdda0cf2229852096bf47582dc68aa3b
Aleksander Zdyb [Mon, 17 Nov 2014 12:16:32 +0000 (13:16 +0100)]
Fix build dependencies on Cynara
Change-Id: I3bb0ec78446999e2dfb7fe6e670fc586c113b5bf
Krzysztof Sasiak [Thu, 23 Oct 2014 11:53:58 +0000 (13:53 +0200)]
Update tests to work with group names instead of gids
Change-Id: Ia6ac604ca4d5369a486772d1f9f39fd57e1c3ecd
Michal Eljasiewicz [Tue, 4 Nov 2014 11:15:00 +0000 (12:15 +0100)]
security-server tests commented out from all tests
Change-Id: I549718922f98f08c242b9bde313ecad839392b8e
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
Michal Eljasiewicz [Wed, 5 Nov 2014 13:04:51 +0000 (14:04 +0100)]
security_server_tests_dbus moved to separate directory
tests moved out of security_server directory and renamed
Change-Id: If3a3aedecc91f43803dfb349ac6a06a79ed4eccd
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
Zbigniew Jasinski [Fri, 31 Oct 2014 11:11:20 +0000 (12:11 +0100)]
Extending security_manager_set_process_label_from_binary and
security_manager_set_process_label_from_appid for proper socket
labeling.
Added checking for proper socket Smack labeling. Implementation:
https://review.tizen.org/gerrit/27849
Change-Id: I3cf1f7a06615f7652fcefe6d89b2fe370d5f2ba5
Zbigniew Jasinski [Wed, 29 Oct 2014 09:10:26 +0000 (10:10 +0100)]
Test case for security_manager_drop_process_privileges function.
security_manager_drop_process_privileges implementation:
https://review.tizen.org/gerrit/27848
Change-Id: I17732780dad25f8c3ecdde3e9ad30781a87a6b69
Rafal Krypa [Tue, 4 Nov 2014 18:21:08 +0000 (19:21 +0100)]
Remove test for security_manager_set_process_label_from_binary()
Removing test for security-manager function that is now being removed
from security-manager (https://review.tizen.org/gerrit/27041).
Change-Id: I879016d2d0e87b7d0e1eafe982d4e25e61b2f71e
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Michal Eljasiewicz [Tue, 4 Nov 2014 10:51:04 +0000 (11:51 +0100)]
libprivilege-control tests commented out from all tests
Change-Id: Id76b6b0ba3b9b5c2ee8948fb2078c44e5a444fdc
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
Lukasz Wojciechowski [Fri, 17 Oct 2014 18:27:59 +0000 (20:27 +0200)]
Check creation of maximal count of cynara requests
Request creating function should return CYNARA_API_MAX_PENDING_REQUESTS,
when maximal number of possible requests (2^16) is created.
Change-Id: Icdbbf6e6377a73892ccd8f4affa31756f6161414
Lukasz Wojciechowski [Fri, 17 Oct 2014 18:22:57 +0000 (20:22 +0200)]
Add CynaraTestAsync::Client::createRequest() method
Method can be used for testing cynara_async_create_request() API function.
Change-Id: Ib26d97a1a45451c014f3a495408f555c203bf834
Lukasz Wojciechowski [Fri, 17 Oct 2014 16:45:33 +0000 (18:45 +0200)]
Add test for checking CACHE_MISS when cache is empty
Change-Id: I5857cec7b8d8da2b281a60029648d70516a3c00f
Lukasz Wojciechowski [Fri, 17 Oct 2014 16:44:02 +0000 (18:44 +0200)]
Add CynaraTestAsync::Client::checkCache() method
Method can be used to test cynara_async_check_cache() API function.
Change-Id: Ibc7009362bec2cfdc90472299d3bfdf155f186c3
Lukasz Wojciechowski [Fri, 17 Oct 2014 14:15:43 +0000 (16:15 +0200)]
Add CynaraTestAsync::RequestMonitor class
Added class shall be used for monitoring all requests, matching
callbacks and checking expected causes and responses in callbacks.
Change-Id: I0ddb2d8848d80950d430f768510c6466144b399d
Lukasz Wojciechowski [Thu, 16 Oct 2014 17:23:13 +0000 (19:23 +0200)]
Create cynara_async_tests group
Create a test group for asynchronous API tests
and add CynaraTestAsync::Client initialization test.
Change-Id: I0e8cc37cd16282a7834cc61dd72e1aa90fb9129e
Lukasz Wojciechowski [Thu, 16 Oct 2014 17:21:58 +0000 (19:21 +0200)]
Add CynaraTestAsync::Client
This is a class that will wrap usage of libcynara-client-async API.
Change-Id: I89124b57c811e016854122fec6b2cf0ddbaa0525
Lukasz Wojciechowski [Thu, 16 Oct 2014 17:10:49 +0000 (19:10 +0200)]
Add RUNNER_ERROR_MSG(message) macro
Macro can be used to print error messages during test runtime.
Sometimes there is a need to print out important information
that are related to error that happen during test run, but it is
impossible to do that with RUNNER_ASSERT... macros because
an exception is alredy thrown.
Change-Id: I574af27bba7c20f21e2c6f9fc0b808f7ed9675ed
Lukasz Wojciechowski [Thu, 16 Oct 2014 15:25:13 +0000 (17:25 +0200)]
Add CynaraTestAsync::StatusMonitor
Added class wraps functionality of status callbacks.
Change-Id: I8c42a80d02b9092e89d930367632110ca33e3fa9
Marcin Niesluchowski [Thu, 23 Oct 2014 11:32:38 +0000 (13:32 +0200)]
Fix security_manager_05_app_install_uninstall_by_uid_5000
User app (uid 5000) used for tests has been removed from system.
Due to this chage security-manager can not find it in /etc/passwd.
Special user is created in %post section and is removed in %postun
section. Current test name:
security_manager_05_app_install_uninstall_by_app_user
Change-Id: Ia2eec416b44fe216b08f1fc29ec46826621ad796
Lukasz Wojciechowski [Thu, 16 Oct 2014 14:01:55 +0000 (16:01 +0200)]
Add licence and copyright header to cynara test files
Change-Id: I4cb894b91b076c6475f8c285966dd2bacc0ff64d
Rafal Krypa [Tue, 21 Oct 2014 11:35:55 +0000 (13:35 +0200)]
One missing fix for cynara_check return code
Commit
1c357c269b should also adjust tests for security-manager.
Changing expected return code of cynara_check from CYNARA_API_SUCCESS
to CYNARA_API_ACCESS_ALLOWED.
Change-Id: I4f1ad908f0d91f91af9dec9a701f8f41504730dc
Marcin Niesluchowski [Wed, 22 Oct 2014 11:34:10 +0000 (13:34 +0200)]
Merge remote-tracking branch 'tizen-gerrit/cynara' into HEAD
Change-Id: Id5089ff0e604c1608038d68ffc5d5e041a2d29d7
Marcin Niesluchowski [Wed, 22 Oct 2014 11:10:37 +0000 (13:10 +0200)]
Merge commit '
af35045308e6b0221690b420f530e53ce6c2fbad' into HEAD
Change-Id: Ib16081848a41ef480360b31a14bb9a9bc4786c3f
Marcin Niesluchowski [Mon, 13 Oct 2014 13:05:27 +0000 (15:05 +0200)]
Move HTML collector to separate files
Change-Id: I9e3d507cbde42bced1daac0eae351c55b925a63c
Marcin Niesluchowski [Mon, 13 Oct 2014 11:39:02 +0000 (13:39 +0200)]
Move Console collector to separate files
Change-Id: Ia7c23d144db858f94eac34e79e12dd11faad9de4
Marcin Niesluchowski [Mon, 13 Oct 2014 09:09:48 +0000 (11:09 +0200)]
Move XML collector to separate files
Change-Id: I7c82a9415bbf9969ab2bc5bc008878b8b61bbcc4
Marcin Niesluchowski [Mon, 13 Oct 2014 09:42:33 +0000 (11:42 +0200)]
Move statistic class to separate file
Change-Id: Ife2fd4e0e2952d6145096a8c4de14ed5bbfdb369
Marcin Niesluchowski [Mon, 13 Oct 2014 08:24:02 +0000 (10:24 +0200)]
Remove CSV collector
Change-Id: Iae8c4bbb7cfd415e228426885f224412122ce52f
Marcin Niesluchowski [Mon, 13 Oct 2014 08:13:47 +0000 (10:13 +0200)]
Remove TAP collector
Change-Id: Ie9022778cf489eaaba0177ba8b84c5d0dd425fdb
Marcin Niesluchowski [Mon, 13 Oct 2014 13:21:49 +0000 (15:21 +0200)]
Remove unnecessary includes from test_results_collector.cpp
Change-Id: I7caaf12269eb63f1a1e7ec2dc3afaa203aa8ad82
Marcin Niesluchowski [Tue, 21 Oct 2014 09:34:12 +0000 (11:34 +0200)]
Revert commits to cynara tests
Some commits to cynara tests making security-tests not buildable
with cynara release.
This reverts commits:
1c357c2 "Fix cynara_check return codes"
d2eb84f "Add tests for cynara_admin_check function"
a58d784 "Enhance CynaraTestAdmin with adminCheck() method"
e0b08a3 "Add tests for none bucket"
Change-Id: If344771ef62de103c24cd551cd40a6b9b8be44a3
Marcin Niesluchowski [Tue, 21 Oct 2014 09:43:03 +0000 (11:43 +0200)]
Revert commits to security-manager tests
Some commits to security-manager tests making security-tests not buildable
with security-manager release.
This reverts commits:
e3e2809 "security-manager: test security_manager_set_process_groups_from_appid"
Change-Id: I009c33811a3af23451e5cac6db142a555f248408
Lukasz Wojciechowski [Thu, 16 Oct 2014 08:21:42 +0000 (10:21 +0200)]
Adjust libcynara-admin error codes
Cynara integrates error codes in all libraries.
Release 0.4.0 uses new unified error codes.
Old error codes are removed.
This patch changes old error codes into new ones.
Please do not merge this patch until 0.4.0 is released
or patch "
35771f4 Use client error codes in admin libraries"
in cynara repository is merged.
Change-Id: I7d89945a075b9353399b417f1fce5ef8a06694c4
José Bollo [Tue, 14 Oct 2014 15:39:19 +0000 (17:39 +0200)]
Building: better handling of deprecated
It is useful to keep deprecated items as warning.
For doing that, this new option is needed.
Change-Id: Iaf140652f40d8a990d246741091119106c7b132b
Signed-off-by: José Bollo <jose.bollo@open.eurogiciel.org>
Lukasz Wojciechowski [Thu, 9 Oct 2014 16:28:29 +0000 (18:28 +0200)]
Fix cynara_check return codes
After merging "
151ad89 Change client API error codes"
into cynara values returned by cynara_check() changed.
In case of access allowed cynara_check returns
CYNARA_API_ACCESS_ALLOWED instead of CYNARA_API_SUCCESS.
Change-Id: I98ff68068c9c67648601c339b0ff51af7e3e1280
Lukasz Wojciechowski [Tue, 23 Sep 2014 15:56:03 +0000 (17:56 +0200)]
Add tests for cynara_admin_check function
cynara_admin_check() function provides simmilar functionality to
cynara_check() from client's API. Differences between those two are:
* admin version can start check search in any given bucket;
* admin version can constrain search to single bucket (no recursion);
* in admin version policy types are returned without being interpreted
by plugins in cynara service (e.g. no UI popups are launched).
There are 4 tests added:
* tc16_admin_check_single_bucket - for trivial single bucket checks;
* tc17_admin_check_nested_bucket - for testing proper check search
scope (recursion and start bucket);
* tc18_admin_check_multiple_matches - for testing if minimum policy
is found, when there is more than a single policy matching;
* tc19_admin_check_none_bucket - for testing proper behaviour, when
default and only matching policy in bucket is of type NONE.
Verification:
After cynara patch https://review.tizen.org/gerrit/27971 is applied
test should pass. They can fail before due to policy types enumeration
inconsistency between external and internal caynara layers.
Change-Id: Ia37df3491fbc31beb9c638daa515ce5a6b92eb59
Lukasz Wojciechowski [Mon, 22 Sep 2014 14:03:36 +0000 (16:03 +0200)]
Enhance CynaraTestAdmin with adminCheck() method
adminCheck() method allows running and checking result of
cynara_admin_check() form libcynara-admin API.
It asserts result of cynara_admin_check() function call
and values of check results with expected values.
Change-Id: Id2a35b3b1f43f2802ccee14355b6efb8a5f5c511
Marcin Niesluchowski [Mon, 1 Sep 2014 09:38:06 +0000 (11:38 +0200)]
Make expected result of cynara client check default
Change-Id: If5e51ff720c8b03aa2d3beabefce459b65306fca
Marcin Niesluchowski [Wed, 20 Aug 2014 09:13:28 +0000 (11:13 +0200)]
Add tests for none bucket
Change-Id: I546ded4f234470ab3754338080ab9800dde18279
Rafal Krypa [Tue, 16 Sep 2014 14:28:07 +0000 (16:28 +0200)]
security-manager: test security_manager_set_process_groups_from_appid
New security-manager API supports setting process groups based on
privilege settings. This is intended for launchers. Check it during
application installation check to verify if gid-mapped privileges
are handled correctly.
Change-Id: Ie558bf985dbbc5cd1451ae743aa2f26f519fef5e
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Rafal Krypa [Fri, 12 Sep 2014 15:14:25 +0000 (17:14 +0200)]
security-manager: drop testing of obsolete TIZENEXEC label on symlinks
This feature is just being removed from security-manager. No labels
will be set on symlinks.
Change-Id: I9f19cb0b4f2d273407654f9e04f15d6d4823ed05
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Rafal Krypa [Fri, 12 Sep 2014 15:10:27 +0000 (17:10 +0200)]
security-manager: use Smack label for verifying Cynara rules, not pkgId
Since security-manager doesn't provide function for that, tests
need to reimplement it. It should be kept in line with security-manager
code. For now there is only one label for all apps: "User".
Change-Id: I79eafea8c38bb86a3ec775a851d7e7605c1865e8
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Lukasz Wojciechowski [Mon, 15 Sep 2014 12:17:57 +0000 (14:17 +0200)]
Check integrity after partial policy set
cynara_admin_set_policy() API function sets whole collection of policies
in single call. Setting some of them may fail. In such case no policies
should be applied to cynara service.
This test confirms existance of detected bug. Try to set 2 policies
(one good and one that is not allowed) leads to setPolicies() error,
however 1st policy remains in cynara's storage.
Verification: until bug is fixed in cynara's storage test should fail.
Change-Id: I3449ccbcfacb03bdcdc7a5cfb4a3b639d9b694ce
Maciej J. Karpiuk [Wed, 17 Sep 2014 09:45:37 +0000 (11:45 +0200)]
Added ckm tests.
Change-Id: I69ba5318e73ee9f6844787f2ba6a29afec293f45