mirror of
git://git.savannah.gnu.org/guix/data-service.git
synced 2023-12-14 03:23:03 +01:00
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.
43 lines
1.2 KiB
Scheme
43 lines
1.2 KiB
Scheme
(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)
|