31 lines
1.1 KiB
Racket
31 lines
1.1 KiB
Racket
#lang racket/base
|
|
|
|
(require rackunit
|
|
"../credentials.rkt")
|
|
|
|
;; Never touch the real racket-git preferences from the test suite.
|
|
(parameterize ([current-git-credentials-store 'racket-git-test]
|
|
[current-git-credentials-unlock-store 'racket-git-test-unlock])
|
|
(with-handlers ([exn:fail? (lambda (_) (void))])
|
|
(git-credentials-lock!))
|
|
|
|
(with-handlers ([exn:fail? (lambda (_) (void))])
|
|
(git-credentials-init! "test-password" #:unlock-for 60))
|
|
|
|
(unless (git-credentials-unlocked?)
|
|
(git-credentials-unlock! "test-password" #:for 60))
|
|
|
|
(check-true (git-credentials-unlocked?))
|
|
(git-credentials-set! "https://credentials-test.invalid"
|
|
"tester" "secret-token")
|
|
(check-equal?
|
|
(git-credentials-ref "https://credentials-test.invalid")
|
|
'("tester" . "secret-token"))
|
|
(check-equal?
|
|
(git-credentials-ref "https://credentials-test.invalid/a/b.git")
|
|
'("tester" . "secret-token"))
|
|
(git-credentials-remove! "https://credentials-test.invalid")
|
|
(check-false (git-credentials-ref "https://credentials-test.invalid"))
|
|
(git-credentials-lock!)
|
|
(check-false (git-credentials-unlocked?)))
|