platform/core/test/security-tests.git
9 years agoAdd test-agent plugin 86/33386/5
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

9 years agoAdd agent data wrapping functions 85/33385/5
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

9 years agoAdd tests for cynara_admin_list_policies_descriptions 85/33085/8
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

9 years agoAdd wrap for cynara_admin_list_policies_description 84/33084/8
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

9 years agoAdd loadServicePlugins() for setting plugins env 27/33527/4
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

9 years agoEnhance CynaraTestEnv with operations on service plugins 83/33083/6
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

9 years agoIntroduce CynaraMask - a scoped cynara.service masker 26/33526/3
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

9 years agoSeparate file operations into separate file 25/33525/3
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

9 years agoAdd test cynara service plugins 57/33057/4
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

9 years agoFix uninitialized variable in Admin::listPolicies() 82/33082/1
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

9 years agoAdd tests for cynara_admin_erase 49/33049/2
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

9 years agoAdd wrap for cynara_admin_list_erase in Admin class 48/33048/2
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

9 years agoAdd tests for cynara_admin_list_policies 32/33032/3
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

9 years agoAdd wrap for cynara_admin_list_policies in Admin class 31/33031/3
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

10 years agoMerge branch 'tizen' into cynara 11/32111/1
Marcin Niesluchowski [Mon, 15 Dec 2014 15:46:43 +0000 (16:46 +0100)]
Merge branch 'tizen' into cynara

Change-Id: I7823ffc2dbd0955045402a32827db459c3083c97

10 years agoAdd tests for database cleanup mechanism 16/30716/11
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

10 years agoAdd tests for database integrity mechanism 15/30715/11
Pawel Wieczorek [Mon, 17 Nov 2014 13:45:30 +0000 (14:45 +0100)]
Add tests for database integrity mechanism

Change-Id: I36771d8ef627b121e27df68bd7dbc7f56aa6fd10

10 years agoAdd compareDbs() function with database patterns 14/30714/11
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

10 years agoDrop unneeded dependency against dbus-glib-1 83/31283/3
Rafal Krypa [Mon, 8 Dec 2014 12:00:11 +0000 (13:00 +0100)]
Drop unneeded dependency against dbus-glib-1

Change-Id: Id27aa959d0456c873ad3b5178b0f8b77a6d22a47

10 years agoCheck if cynara terminates, when no data are sent 40/30740/3
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

10 years agoEnhance DBusAccess with getServiceStartTimestamp() 70/31570/2
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

10 years agoAdd double request tests 93/29793/11
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

10 years agoProvide CynaraTestClient namespace for sync client 04/29504/14
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

10 years agoProvide CynaraTestAdmin namespace for admin classes 03/29503/14
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

10 years agoAdd tests forcing disconnection by reseting cynara 02/29502/14
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

10 years agoTest async check before and after data insertion 57/29357/15
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

10 years agoExpand CheckData and PoliciesContainer for easier use 56/29356/15
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

10 years agoAdd simple request cancellation tests 52/29352/15
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

10 years agoAdd user defined callback to StatusMonitor 39/30739/2
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

10 years agoWrap cynara_async_cancel_request() for test purposes 51/29351/14
Lukasz Wojciechowski [Fri, 24 Oct 2014 16:07:08 +0000 (18:07 +0200)]
Wrap cynara_async_cancel_request() for test purposes

Change-Id: Iaf049aa35dac3bb7acd2874d675b49ad6676f5ea

10 years agoAdd test for sending and processing single request 18/29018/16
Lukasz Wojciechowski [Mon, 20 Oct 2014 09:19:45 +0000 (11:19 +0200)]
Add test for sending and processing single request

Change-Id: I90140763f8a18a03faa1fb4d5661a369f3cc15d4

10 years agoWrap cynara_async_process() for test purposes 17/29017/16
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

10 years agoCollect test fail reasons in case of nested assertions 92/29792/9
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

10 years agoFix potential segfaults if assert won't throw 79/30279/5
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

10 years agoMake StatusMonitor::getStatus() always return value 91/29791/4
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

10 years agoMove string consts to corresponding test commons 10/31110/3
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

10 years agoMove Summary collector to test framework 96/28696/12
Marcin Niesluchowski [Mon, 13 Oct 2014 16:39:53 +0000 (18:39 +0200)]
Move Summary collector to test framework

Change-Id: Ief5a3b837382651bd030642c262d3c69c408a4bb

10 years agoChange FailStatus from struct to enum class 95/28695/9
Marcin Niesluchowski [Mon, 13 Oct 2014 15:02:17 +0000 (17:02 +0200)]
Change FailStatus from struct to enum class

Change-Id: I9df26486b0b009e5f97b99358d0112556d87a700

10 years agoRemove INTERNAL type from FailStatus enum 94/28694/8
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

10 years agoCreate cynara_db_tests group 09/31109/2
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

10 years agoMove files_compare() function to test commons 13/30713/3
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

10 years agoAdd support for empty files to files_compare() 07/31107/1
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

10 years agoDon't provide perf binary, depend on it 31/30431/3
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

10 years agoRemove unneeded manual dependencies 30/30430/2
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

10 years agoMerge branch 'tizen' into cynara 35/30735/1
Marcin Niesluchowski [Mon, 24 Nov 2014 17:44:39 +0000 (18:44 +0100)]
Merge branch 'tizen' into cynara

Change-Id: I4914064a6a5e309decea74043195e91424cb9141

10 years agoPrevent running cynara service by masking 26/30726/2
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

10 years agoAdd methods for masking and unmasking service 25/30725/2
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

10 years agoAdd method for getting service's pid 24/30724/2
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

10 years agoHandle job signals from systemd 23/30723/2
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

10 years agoSubscribe to dbus signals from systemd 22/30722/2
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

10 years agoCleanup DBusAccess 21/30721/2
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

10 years agoIgnore smack-dbus tests 10/30710/3
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

10 years agoMerge branch 'security-manager' into tizen 93/30693/3
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

10 years agoMerge branch 'cynara' into tizen 92/30692/1
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

10 years agosecurity-manager tests: reorganize directories used and registered by apps 57/30457/2
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>
10 years agoRequire gum-utils, not libgum 52/30452/1
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

10 years agoIgnore tests failing on file label removal 04/30404/2
Marcin Niesluchowski [Mon, 17 Nov 2014 16:36:16 +0000 (17:36 +0100)]
Ignore tests failing on file label removal

Change-Id: Ib4f97f1bfdda0cf2229852096bf47582dc68aa3b

10 years agoFix build dependencies on Cynara 76/30376/1
Aleksander Zdyb [Mon, 17 Nov 2014 12:16:32 +0000 (13:16 +0100)]
Fix build dependencies on Cynara

Change-Id: I3bb0ec78446999e2dfb7fe6e670fc586c113b5bf

10 years agoUpdate tests to work with group names instead of gids 55/29255/10
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

10 years agosecurity-server tests commented out from all tests 89/29789/5
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>
10 years agosecurity_server_tests_dbus moved to separate directory 89/29889/4
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>
10 years agoExtending security_manager_set_process_label_from_binary and 70/29670/7
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

10 years agoTest case for security_manager_drop_process_privileges function. 34/29534/9
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

10 years agoRemove test for security_manager_set_process_label_from_binary() 99/29699/2
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>
10 years agolibprivilege-control tests commented out from all tests 87/29787/1
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>
10 years agoCheck creation of maximal count of cynara requests 85/28985/7
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

10 years agoAdd CynaraTestAsync::Client::createRequest() method 84/28984/6
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

10 years agoAdd test for checking CACHE_MISS when cache is empty 83/28983/6
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

10 years agoAdd CynaraTestAsync::Client::checkCache() method 82/28982/6
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

10 years agoAdd CynaraTestAsync::RequestMonitor class 65/28965/7
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

10 years agoCreate cynara_async_tests group 98/28898/7
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

10 years agoAdd CynaraTestAsync::Client 97/28897/7
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

10 years agoAdd RUNNER_ERROR_MSG(message) macro 96/28896/7
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

10 years agoAdd CynaraTestAsync::StatusMonitor 95/28895/6
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

10 years agoFix security_manager_05_app_install_uninstall_by_uid_5000 05/29405/2
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

10 years agoAdd licence and copyright header to cynara test files 94/28894/2
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

10 years agoOne missing fix for cynara_check return code 09/29209/2
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

10 years agoMerge remote-tracking branch 'tizen-gerrit/cynara' into HEAD 07/29207/1
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

10 years agoMerge commit 'af35045308e6b0221690b420f530e53ce6c2fbad' into HEAD 05/29205/1
Marcin Niesluchowski [Wed, 22 Oct 2014 11:10:37 +0000 (13:10 +0200)]
Merge commit 'af35045308e6b0221690b420f530e53ce6c2fbad' into HEAD

Change-Id: Ib16081848a41ef480360b31a14bb9a9bc4786c3f

10 years agoMove HTML collector to separate files 93/28693/5
Marcin Niesluchowski [Mon, 13 Oct 2014 13:05:27 +0000 (15:05 +0200)]
Move HTML collector to separate files

Change-Id: I9e3d507cbde42bced1daac0eae351c55b925a63c

10 years agoMove Console collector to separate files 92/28692/5
Marcin Niesluchowski [Mon, 13 Oct 2014 11:39:02 +0000 (13:39 +0200)]
Move Console collector to separate files

Change-Id: Ia7c23d144db858f94eac34e79e12dd11faad9de4

10 years agoMove XML collector to separate files 91/28691/5
Marcin Niesluchowski [Mon, 13 Oct 2014 09:09:48 +0000 (11:09 +0200)]
Move XML collector to separate files

Change-Id: I7c82a9415bbf9969ab2bc5bc008878b8b61bbcc4

10 years agoMove statistic class to separate file 90/28690/5
Marcin Niesluchowski [Mon, 13 Oct 2014 09:42:33 +0000 (11:42 +0200)]
Move statistic class to separate file

Change-Id: Ife2fd4e0e2952d6145096a8c4de14ed5bbfdb369

10 years agoRemove CSV collector 89/28689/5
Marcin Niesluchowski [Mon, 13 Oct 2014 08:24:02 +0000 (10:24 +0200)]
Remove CSV collector

Change-Id: Iae8c4bbb7cfd415e228426885f224412122ce52f

10 years agoRemove TAP collector 88/28688/5
Marcin Niesluchowski [Mon, 13 Oct 2014 08:13:47 +0000 (10:13 +0200)]
Remove TAP collector

Change-Id: Ie9022778cf489eaaba0177ba8b84c5d0dd425fdb

10 years agoRemove unnecessary includes from test_results_collector.cpp 87/28687/4
Marcin Niesluchowski [Mon, 13 Oct 2014 13:21:49 +0000 (15:21 +0200)]
Remove unnecessary includes from test_results_collector.cpp

Change-Id: I7caaf12269eb63f1a1e7ec2dc3afaa203aa8ad82

10 years agoRevert commits to cynara tests 00/29100/1
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

10 years agoRevert commits to security-manager tests 99/29099/1
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

10 years agoAdjust libcynara-admin error codes 94/28794/1
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

10 years agoBuilding: better handling of deprecated 24/28724/1
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>
10 years agoFix cynara_check return codes 61/28561/3
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

10 years agoAdd tests for cynara_admin_check function 74/27974/3
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

10 years agoEnhance CynaraTestAdmin with adminCheck() method 73/27973/3
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

10 years agoMake expected result of cynara client check default 14/26914/4
Marcin Niesluchowski [Mon, 1 Sep 2014 09:38:06 +0000 (11:38 +0200)]
Make expected result of cynara client check default

Change-Id: If5e51ff720c8b03aa2d3beabefce459b65306fca

10 years agoAdd tests for none bucket 03/26303/7
Marcin Niesluchowski [Wed, 20 Aug 2014 09:13:28 +0000 (11:13 +0200)]
Add tests for none bucket

Change-Id: I546ded4f234470ab3754338080ab9800dde18279

10 years agosecurity-manager: test security_manager_set_process_groups_from_appid 61/27461/8
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>
10 years agosecurity-manager: drop testing of obsolete TIZENEXEC label on symlinks 60/27460/5
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>
10 years agosecurity-manager: use Smack label for verifying Cynara rules, not pkgId 59/27459/5
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>
10 years agoCheck integrity after partial policy set 32/27532/3
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

10 years agoAdded ckm tests. 68/27668/1
Maciej J. Karpiuk [Wed, 17 Sep 2014 09:45:37 +0000 (11:45 +0200)]
Added ckm tests.

Change-Id: I69ba5318e73ee9f6844787f2ba6a29afec293f45