platform/core/test/security-tests.git
9 years agosecurity-manager-tests: use full proper path for applications 60/36060/3
Rafal Krypa [Thu, 26 Feb 2015 14:25:53 +0000 (15:25 +0100)]
security-manager-tests: use full proper path for applications

Changing function appDirPath to generate proper application path using
pkgId and appId values. Previous implementation tried to install all
applications directly into TZ_USER_APP directory, which was incorrect.

Change-Id: Iabdffd20ca37b6e2fb2c9ecb50d9ba58b16a857b
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
9 years agosecurity-manager-tests: generate proper app label 59/36059/3
Rafal Krypa [Mon, 2 Mar 2015 12:09:54 +0000 (13:09 +0100)]
security-manager-tests: generate proper app label

No longer hardcode application label to "User". Security-manager is switching
to final labeling schema: "User::App::$appId".
Adapting the tests accordingly.

Change-Id: I839027f9bb2b350ec057c08e9382516e194c1a5e
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
9 years agoInvoke test cases that fork with RUNNER_MULTIPROCESS_TEST 58/36058/3
Rafal Krypa [Fri, 27 Feb 2015 14:48:50 +0000 (15:48 +0100)]
Invoke test cases that fork with RUNNER_MULTIPROCESS_TEST

Change-Id: Ic4b83d3e96b2d987a9b4efd00c69861e5003861a

9 years agoTests for new structure of application file paths 78/35078/14
Zbigniew Jasinski [Fri, 6 Feb 2015 16:36:37 +0000 (17:36 +0100)]
Tests for new structure of application file paths

Change-Id: I47ffaa1524a7044904413d878573ef4b4e9cea89

9 years agoTest for new path types for application installation in security-manager 09/34509/10
Zbigniew Jasinski [Tue, 27 Jan 2015 18:26:01 +0000 (19:26 +0100)]
Test for new path types for application installation in security-manager

Changes to https://review.tizen.org/gerrit/#/c/33051/

Change-Id: If46428e20e23dd8724803f28945cbb7fb166a370

9 years agoTest scenario for denying some privileges to a user by admin 97/35197/11
Jan Cybulski [Tue, 10 Feb 2015 07:12:33 +0000 (08:12 +0100)]
Test scenario for denying some privileges to a user by admin

Change-Id: I2b80c7643d6565fb2e5b8b5d1619214ad0f64d85
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
9 years agoAdd convenience method for getting users's uid converted to string 78/34578/10
Jan Cybulski [Thu, 29 Jan 2015 08:24:19 +0000 (09:24 +0100)]
Add convenience method for getting users's uid converted to string

Change-Id: I7229a746d3ddfa28f93aef3bb21c6bc56b8d9ccf
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
9 years agoSecurity manager: automatic test for security-manager-cmd 32/34332/11
Jan Cybulski [Fri, 6 Feb 2015 09:21:15 +0000 (10:21 +0100)]
Security manager: automatic test for security-manager-cmd

Change-Id: I73d5a9bab5eef1b241ce229eb3f8444daea1b217
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
9 years agoAdd tests for creation and removal of user entries in cynara 75/34575/10
Jan Cybulski [Wed, 28 Jan 2015 16:26:03 +0000 (17:26 +0100)]
Add tests for creation and removal of user entries in cynara

Change-Id: I7fdf5a3853b02d4c5e997d3cc2902130be33ffc6
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
9 years agoTest case for filtered getting of policies 58/35558/5
Michal Eljasiewicz [Tue, 17 Feb 2015 13:42:25 +0000 (14:42 +0100)]
Test case for filtered getting of policies

Change-Id: I9bd63d42d287e86a1d4d3495d1bffd62dbc2debf
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoTest case for deleting policy for self 47/35547/6
Michal Eljasiewicz [Tue, 17 Feb 2015 11:24:07 +0000 (12:24 +0100)]
Test case for deleting policy for self

Change-Id: I55b86c6806987734b6bcd51a87e47a5364a1f209
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoTest for getting policies levels descriptions 88/35488/6
Michal Eljasiewicz [Mon, 16 Feb 2015 11:59:39 +0000 (12:59 +0100)]
Test for getting policies levels descriptions

Without plugins in Cynara - so only Allow and Deny

Change-Id: Iaf78ce6de77ba9c1e73d0a56ee6eac1385ee2f9c
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoTests for sending policies update for admin and self 63/35063/9
Michal Eljasiewicz [Fri, 6 Feb 2015 13:59:50 +0000 (14:59 +0100)]
Tests for sending policies update for admin and self

Change-Id: I389145fdb8593c052f7bde1951d36e196e4310c4
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoList policy API tests 12/34512/12
Krzysztof Sasiak [Thu, 19 Feb 2015 10:33:20 +0000 (11:33 +0100)]
List policy API tests

Change-Id: I71b5d1026d1263f9ef674f371b9c4c5226d8dd26
Signed-off-by: Krzysztof Sasiak <k.sasiak@samsung.com>
9 years agoAdd wrappers for policy updating API functions 93/34693/14
Michal Eljasiewicz [Fri, 30 Jan 2015 12:46:47 +0000 (13:46 +0100)]
Add wrappers for policy updating API functions

Change-Id: I71f62d440c267346c8ed6f3e85a1165a4912494e
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
Signed-off-by: Krzysztof Sasiak <k.sasiak@samsung.com>
9 years agoAdd PolicyRequest class for testing updating policies API 92/34692/15
Michal Eljasiewicz [Fri, 30 Jan 2015 12:45:28 +0000 (13:45 +0100)]
Add PolicyRequest class for testing updating policies API

Change-Id: I7857d01b0fe8091ba0b55e2cd9e5d503eca07221
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
Signed-off-by: Krzysztof Sasiak <k.sasiak@samsung.com>
9 years agoTemporaryTestUser class fix 23/35023/10
Krzysztof Sasiak [Fri, 6 Feb 2015 07:19:14 +0000 (08:19 +0100)]
TemporaryTestUser class fix

Additional method create() has to be called in order for the user
to be created. This prevents a segfault in gumd when adding this class
to a vector.

Change-Id: Ifc20e2c67c9dda205a62f47108a349cf04d09569
Signed-off-by: Krzysztof Sasiak <k.sasiak@samsung.com>
Signed-off-by: Zbigniew Jasinski <z.jasinski@samsung.com>
9 years agoRemove security-tests user and use libgum instead 47/34947/5
Marcin Niesluchowski [Tue, 3 Feb 2015 16:42:56 +0000 (17:42 +0100)]
Remove security-tests user and use libgum instead

Installing security-tests user in spec via gum-utils is not needed as it
can be added via libgum api. Due to that test directories for newly
created users are created in runtime.

Change-Id: I3446d2cb55a100422e9d963849dcc11f4894aa40

9 years agoTidy up TemporaryTestUser class 46/34946/1
Marcin Niesluchowski [Tue, 3 Feb 2015 16:31:38 +0000 (17:31 +0100)]
Tidy up TemporaryTestUser class

Make TemporaryTestUser class more readable and add gid entry.

Change-Id: I7a33aee2efc244a430c1fe98f83340d233480ef6

9 years agosecurity-manager-tests: use real privilege names 60/34860/2
Rafal Krypa [Tue, 3 Feb 2015 16:01:57 +0000 (17:01 +0100)]
security-manager-tests: use real privilege names

Security-manager recently implemented user profiles, allowing only
selected privileges for each user type. For now, all user profiles
can utilize all specified Tizen 3.0 privileges. But security-tests
used to test security-manager with custom privilege names that are
now not permitted. To put tests back to work privilege names must
be valid.

Change-Id: I78d972b67ac192f16d218f666e3614d8da136c74
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
9 years agoAdapt to changes in gum-utils 1.0.5 31/34831/1
Rafal Krypa [Tue, 3 Feb 2015 09:48:53 +0000 (10:48 +0100)]
Adapt to changes in gum-utils 1.0.5

Gum-utils options for setting user type has changed. It no longer
expects numerical types. Appropriate names are required, like "normal".
Old flags are no longer supported in gum-utils and lead to error.

Change-Id: I89dbe40ca92f22cf33025dae5088fc8d533bc2e0
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
9 years agoMerge branch 'tizen' into security-manager 66/34766/2
Marcin Niesluchowski [Mon, 2 Feb 2015 14:09:41 +0000 (15:09 +0100)]
Merge branch 'tizen' into security-manager

Change-Id: I9f922b5d7269e5020b78f91b726bef444cb1697a

9 years agoMerge branch 'cynara' into tizen 77/34277/2
Marcin Niesluchowski [Thu, 22 Jan 2015 14:31:17 +0000 (15:31 +0100)]
Merge branch 'cynara' into tizen

Conflicts:
tests/common/dbus_access.cpp
tests/common/dbus_access.h
tests/cynara-tests/common/cynara_test_env.cpp
tests/framework/include/dpl/test/test_runner.h

Change-Id: I91f595f8a92ceafd071c4db0d70f7431447bab48

9 years agoRename file operation functions of cynara-tests 67/34267/2
Adam Malinowski [Thu, 22 Jan 2015 12:43:07 +0000 (13:43 +0100)]
Rename file operation functions of cynara-tests

Change-Id: Ie24d7360dacf9f236ed36eaaaafbba1913d6e8dd

9 years agoRefactor gdbbacktrace() function 51/33851/12
Marcin Niesluchowski [Thu, 15 Jan 2015 12:48:09 +0000 (13:48 +0100)]
Refactor gdbbacktrace() function

Add safer, less redundant code and make it part of DPL namespace

Change-Id: I19e4704f4600d9720e939b0d76aa143c5d82ec2f

9 years agoSecurity manager: test for offline user adding 57/32357/8
Jan Cybulski [Thu, 8 Jan 2015 12:33:45 +0000 (13:33 +0100)]
Security manager: test for offline user adding

Change-Id: I264f6e03c7e373b89c6067ad9e07768ee27cd88f
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
9 years agoAdd test for new security manager API user add 99/31099/21
Michal Eljasiewicz [Wed, 17 Dec 2014 10:20:47 +0000 (11:20 +0100)]
Add test for new security manager API user add

Change-Id: If4886d140696c780dbf39865afe64e80a71d814d
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoAdd missing arguments for app instalation 28/34028/2
Michal Eljasiewicz [Tue, 20 Jan 2015 08:45:17 +0000 (09:45 +0100)]
Add missing arguments for app instalation

Change-Id: Ic7f8362d31f12a630c5aa5c5f70eef3c72659ce0
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoAdd timeout mechanism for time-limited function calls 01/33501/5
Lukasz Wojciechowski [Mon, 12 Jan 2015 10:16:34 +0000 (11:16 +0100)]
Add timeout mechanism for time-limited function calls

Timeout mechanism:
1) launches given function in new thread;
2) waits given time period;
3) cancels called function using custom user CancelFunction;
4) checks if function has finished in expected way;
5) returns function answer (value or exception).

Change-Id: Ia65d271095712e6afaaac96932f8d14d61b1702a

9 years agoAdd Agent class wrapping usage of libcynara-agent 87/33387/5
Lukasz Wojciechowski [Thu, 8 Jan 2015 10:24:27 +0000 (11:24 +0100)]
Add Agent class wrapping usage of libcynara-agent

With Agent object tests can play role of cynara agent and
communicate with cynara service. That can be useful for:
* testing libcynara-agent library;
* using agent in plugins testing;
* using agent in asynchronous client testing.

Change-Id: Idc783fa963074d5ff6f1dedb6a89b6aae6f65dbe

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 wrappers for user add and delete API 53/32353/7
Michal Eljasiewicz [Wed, 17 Dec 2014 10:21:14 +0000 (11:21 +0100)]
Add wrappers for user add and delete API

Change-Id: Ia7f087fec2f042492ab08ca08b7bbba20d90795d
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoAdd class UserRequest for user API tests 52/32352/5
Michal Eljasiewicz [Wed, 17 Dec 2014 10:19:29 +0000 (11:19 +0100)]
Add class UserRequest for user API tests

Change-Id: Iee5d068c1ba2601fcaf2c4e9bd25b2ad31005c74
Signed-off-by: Michal Eljasiewicz <m.eljasiewic@samsung.com>
9 years agoImplement class for user management with libgum 92/32892/14
Jan Cybulski [Thu, 8 Jan 2015 10:31:54 +0000 (11:31 +0100)]
Implement class for user management with libgum

This will be needed in future tests.

Change-Id: Ic55aa4cb1ab55b726d3032a7b59f02a648685f6b
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
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 agoRemove description param from test result collecting function 72/28772/8
Marcin Niesluchowski [Wed, 15 Oct 2014 15:44:38 +0000 (17:44 +0200)]
Remove description param from test result collecting function

Change-Id: I75f757abd6350456cbf572833b68a7a4aa8647e5

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 agoUse connection and message classes in service manager 09/32509/4
Marcin Niesluchowski [Thu, 18 Dec 2014 12:35:17 +0000 (13:35 +0100)]
Use connection and message classes in service manager

Change-Id: I4aef532bd3c447af8cd3164be2e77b08be71b01f

10 years agoChange DBusAccess class name to ServiceManager 08/32508/3
Marcin Niesluchowski [Thu, 18 Dec 2014 12:07:15 +0000 (13:07 +0100)]
Change DBusAccess class name to ServiceManager

Change-Id: I38483087929620e12bcd2b68146b36de7a266d9c

10 years agoRemove Bumjin Im as contact of dbus access class 08/32408/4
Marcin Niesluchowski [Wed, 17 Dec 2014 17:33:35 +0000 (18:33 +0100)]
Remove Bumjin Im as contact of dbus access class

Change-Id: Id894dce5e48b50114bd118d5b21b6099093fc590

10 years agoAdd dbus connection wrapper class 07/32207/5
Marcin Niesluchowski [Tue, 16 Dec 2014 15:40:06 +0000 (16:40 +0100)]
Add dbus connection wrapper class

Change-Id: I494354b5d0c262abd90b3c20d36b3db5f1efef93

10 years agoAdd dbus incoming message wrapper class 07/32407/4
Marcin Niesluchowski [Wed, 17 Dec 2014 10:42:55 +0000 (11:42 +0100)]
Add dbus incoming message wrapper class

Change-Id: I1f476b1c44605458e1168c60bf3c4e6b04462be5

10 years agoAdd dbus outgoing message wrapper class 06/32406/4
Marcin Niesluchowski [Wed, 17 Dec 2014 16:31:47 +0000 (17:31 +0100)]
Add dbus outgoing message wrapper class

Change-Id: I44199708452dd5c95b4e777f51890066199b7b1c

10 years agoTest of app uninstallation with giving wrong pkg id. 63/31663/8
Jan Cybulski [Tue, 16 Dec 2014 12:49:16 +0000 (13:49 +0100)]
Test of app uninstallation with giving wrong pkg id.

As security-manager ignores pkg id during uninstallation,
this should succeed.

Change-Id: Ia7a9a09cafa7d4ddf649ae8753868dcb3e53800a
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
10 years agoTest for installing app to two separate packages 38/31338/10
Jan Cybulski [Tue, 16 Dec 2014 12:49:05 +0000 (13:49 +0100)]
Test for installing app to two separate packages

Security-manager should return error code in such situation

Change-Id: I1fd85b75bc20763c1124543b7a64314db4bb7b44
Signed-off-by: Jan Cybulski <j.cybulski@samsung.com>
10 years agoAdjust Summary collector to test framework logic 65/28765/11
Marcin Niesluchowski [Wed, 15 Oct 2014 11:14:45 +0000 (13:14 +0200)]
Adjust Summary collector to test framework logic

Change-Id: Ia48421e8036bafe56cc8f2bffad7c7d70f4a3efe

10 years agoAdded test for offline application installation mode 18/31018/8
Zbigniew Jasinski [Fri, 28 Nov 2014 14:39:41 +0000 (15:39 +0100)]
Added test for offline application installation mode

Test for offline application installation mode in security-manager.
Code: https://review.tizen.org/gerrit/29887

Change-Id: Iddb4cd62c08e472df58621c40b17e9e2eae8cd92

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 agoMerge branch 'tizen' into security-manager 09/32109/1
Marcin Niesluchowski [Mon, 15 Dec 2014 15:38:01 +0000 (16:38 +0100)]
Merge branch 'tizen' into security-manager

Change-Id: I0a590a3616c34fd61024dc353c799f6c83d1846b

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 agoMake security-manager tests use their common wrappers 61/31861/4
Marcin Niesluchowski [Wed, 10 Dec 2014 16:53:03 +0000 (17:53 +0100)]
Make security-manager tests use their common wrappers

Change-Id: I0d2e83cc18d675a14b0cc812493171ae01ec634c

10 years agoAdd api wrappers to security-manager tests 60/31860/4
Marcin Niesluchowski [Wed, 10 Dec 2014 13:35:55 +0000 (14:35 +0100)]
Add api wrappers to security-manager tests

Change-Id: Ic558284e8d029b5450ff4126ef42c8029c38947d

10 years agoAdd install request wrapper class to security-manager tests 59/31859/4
Marcin Niesluchowski [Wed, 10 Dec 2014 13:09:33 +0000 (14:09 +0100)]
Add install request wrapper class to security-manager tests

Change-Id: Iebf1008b4ba24fd02fd371253b7d1063780625a5

10 years agoMake app id and pkg id unique for each security-manager test 74/31774/1
Marcin Niesluchowski [Tue, 9 Dec 2014 15:52:50 +0000 (16:52 +0100)]
Make app id and pkg id unique for each security-manager test

app ids and pkg ids are used in global scope, some of them same for various
tests. They should be unique based on test name.

Change-Id: Idb80cb5adb63d8557fb9327769d42cefde4bdd24

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 security-manager 36/30736/1
Marcin Niesluchowski [Mon, 24 Nov 2014 17:45:55 +0000 (18:45 +0100)]
Merge branch 'tizen' into security-manager

Change-Id: Ia942a66c32828236c55e16871ce82ffa1aed95a5

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