Rafal Krypa [Fri, 6 Mar 2015 09:46:09 +0000 (10:46 +0100)]
security-manager-tests: use libsmack functions for operations on socket labels
Use smack_set_label_for_file() and smack_new_label_from_file() instead
of plain fsetxattr() and fgetxattr(). These libsmack functions have
been recently provided by libsmack 1.1.
This change also fixes a bug in the tests. We incorrectly expected
the value from fgetxattr() to be null-terminated. It was before kernel
3.20, but that was incorrect for the kernel to do. With most current
kernels the test failed. Libsmack functions do the null-termination
for us, so the test is working again.
Change-Id: Ifc1820cddad0c5acbe49f3c98e622b07acc31358
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Rafal Krypa [Fri, 27 Feb 2015 14:23:54 +0000 (15:23 +0100)]
Fix security_manager_11_security_manager_cmd_install
- adapt to new path types (private => writable, public => readable)
- use proper application directories
Change-Id: I1556fbf7bdbd1ec23ac9750c686ac2b4b62c0ef6
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Rafal Krypa [Fri, 27 Feb 2015 11:28:51 +0000 (12:28 +0100)]
fix security_manager_09_add_user_offline
- perform initial app uninstallation in on-line mode
(off-line doesn't support that)
- stop both security-manager.service and security-manager.socket
Change-Id: Ifcdb6d7a27c68b8b6e813bfd58887f80e17ea542
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
Rafal Krypa [Fri, 27 Feb 2015 11:05:22 +0000 (12:05 +0100)]
fix security_manager_06_install_app_offline
- perform initial app uninstallation in on-line mode
(off-line doesn't support that)
- stop both security-manager.service and security-manager.socket
Change-Id: Ib2e524d9599cd2270e9f53a253a6324144a4e3f5
Signed-off-by: Rafal Krypa <r.krypa@samsung.com>
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>
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>
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
Zbigniew Jasinski [Fri, 6 Feb 2015 16:36:37 +0000 (17:36 +0100)]
Tests for new structure of application file paths
Change-Id: I47ffaa1524a7044904413d878573ef4b4e9cea89
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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
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>
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>
Marcin Niesluchowski [Mon, 2 Feb 2015 14:09:41 +0000 (15:09 +0100)]
Merge branch 'tizen' into security-manager
Change-Id: I9f922b5d7269e5020b78f91b726bef444cb1697a
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
Adam Malinowski [Thu, 22 Jan 2015 12:43:07 +0000 (13:43 +0100)]
Rename file operation functions of cynara-tests
Change-Id: Ie24d7360dacf9f236ed36eaaaafbba1913d6e8dd
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
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>
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>
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>
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
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
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
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>
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>
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>
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
Marcin Niesluchowski [Wed, 15 Oct 2014 15:44:38 +0000 (17:44 +0200)]
Remove description param from test result collecting function
Change-Id: I75f757abd6350456cbf572833b68a7a4aa8647e5
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 [Thu, 18 Dec 2014 12:35:17 +0000 (13:35 +0100)]
Use connection and message classes in service manager
Change-Id: I4aef532bd3c447af8cd3164be2e77b08be71b01f
Marcin Niesluchowski [Thu, 18 Dec 2014 12:07:15 +0000 (13:07 +0100)]
Change DBusAccess class name to ServiceManager
Change-Id: I38483087929620e12bcd2b68146b36de7a266d9c
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
Marcin Niesluchowski [Tue, 16 Dec 2014 15:40:06 +0000 (16:40 +0100)]
Add dbus connection wrapper class
Change-Id: I494354b5d0c262abd90b3c20d36b3db5f1efef93
Marcin Niesluchowski [Wed, 17 Dec 2014 10:42:55 +0000 (11:42 +0100)]
Add dbus incoming message wrapper class
Change-Id: I1f476b1c44605458e1168c60bf3c4e6b04462be5
Marcin Niesluchowski [Wed, 17 Dec 2014 16:31:47 +0000 (17:31 +0100)]
Add dbus outgoing message wrapper class
Change-Id: I44199708452dd5c95b4e777f51890066199b7b1c
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>
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>
Marcin Niesluchowski [Wed, 15 Oct 2014 11:14:45 +0000 (13:14 +0200)]
Adjust Summary collector to test framework logic
Change-Id: Ia48421e8036bafe56cc8f2bffad7c7d70f4a3efe
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
Marcin Niesluchowski [Mon, 15 Dec 2014 15:46:43 +0000 (16:46 +0100)]
Merge branch 'tizen' into cynara
Change-Id: I7823ffc2dbd0955045402a32827db459c3083c97
Marcin Niesluchowski [Mon, 15 Dec 2014 15:38:01 +0000 (16:38 +0100)]
Merge branch 'tizen' into security-manager
Change-Id: I0a590a3616c34fd61024dc353c799f6c83d1846b
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
Marcin Niesluchowski [Wed, 10 Dec 2014 16:53:03 +0000 (17:53 +0100)]
Make security-manager tests use their common wrappers
Change-Id: I0d2e83cc18d675a14b0cc812493171ae01ec634c
Marcin Niesluchowski [Wed, 10 Dec 2014 13:35:55 +0000 (14:35 +0100)]
Add api wrappers to security-manager tests
Change-Id: Ic558284e8d029b5450ff4126ef42c8029c38947d
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
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
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:45:55 +0000 (18:45 +0100)]
Merge branch 'tizen' into security-manager
Change-Id: Ia942a66c32828236c55e16871ce82ffa1aed95a5
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