summaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2014-12-16 15:25:38 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-01-23 21:45:46 +0100
commitca6dd8e7ac91c7f8e3b4d55206d4f39791ab7149 (patch)
treec298cebafb9554c1359550bac842f7a5c4036409 /src/tests
parent3a8f6b575f4019f21c9425a26f1b346c08a197ae (diff)
downloadsssd-ca6dd8e7ac91c7f8e3b4d55206d4f39791ab7149.tar.gz
sssd-ca6dd8e7ac91c7f8e3b4d55206d4f39791ab7149.tar.xz
sssd-ca6dd8e7ac91c7f8e3b4d55206d4f39791ab7149.zip
sbus: add sbus_opath_get_object_name()
This function assumes that the last component of the object path is an object name. It will return the part unescaped. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/cmocka/test_sbus_opath.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/src/tests/cmocka/test_sbus_opath.c b/src/tests/cmocka/test_sbus_opath.c
index b526c8873..a91a3e2f6 100644
--- a/src/tests/cmocka/test_sbus_opath.c
+++ b/src/tests/cmocka/test_sbus_opath.c
@@ -27,6 +27,8 @@
#include "tests/cmocka/common_mock.h"
#include "tests/common.h"
+#define BASE_PATH "/some/path"
+
void test_sbus_opath_strip_prefix(void **state)
{
const char *prefix = "/org/freedesktop/sssd/";
@@ -102,9 +104,9 @@ void test_sbus_opath_compose(void **state)
char *path;
/* Doesn't need escaping */
- path = sbus_opath_compose(NULL, "/base/path", "domname");
+ path = sbus_opath_compose(NULL, BASE_PATH, "domname");
assert_non_null(path);
- assert_string_equal(path, "/base/path/domname");
+ assert_string_equal(path, BASE_PATH "/domname");
talloc_free(path);
}
@@ -113,12 +115,34 @@ void test_sbus_opath_compose_escape(void **state)
char *path;
/* A dot needs escaping */
- path = sbus_opath_compose(NULL, "/base/path", "redhat.com", NULL);
+ path = sbus_opath_compose(NULL, BASE_PATH, "redhat.com", NULL);
assert_non_null(path);
- assert_string_equal(path, "/base/path/redhat_2ecom");
+ assert_string_equal(path, BASE_PATH "/redhat_2ecom");
talloc_free(path);
}
+void test_sbus_opath_get_object_name(void **state)
+{
+ const char *path = BASE_PATH "/redhat_2ecom";
+ char *name;
+
+ name = sbus_opath_get_object_name(NULL, path, BASE_PATH);
+ assert_non_null(name);
+ assert_string_equal(name, "redhat.com");
+ talloc_free(name);
+
+ name = sbus_opath_get_object_name(NULL, path, BASE_PATH "/");
+ assert_non_null(name);
+ assert_string_equal(name, "redhat.com");
+ talloc_free(name);
+
+ name = sbus_opath_get_object_name(NULL, BASE_PATH, BASE_PATH);
+ assert_null(name);
+
+ name = sbus_opath_get_object_name(NULL, "invalid", BASE_PATH);
+ assert_null(name);
+}
+
int main(int argc, const char *argv[])
{
poptContext pc;
@@ -134,6 +158,7 @@ int main(int argc, const char *argv[])
unit_test(test_sbus_opath_escape_unescape),
unit_test(test_sbus_opath_compose),
unit_test(test_sbus_opath_compose_escape),
+ unit_test(test_sbus_opath_get_object_name)
};
/* Set debug level to invalid value so we can deside if -d 0 was used. */