aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/model-license-set.scm44
-rw-r--r--tests/model-license.scm42
2 files changed, 86 insertions, 0 deletions
diff --git a/tests/model-license-set.scm b/tests/model-license-set.scm
new file mode 100644
index 0000000..fecf242
--- /dev/null
+++ b/tests/model-license-set.scm
@@ -0,0 +1,44 @@
+ (define-module (tests model-license-set)
+ #:use-module (srfi srfi-64)
+ #: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 license-set))
+
+(use-modules (tests driver))
+
+(test-begin "test-model-license-set")
+
+(mock
+ ((guix-data-service model license)
+ inferior-packages->license-data
+ (lambda (inf packages)
+ '((("License 1"
+ "https://gnu.org/licenses/test-1.html"
+ "https://example.com/why-license-1"))
+ (("License 1"
+ "https://gnu.org/licenses/test-1.html"
+ "https://example.com/why-license-1")
+ ("License 2"
+ "https://gnu.org/licenses/test-2.html"
+ "https://example.com/why-license-2")))))
+
+ (with-postgresql-connection
+ (lambda (conn)
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (test-assert "works"
+ (inferior-packages->license-set-ids conn #f #f)))
+ #:always-rollback? #t)
+
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (test-equal "works repeatedly"
+ (inferior-packages->license-set-ids conn #f #f)
+ (inferior-packages->license-set-ids conn #f #f)))
+ #:always-rollback? #t))))
+
+(test-end)
diff --git a/tests/model-license.scm b/tests/model-license.scm
new file mode 100644
index 0000000..cdec491
--- /dev/null
+++ b/tests/model-license.scm
@@ -0,0 +1,42 @@
+(define-module (tests model-license)
+ #:use-module (srfi srfi-64)
+ #: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 license))
+
+(test-begin "test-model-license")
+
+(mock
+ ((guix-data-service model license)
+ inferior-packages->license-data
+ (lambda (inf packages)
+ '((("License 1"
+ "https://gnu.org/licenses/test-1.html"
+ "https://example.com/why-license-1"))
+ (("License 1"
+ "https://gnu.org/licenses/test-1.html"
+ "https://example.com/why-license-1")
+ ("License 2"
+ "https://gnu.org/licenses/test-2.html"
+ "https://example.com/why-license-2")))))
+
+ (with-postgresql-connection
+ (lambda (conn)
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (test-assert "works"
+ (inferior-packages->license-id-lists conn #f #f)))
+ #:always-rollback? #t)
+
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (test-equal "works repeatedly"
+ (inferior-packages->license-id-lists conn #f #f)
+ (inferior-packages->license-id-lists conn #f #f)))
+ #:always-rollback? #t))))
+
+(test-end)