diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 15 | ||||
-rw-r--r-- | tests/test-freerdp-auth.c | 57 |
2 files changed, 70 insertions, 2 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 4e51e62..b7c39f0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -3,9 +3,11 @@ DISTCLEANFILES = EXTRA_DIST = TESTS = \ - test-freerdpclient-wrapper + test-freerdpclient-wrapper -check_PROGRAMS = $(TESTS) +check_PROGRAMS = \ + test-freerdp-auth \ + $(TESTS) AM_CPPFLAGS = $(GTEST_CPPFLAGS) \ $(REMOTE_APPS_MANAGER_CFLAGS) \ @@ -37,6 +39,8 @@ libgtest_a_CXXFLAGS = \ # Wrapper ########################## +test_freerdp_wrapper: test-freerdp-auth + test_freerdpclient_wrapper_SOURCES = \ mock_pam.c mock_pam.h \ mock_guest.c mock_guest.h \ @@ -53,3 +57,10 @@ test_freerdpclient_wrapper_CXXFLAGS = \ test_freerdpclient_wrapper_LDFLAGS = \ -pthread +########################## +# Auth tool +########################## + +test_freerdp_auth_SOURCES = \ + test-freerdp-auth.c + diff --git a/tests/test-freerdp-auth.c b/tests/test-freerdp-auth.c new file mode 100644 index 0000000..a83885e --- /dev/null +++ b/tests/test-freerdp-auth.c @@ -0,0 +1,57 @@ +/* + * Copyright © 2012 Canonical Ltd. + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 3, as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranties of + * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + * Author: Ted Gould <ted@canonical.com> + */ + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +int +main (int argc, char * argv[]) +{ + char password[512]; + if (argc != 4) { + printf("Not enough params"); + return -1; + } + + if (scanf("%511s", password) != 1) { + return -1; + } + + /* Check username */ + if (strcmp(argv[2], "ruser")) { + return -1; + } + + /* Check password */ + if (strcmp(password, "password")) { + return -1; + } + + /* Check domain */ + if (strcmp(argv[3], "domain")) { + return -1; + } + + /* Check hostname */ + if (strcmp(argv[1], "rhost")) { + return -1; + } + + return 0; +} |