summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtyom Poptsov <poptsov.artyom@gmail.com>2014-01-26 19:46:54 +0400
committerArtyom Poptsov <poptsov.artyom@gmail.com>2014-01-26 19:46:54 +0400
commit188429dad3c45643bd3c28ba972c0c982cea502d (patch)
treef9e1e3273e69da8930aafe29ca0d4da736dc683c
parenttests/session.scm: Fix bug in TC. (diff)
downloadguile-ssh-188429dad3c45643bd3c28ba972c0c982cea502d.tar.gz
Add some unit tests for Guile-SSH server API.
* tests/server.scm: New file. * tests/dsakey, tests/rsakey: : New files. * Makefile.am (SCM_TESTS): Add `server.scm' test.
-rw-r--r--ChangeLog5
-rw-r--r--Makefile.am1
-rw-r--r--tests/dsakey12
-rw-r--r--tests/rsakey27
-rw-r--r--tests/server.scm59
5 files changed, 104 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index adb6f73..8ce36ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2014-01-26 Artyom Poptsov <poptsov.artyom@gmail.com>
+ Add some unit tests for Guile-SSH server API.
+ * tests/server.scm: New file.
+ * tests/dsakey, tests/rsakey: : New files.
+ * Makefile.am (SCM_TESTS): Add `server.scm' test.
+
* tests/session.scm ("session?"): New test case.
("comparsion of sessions"): Use one test case instead of two
separated TCs (equal?/not equal? test).
diff --git a/Makefile.am b/Makefile.am
index 2adca2f..0c804f1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -24,6 +24,7 @@ SUBDIRS = src examples build-aux m4
# Tests.
SCM_TESTS = \
+ tests/server.scm \
tests/session.scm \
tests/auth.scm
diff --git a/tests/dsakey b/tests/dsakey
new file mode 100644
index 0000000..a13b9ef
--- /dev/null
+++ b/tests/dsakey
@@ -0,0 +1,12 @@
+-----BEGIN DSA PRIVATE KEY-----
+MIIBvAIBAAKBgQDqZyeuMN0KNx5Agjg0z6S6j1Kwy4NG8VnaGntrbFxcIQbYSJQl
+fDdIU8zo9UK4J8f1org5Oal0ijh4rMqlQb/LBizlEwctBXc9UqG2fflhrufuRIiZ
+u/DGXILR1x7tRj7iJgDYn20mgyaSBiiLatFeVoaS18kAu6NFbe9LBkG6FQIVAN67
+7oA8FZe2qrYKH6c4OftUNIiFAoGAOYhh2G87UqvCp1o9Sf+hk77D6dSRamd4RV+c
+JRiFeF8QXXhGZwj64WCbpjO0kY2I1jKVuXqhTbOaN3fqyTxRcA6O8ltdFgtwX6aO
+cUcVN+cX/2hQFW5t74vx0UL7+HBa8Ey7zx4DWBmHWYh1wlz6GCIflqCk/Z9zH6wV
+weIaQJsCgYEArkWuRnbjfPVFpXrWGw6kMPVdhOZr1ghdlG5bY31y4UKUlmHvXx5Y
+Z776dSRSMJY2u4lS73+SFgwPdkmpgGma/rZdd9gly9T7SiSr/4qXJyS8Muh203xs
+AU3ukRocY8lsvllKEGiCJmrUTJWmj0UYEDsbqy2k/1Yz2Q/awygyk9cCFQDQQTY2
+mHV9J3u9CQFwuQAGdZ2Gig==
+-----END DSA PRIVATE KEY-----
diff --git a/tests/rsakey b/tests/rsakey
new file mode 100644
index 0000000..7f77c3d
--- /dev/null
+++ b/tests/rsakey
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAvvB/Y+WLd8XqmgMVwLUmwbFtCbCXoJ4MHy73hwNHr953RCq7
+spUegmYH+jsbIU8FHgWqp+4yTH/ukUUD03MYoYLWQH3cinTxlg7ZnjwZxuuPrhhG
+j/Ddyrws5QDSn+bZsUvG6yZUIcSi/LftyBPMN0JgjJwhilqa7C/8oDwPZKFmrlKq
+irzkG2V3VBHy72X57BNZWkciuHcC4ojNr8hmTP9snjyz+MWLv7mHTxWrpMbdwzHI
+KxMvc7lXFPMG5CTCjOe7Gpm74rbszFVakXXjF/XsWb99qnF5aQoZeF4xQpUNJajm
+/EvAjUz15t80NmSa0LVB4g+eEWIZVw+19EzurwIDAQABAoIBAQC0xAEGtUGFohUJ
+u9PzPk0z4OKm4s2aHSbCuvdSldNfd9EX8xEB79UThL8WsrBrp2Dj3F+FXqe17wQP
++fO2UufFuJVYNw/88NvqwaJbAPEydr7vBkJ/cXy4u9AQ+edtxOLhzCjFZOMPmRbp
+BMSTv9J9mlTHqeTDFCZJZuDXXiUAkX2ahgomEYsvOn4cAfTHzOV4mmtFmJwaIJg/
+NcDxVb/ojsc7j1mGRvkVxsPqLwkSoVq2rwpXc23NyExmmq/YJzej9JmZ2xfARWzo
+0V/k1kYU4ALDadSiVljvhJOrEyvKaObtBYWze4mUsUA4vP141asw40W8mxzinudp
+SYxByB55AoGBAOwYxKzywepcH/gVMaKt3dmmK230CkMa06qHPaeclFtzwRR9PYpP
+gPPvuLcavCFZmOM9K6mdizs5XxXc/KL1KTRpfWqXpiEtP8d9icGYgsE7q/wh2cui
+iwdBHaweGqwZwHaOX06jlNLXrFfeQ5gjO2NPnXfiNKPAZH90PIYkY5n7AoGBAM8J
+LyesuBdqD9c17kKoVmGl6CroQxjIedCl3hfB3jQKrLy8nsYmpd3yq7cNaI7UXlvu
+TWFKG8KP3DH/gFvs8KN6PQ7NcLDfVv/AaKCiNiOzOeKruqs+KniE09GWff/BCX66
+++6NRFTr3nZ9XqWHQChQZDJSmosnXSj2vuFarDPdAoGAL9K4i/vEUc+FXkAUxMoJ
+JRwmsef76CnX9DPexkPOPVQOKTNRMuH10fOd6+ELeInokScD4CCcYku1uf0AY5Xb
+WdWAZQYAzbmXsLX6IG/fFHsc1D6bGkd7d+W1t/aFGpVAygL+xTQXYjnzm/zWnkuM
+rQokcHMujHjdIoAN/nICht8CgYBiZUAHABxh7GNo6dW50l1zfTERK1+wKJ9UXXBn
+JBlh7GzaKl7fV8De8hVQI0w9DYtm76PRCDKXTl3dWUv85Ggdmdvo7BSRyyOC20Qe
+i9llMCnjo7BM8Heo3Z/57Scm5OyJUX6oinUeUxdggwb3boc8YbCtBfszBVtOO67O
+VZSf9QKBgEkm1/jk2U1KMX85JMies70CGWE/8/ev6zxSlDY3pr7+bloySUoAXF9t
+Bhjb+bmL7UVEI2USOMAwknybmUQ2IAiKdCgFIZ2v0E3XIzN71zcm2qnBciJedLtu
+moOKkxJJ5dwVnPAKNY+BM36pEBCIyejtjNXDcYuktAS2ks3LyrNB
+-----END RSA PRIVATE KEY-----
diff --git a/tests/server.scm b/tests/server.scm
new file mode 100644
index 0000000..57acee2
--- /dev/null
+++ b/tests/server.scm
@@ -0,0 +1,59 @@
+;; Copyright (C) 2014 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;
+;; This file is a part of libguile-ssh.
+;;
+;; libguile-ssh is free software: you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation, either version 3 of the
+;; License, or (at your option) any later version.
+;;
+;; libguile-ssh is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY 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 libguile-ssh. If not, see <http://www.gnu.org/licenses/>.
+
+(use-modules (srfi srfi-64)
+ (ssh server))
+
+(test-begin "server")
+
+(test-assert "%make-server"
+ (%make-server))
+
+(test-assert "server-set!, valid values"
+ (let* ((server (%make-server))
+ (topdir (getenv "abs_top_srcdir"))
+ (options `((bindaddr "127.0.0.1")
+ (bindport 22)
+ ;; (hostkey ,(format #f "~a/tests/rsakey" topdir))
+ (rsakey ,(format #f "~a/tests/rsakey" topdir))
+ (dsakey ,(format #f "~a/tests/dsakey" topdir))
+ (banner "string")
+ (log-verbosity 0 1 2 3 4 0)
+ (blocking-mode #f #t)))
+ (log (test-runner-aux-value (test-runner-current)))
+ (res #t))
+
+ (for-each
+ (lambda (opt)
+ (for-each
+ (lambda (val)
+ (catch #t
+ (lambda ()
+ (server-set! server (car opt) val))
+ (lambda (key . args)
+ (set! res #f)
+ (format log " opt: ~a, val: ~a, error: ~a~%"
+ (car opt)
+ val
+ args))))
+ (cdr opt)))
+ options)
+ res))
+
+(test-end "server")
+
+(exit (= (test-runner-fail-count (test-runner-current)) 0))