From 16799a34a96bfa240b3eb47d75c935afab8c51a1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Wed, 15 May 2019 08:05:14 +0100 Subject: Store license information for packages And display this on the package page. This uses a couple of new tables, and an additional field in the package_metadata table. Currently, the order of the licenses in the package definition isn't stored, as I'm not sure the order in the list is significant. --- tests/model-license.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/model-license.scm (limited to 'tests/model-license.scm') 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) -- cgit v1.2.3