diff options
author | Ted Gould <ted@gould.cx> | 2012-09-20 08:39:53 +0000 |
---|---|---|
committer | Tarmac <> | 2012-09-20 08:39:53 +0000 |
commit | 6af8fab5b1df788bc57e5d174fc090824c9c0065 (patch) | |
tree | 877c48d3bef1123accafba2caa953d73bc2002c5 /tests/test-freerdp-wrapper.cc | |
parent | 84fb97ec2326559940bafd6f7a7b1370fb679d86 (diff) | |
parent | 74540195ac67a579ba0f8a2479cfcadb6bee6cc8 (diff) | |
download | libpam-x2go-6af8fab5b1df788bc57e5d174fc090824c9c0065.tar.gz libpam-x2go-6af8fab5b1df788bc57e5d174fc090824c9c0065.tar.bz2 libpam-x2go-6af8fab5b1df788bc57e5d174fc090824c9c0065.zip |
Adding a testing framework. Approved by Albert Astals Cid, jenkins.
Diffstat (limited to 'tests/test-freerdp-wrapper.cc')
-rw-r--r-- | tests/test-freerdp-wrapper.cc | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/test-freerdp-wrapper.cc b/tests/test-freerdp-wrapper.cc new file mode 100644 index 0000000..cfe86de --- /dev/null +++ b/tests/test-freerdp-wrapper.cc @@ -0,0 +1,76 @@ +/* + * Copyright © 2012 Canonical Ltd. All rights reserved. + * + * Author(s): David Barth <david.barth@canonical.com> + * + */ + +#include <gtest/gtest.h> + +extern "C" { + +#include "mock_pam.h" +#include "mock_guest.h" + + int freerdpclient_wrapper (int argc, char * argv[]); + +const char * auth_check_path = AUTH_CHECK; + +} + +namespace { + + // The fixture for testing class Foo. + class FreerdpclientWrapperTest : public ::testing::Test { + protected: + // You can remove any or all of the following functions if its body + // is empty. + + FreerdpclientWrapperTest() { + // You can do set-up work for each test here. + setenv("HOME", "/tmp", 1 /* overwrite */); + } + + virtual ~FreerdpclientWrapperTest() { + // You can do clean-up work that doesn't throw exceptions here. + } + + // If the constructor and destructor are not enough for setting up + // and cleaning up each test, you can define the following methods: + + virtual void SetUp() { + // Code here will be called immediately after the constructor (right + // before each test). + unlink("/tmp/.freerdp-socket"); + } + + virtual void TearDown() { + // Code here will be called immediately after each test (right + // before the destructor). + unlink("/tmp/.freerdp-socket"); + } + + // Objects declared here can be used by all tests in the test case for Foo. + }; + + TEST_F(FreerdpclientWrapperTest, canLinkTheWholeGang) { + EXPECT_EQ (1, 1); // right, that's trivial, but that means + // that I got all of the wrapper and pam to link there + } + + TEST_F(FreerdpclientWrapperTest, canCallPamOpenSession) { + const char *argv[] = { NULL }; + + pam_handle_t *pamh = pam_handle_new (); + + EXPECT_EQ (PAM_SUCCESS, + pam_sm_authenticate (pamh, 0, 0, argv)); + EXPECT_EQ (PAM_SUCCESS, + pam_sm_setcred (pamh, 0, 0, argv)); + EXPECT_EQ (PAM_SUCCESS, + pam_sm_open_session (pamh, 0, 0, argv)); + EXPECT_EQ (PAM_SUCCESS, + pam_sm_close_session (pamh, 0, 0, argv)); + } + +} |