aboutsummaryrefslog
aboutsummaryrefslogtreecommitdiff
path: root/content/spc_specialist_uk-_cookie_banner/index.json
blob: faf1d06425ba93e7467687c540b47249f29b45e2 (about) (plain)
1
2
3
4
5
6
{
"type" : "script",
"name" : "PC Specialist UK- Cookie Banner",
"sha256" : "1b8ca715c9f1275685282a9bdf43fd94b0abaf24284d20be9ee63eeaa413ba85",
"location" : "cookie_banner.js"
}
(password services) (shadow services) (group services) (netgroup services) (gshadow services))))))) (define (run-ldap-test) "Run tests in %LDAP-OS." (define os (marionette-operating-system %ldap-os #:imported-modules '((gnu services herd) (guix combinators)))) (define vm (virtual-machine (operating-system os) (memory-size 1024))) (define test (with-imported-modules '((gnu build marionette)) #~(begin (use-modules (srfi srfi-11) (srfi srfi-64) (gnu build marionette)) (define marionette (make-marionette (list #$vm))) (test-runner-current (system-test-runner #$output)) (test-begin "ldap") ;; Set up LDAP directory server (test-assert "LDAP server instance running" (marionette-eval '(begin (with-output-to-file "instance.inf" (lambda () (display "[general] config_version = 2 \n[slapd] root_password = SECRET_PASS user = root group = root \n[backend-userroot] sample_entries = yes suffix = dc=example,dc=com"))) (and ;; Create instance (zero? (system* #$(file-append 389-ds-base "/sbin/dscreate") "-v" "from-file" "instance.inf")) ;; Start instance (zero? (system* #$(file-append 389-ds-base "/sbin/dsctl") "localhost" "start")) ;; Create user account (zero? (system* #$(file-append 389-ds-base "/sbin/dsidm") "-b" "dc=example,dc=com" "localhost" "user" "create" "--uid" "eva" "--cn" "Eva Lu Ator" "--displayName" "Eva Lu Ator" "--uidNumber" "1234" "--gidNumber" "2345" "--homeDirectory" "/home/eva")))) marionette)) (test-assert "Manager can bind to LDAP server instance" (marionette-eval '(zero? (system* #$(file-append openldap "/bin/ldapwhoami") "-H" "ldap://localhost" "-D" "cn=Directory Manager" "-w" "SECRET_PASS")) marionette)) ;; Wait for nslcd to be up and running. (test-assert "nslcd service running" (marionette-eval '(begin (use-modules (gnu services herd)) (match (start-service 'nslcd) (#f #f) (('service response-parts ...) (match (assq-ref response-parts 'running) ((pid) (number? pid)))))) marionette)) (test-assert "nslcd produces a log file" (marionette-eval '(file-exists? "/var/log/nslcd") marionette)) (test-assert "Can query LDAP user accounts" (marionette-eval '(begin ;; TODO: This shouldn't be necessary, but unfortunately it ;; really is needed to discover LDAP accounts with "id". (setenv "LD_LIBRARY_PATH" #$(file-append nss-pam-ldapd "/lib")) (zero? (system* #$(file-append coreutils "/bin/id") "eva"))) marionette)) (test-assert "Can become LDAP user" (marionette-eval '(zero? (system* "/run/privileged/bin/su" "eva" "-c" #$(file-append coreutils "/bin/true"))) marionette)) (test-end)))) (gexp->derivation "ldap-test" test)) (define %test-ldap (system-test (name "ldap") (description "Run an LDAP directory server and authenticate against it.") (value (run-ldap-test))))