summaryrefslogtreecommitdiff
path: root/tests/CredentialPersistence/CredentialPersistence.cc
diff options
context:
space:
mode:
authorgeronimo <geronimo013@gmx.de>2012-07-13 04:26:40 +0200
committergeronimo <geronimo013@gmx.de>2012-07-13 04:26:40 +0200
commit2d48ae784ea6828e8626c32c848f64232d8f35c0 (patch)
treefab114b03e91125783a778b835dd1913b039cebe /tests/CredentialPersistence/CredentialPersistence.cc
downloadcmp-2d48ae784ea6828e8626c32c848f64232d8f35c0.tar.gz
cmp-2d48ae784ea6828e8626c32c848f64232d8f35c0.tar.bz2
initial import
Diffstat (limited to 'tests/CredentialPersistence/CredentialPersistence.cc')
-rw-r--r--tests/CredentialPersistence/CredentialPersistence.cc85
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/CredentialPersistence/CredentialPersistence.cc b/tests/CredentialPersistence/CredentialPersistence.cc
new file mode 100644
index 0000000..8dc2347
--- /dev/null
+++ b/tests/CredentialPersistence/CredentialPersistence.cc
@@ -0,0 +1,85 @@
+/*
+ * File: CredentialPersistence.cc
+ * Author: django
+ *
+ * Created on 03.07.2012, 14:16:35
+ */
+#include <Principal.h>
+#include <Credentials.h>
+#include <stdlib.h>
+#include <iostream>
+
+/*
+ * Simple C++ Test Suite
+ */
+static void setupTestCredentials() {
+ Credentials.SetApplicationRealm("supportedUsers@myTestApp");
+ cPrincipal *p = new cPrincipal("Nasenbär", Credentials.ApplicationRealm());
+
+ p->CreateHash("Nasenwasser");
+ Credentials.Put(p->Name(), p);
+
+ p = new cPrincipal("Admin", Credentials.ApplicationRealm());
+ p->CreateHash("very secret");
+ Credentials.Put(p->Name(), p);
+
+ p = new cPrincipal("Sepp", Credentials.ApplicationRealm());
+ p->CreateHash("keine Ahnung");
+ Credentials.Put(p->Name(), p);
+}
+
+static void dumpCredentials() {
+ cCredentials::const_iterator principals = Credentials.begin();
+
+ while (principals != Credentials.end()) {
+ principals->second->Dump();
+ ++principals;
+ }
+
+}
+
+void test1()
+{
+ setupTestCredentials();
+ std::cout << "CredentialPersistence test 1" << std::endl;
+
+ int rv = Credentials.Store("/tmp/testCredentials.x9");
+
+ if (!rv) std::cout << "%TEST_FAILED% time=0 testname=test1 (CredentialPersistence) message=failed to write credentials" << std::endl;
+ else std::cout << "saved " << rv << " principals." << std::endl;
+
+ dumpCredentials();
+}
+
+void test2()
+{
+ std::cout << "CredentialPersistence test 2" << std::endl;
+
+ Credentials.Clear();
+
+ int rv = Credentials.Load("/tmp/testCredentials.x9");
+
+ if (!rv) std::cout << "%TEST_FAILED% time=0 testname=test2 (CredentialPersistence) message=failed to load credentials" << std::endl;
+ else std::cout << "loaded " << rv << " principals." << std::endl;
+
+ dumpCredentials();
+}
+
+int main(int argc, char** argv)
+{
+ std::cout << "%SUITE_STARTING% CredentialPersistence" << std::endl;
+ std::cout << "%SUITE_STARTED%" << std::endl;
+
+ std::cout << "%TEST_STARTED% test1 (CredentialPersistence)" << std::endl;
+ test1();
+ std::cout << "%TEST_FINISHED% time=0 test1 (CredentialPersistence)" << std::endl;
+
+ std::cout << "%TEST_STARTED% test2 (CredentialPersistence)\n" << std::endl;
+ test2();
+ std::cout << "%TEST_FINISHED% time=0 test2 (CredentialPersistence)" << std::endl;
+
+ std::cout << "%SUITE_FINISHED% time=0" << std::endl;
+
+ return (EXIT_SUCCESS);
+}
+