summaryrefslogtreecommitdiff
path: root/test/persistence_client_library_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/persistence_client_library_test.c')
-rw-r--r--test/persistence_client_library_test.c53
1 files changed, 50 insertions, 3 deletions
diff --git a/test/persistence_client_library_test.c b/test/persistence_client_library_test.c
index e5e3b99..db3a1e8 100644
--- a/test/persistence_client_library_test.c
+++ b/test/persistence_client_library_test.c
@@ -210,7 +210,7 @@ START_TEST (test_GetDataHandle)
locTime = localtime(&t);
- snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon, (locTime->tm_year+1900),
+ snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
@@ -336,7 +336,7 @@ START_TEST(test_SetData)
locTime = localtime(&t);
// write data
- snprintf(sysTimeBuffer, 128, "\"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon, (locTime->tm_year+1900),
+ snprintf(sysTimeBuffer, 128, "\"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
/**
@@ -454,7 +454,7 @@ START_TEST(test_SetDataNoPRCT)
locTime = localtime(&t);
- snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon, (locTime->tm_year+1900),
+ snprintf(sysTimeBuffer, 128, "TimeAndData: \"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
/**
@@ -1585,6 +1585,47 @@ START_TEST(test_DbusInterface)
END_TEST
+START_TEST(test_SharedAccess)
+{
+ int ret = 0;
+ unsigned int shutdownReg = PCL_SHUTDOWN_TYPE_FAST | PCL_SHUTDOWN_TYPE_NORMAL;
+ unsigned char buffer[256] = {0};
+ char sysTimeBuffer[256];
+ struct tm *locTime;
+ time_t t = time(0);
+
+ locTime = localtime(&t);
+
+ // write data
+ snprintf(sysTimeBuffer, 128, "\"%s %d.%d.%d - %d:%.2d:%.2d Uhr\"", dayOfWeek[locTime->tm_wday], locTime->tm_mday, locTime->tm_mon+1, (locTime->tm_year+1900),
+ locTime->tm_hour, locTime->tm_min, locTime->tm_sec);
+
+ (void)pclInitLibrary(gTheAppId, shutdownReg); // use the app id, the resource is registered for
+
+ ret = pclKeyWriteData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, (unsigned char*)sysTimeBuffer, strlen(sysTimeBuffer));
+ fail_unless(ret == (int)strlen(sysTimeBuffer), "Failed to write shared data ");
+
+ ret = pclKeyReadData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, buffer, 256);
+ fail_unless(ret == (int)strlen(sysTimeBuffer), "Failed to read shared data ");
+
+ pclDeinitLibrary();
+
+ // ----------------------------------------------
+
+ (void)pclInitLibrary("node-health-monitor", shutdownReg); // now use a different app id, which is not able to write this resource
+
+ ret = pclKeyWriteData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, (unsigned char*)"This is a test Buffer", strlen("This is a test Buffer"));
+ fail_unless(ret == EPERS_NOT_RESP_APP, "Able to write shared data, but should not!!");
+
+ ret = pclKeyReadData(PCL_LDBID_PUBLIC, "aSharedResource", 1, 1, buffer, 256);
+ fail_unless(ret == (int)strlen(sysTimeBuffer), "Failed to read shared data ");
+ fail_unless(strncmp((char*)buffer, sysTimeBuffer, strlen((char*)sysTimeBuffer)) == 0, "Buffer not correctly read");
+
+ pclDeinitLibrary();
+}
+END_TEST
+
+
static Suite * persistencyClientLib_suite()
{
const char* testSuiteName = "Persistency_client_library";
@@ -1689,6 +1730,9 @@ static Suite * persistencyClientLib_suite()
TCase * tc_VerifyROnly = tcase_create("VerifyROnly");
tcase_add_test(tc_VerifyROnly, test_VerifyROnly);
+ TCase * tc_SharedAccess = tcase_create("SharedAccess");
+ tcase_add_test(tc_SharedAccess, test_SharedAccess);
+ tcase_set_timeout(tc_SharedAccess, 2);
suite_add_tcase(s, tc_persSetData);
@@ -1753,6 +1797,9 @@ static Suite * persistencyClientLib_suite()
suite_add_tcase(s, tc_DataFileConfDefault);
tcase_add_checked_fixture(tc_DataFileConfDefault, data_setup, data_teardown);
+
+ suite_add_tcase(s, tc_SharedAccess);
+
#if USE_APPCHECK
suite_add_tcase(s, tc_ValidApplication);
#endif