diff options
author | Christopher Baines <mail@cbaines.net> | 2019-06-02 22:02:12 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2019-06-02 22:02:12 +0100 |
commit | 544dc1558fb3fb8ccebf311edc885ce60eee740c (patch) | |
tree | 8cd9189a4a16a3c6ea9c69d868ffbf404e2e555b | |
parent | 5d06a28577f6a917ebacd3d6e7aab1a7c61c6e27 (diff) | |
download | data-service-544dc1558fb3fb8ccebf311edc885ce60eee740c.tar data-service-544dc1558fb3fb8ccebf311edc885ce60eee740c.tar.gz |
Add a new test to cover some of the loading new revisions code
-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) |