diff options
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | tests/jobs-load-new-guix-revision.scm | 80 |
2 files changed, 81 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index 669784b..1bb1b58 100644 --- a/Makefile.am +++ b/Makefile.am @@ -67,6 +67,7 @@ TEST_EXTENSIONS = .scm TESTS = \ tests/branch-updated-emails.scm \ + tests/jobs-load-new-guix-revision.scm \ tests/model-derivation.scm \ tests/model-git-branch.scm \ tests/model-git-repository.scm \ diff --git a/tests/jobs-load-new-guix-revision.scm b/tests/jobs-load-new-guix-revision.scm new file mode 100644 index 0000000..70a7dfd --- /dev/null +++ b/tests/jobs-load-new-guix-revision.scm @@ -0,0 +1,80 @@ +(define-module (tests model-license) + #:use-module (srfi srfi-64) + #:use-module (ice-9 match) + #:use-module (squee) + #:use-module (guix utils) + #:use-module (guix tests) + #:use-module (guix-data-service database) + #:use-module (tests mock-inferior) + #:use-module (guix-data-service model git-repository) + #:use-module (guix-data-service jobs load-new-guix-revision)) + +(test-begin "jobs-load-new-guix-revision") + +(with-postgresql-connection + (lambda (conn) + (test-equal "select-job-for-commit works" + '() + (select-job-for-commit conn "does not exist")) + + (test-equal "test job success" + #t + (mock + ((guix-data-service jobs load-new-guix-revision) + store-item-for-git-repository-id-and-commit + (lambda (conn git-repository-id commit) + "/gnu/store/test")) + + (mock + ((guix-data-service jobs load-new-guix-revision) + extract-information-from + (lambda (conn git-repository-id commit store-path) + #t)) + + (enqueue-load-new-guix-revision-job + conn + (git-repository-url->git-repository-id conn "test-url") + "test-commit" + "test-source") + + (process-next-load-new-guix-revision-job conn)))) + + (test-equal "test build store item failure" + #f + (mock + ((guix-data-service jobs load-new-guix-revision) + store-item-for-git-repository-id-and-commit + (lambda (conn git-repository-id commit) + #f)) + + (enqueue-load-new-guix-revision-job + conn + (git-repository-url->git-repository-id conn "test-url") + "test-commit" + "test-source") + + (process-next-load-new-guix-revision-job conn))) + + (test-equal "test extract information failure" + #f + (mock + ((guix-data-service jobs load-new-guix-revision) + store-item-for-git-repository-id-and-commit + (lambda (conn git-repository-id commit) + "/gnu/store/test")) + + (mock + ((guix-data-service jobs load-new-guix-revision) + extract-information-from + (lambda (conn git-repository-id commit store-path) + #f)) + + (enqueue-load-new-guix-revision-job + conn + (git-repository-url->git-repository-id conn "test-url") + "test-commit" + "test-source") + + (process-next-load-new-guix-revision-job conn)))))) + +(test-end) |