2019-08-31 12:11:58 +01:00
|
|
|
(define-module (tests model-lint-checker)
|
|
|
|
|
#:use-module (srfi srfi-64)
|
|
|
|
|
#:use-module (ice-9 match)
|
|
|
|
|
#:use-module (guix-data-service database)
|
|
|
|
|
#:use-module (guix-data-service model lint-checker))
|
|
|
|
|
|
|
|
|
|
(test-begin "test-model-lint-checker")
|
|
|
|
|
|
|
|
|
|
(with-postgresql-connection
|
|
|
|
|
"test-model-lint-checker"
|
|
|
|
|
(lambda (conn)
|
2020-02-24 21:16:41 +00:00
|
|
|
(check-test-database! conn)
|
|
|
|
|
|
2019-08-31 12:11:58 +01:00
|
|
|
(test-assert "single insert"
|
|
|
|
|
(with-postgresql-transaction
|
|
|
|
|
conn
|
|
|
|
|
(lambda (conn)
|
2020-06-06 18:20:14 +02:00
|
|
|
(define data
|
2024-12-05 20:56:23 +00:00
|
|
|
`#((name-1
|
|
|
|
|
#t
|
|
|
|
|
,(lint-checker-description-data->lint-checker-description-set-id
|
|
|
|
|
conn
|
|
|
|
|
'(("en_US" . "foo"))))
|
|
|
|
|
(name-2
|
|
|
|
|
#f
|
|
|
|
|
,(lint-checker-description-data->lint-checker-description-set-id
|
|
|
|
|
conn
|
|
|
|
|
'(("en_US" . "bar"))))))
|
2020-06-06 18:20:14 +02:00
|
|
|
|
2019-08-31 12:11:58 +01:00
|
|
|
(match (lint-checkers->lint-checker-ids conn data)
|
2024-12-05 20:56:23 +00:00
|
|
|
(#((? number? id1) (? number? id2))
|
2019-08-31 12:11:58 +01:00
|
|
|
(match (lint-checkers->lint-checker-ids conn data)
|
2024-12-05 20:56:23 +00:00
|
|
|
(#((? number? second-id1) (? number? second-id2))
|
|
|
|
|
(and (= id1 second-id1)
|
|
|
|
|
(= id2 second-id2)))))))
|
2019-08-31 12:11:58 +01:00
|
|
|
#:always-rollback? #t))))
|
|
|
|
|
|
|
|
|
|
(test-end)
|