aboutsummaryrefslogtreecommitdiff
path: root/tests/model-git-repository.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model-git-repository.scm')
-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)