aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2019-05-05 13:35:48 +0100
committerChristopher Baines <mail@cbaines.net>2019-05-05 14:36:52 +0100
commitce4c3c6ed3979e54a8d5db6514bf4ed87de8b707 (patch)
treeed0e8c4b4a87ebad122fb831e6ea1d01ac6f037b /tests
parent051962b54d9a647adc8c09fb8ef33db2ac9b659a (diff)
downloaddata-service-ce4c3c6ed3979e54a8d5db6514bf4ed87de8b707.tar
data-service-ce4c3c6ed3979e54a8d5db6514bf4ed87de8b707.tar.gz
Switch to storing Git repositories in a table
Rather than just storing the URL in the guix_revisions and load_new_guix_revision_jobs tables. This will help when storing more information like tags and branches in the future.
Diffstat (limited to 'tests')
-rw-r--r--tests/model-git-repository.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/model-git-repository.scm b/tests/model-git-repository.scm
new file mode 100644
index 0000000..3129203
--- /dev/null
+++ b/tests/model-git-repository.scm
@@ -0,0 +1,32 @@
+(define-module (test-model-git-repository)
+ #:use-module (srfi srfi-64)
+ #:use-module (guix-data-service database)
+ #:use-module (guix-data-service model git-repository))
+
+(test-begin "test-model-git-repository")
+
+(with-postgresql-connection
+ (lambda (conn)
+ (test-assert "returns an id for a non existent URL"
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (number?
+ (string->number
+ (git-repository-url->git-repository-id
+ conn
+ "test-non-existent-url"))))
+ #:always-rollback? #t))
+
+ (test-assert "returns the right id for an existing URL"
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (let* ((url "test-url")
+ (id (git-repository-url->git-repository-id conn url)))
+ (string=?
+ id
+ (git-repository-url->git-repository-id conn url))))
+ #:always-rollback? #t))))
+
+(test-end)