diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/model-lint-checker.scm | 37 | ||||
-rw-r--r-- | tests/model-lint-warning-message.scm | 57 |
2 files changed, 94 insertions, 0 deletions
diff --git a/tests/model-lint-checker.scm b/tests/model-lint-checker.scm new file mode 100644 index 0000000..64088e5 --- /dev/null +++ b/tests/model-lint-checker.scm @@ -0,0 +1,37 @@ +(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") + +(define data + '((name-1 "description-1" #t) + (name-2 "description-2" #f))) + +(with-postgresql-connection + "test-model-lint-checker" + (lambda (conn) + (test-assert "single insert" + (with-postgresql-transaction + conn + (lambda (conn) + (match (lint-checkers->lint-checker-ids conn data) + (((? string? id1) (? string? id2)) + #t))) + #:always-rollback? #t)) + + (test-assert "double insert" + (with-postgresql-transaction + conn + (lambda (conn) + (match (lint-checkers->lint-checker-ids conn data) + (((? string? id1) (? string? id2)) + (match (lint-checkers->lint-checker-ids conn data) + (((? string? second-id1) (? string? second-id2)) + (and (string=? id1 second-id1) + (string=? id2 second-id2))))))) + #:always-rollback? #t)))) + +(test-end) diff --git a/tests/model-lint-warning-message.scm b/tests/model-lint-warning-message.scm new file mode 100644 index 0000000..c6fad55 --- /dev/null +++ b/tests/model-lint-warning-message.scm @@ -0,0 +1,57 @@ +(define-module (tests model-lint-warning-message) + #:use-module (srfi srfi-64) + #:use-module (ice-9 match) + #:use-module (guix-data-service database) + #:use-module (guix-data-service model lint-warning-message)) + +(test-begin "test-model-lint-warning-message") + +(define data + '(("en" . "Test message") + ("es" . "Test message in Spanish"))) + +(with-postgresql-connection + "test-model-lint-checker" + (lambda (conn) + (test-assert "single insert" + (with-postgresql-transaction + conn + (lambda (conn) + (match (lint-warning-message-data->lint-warning-message-ids conn data) + (((? string? id1) (? string? id2)) + #t))) + #:always-rollback? #t)) + + (test-assert "double insert" + (with-postgresql-transaction + conn + (lambda (conn) + (match (lint-warning-message-data->lint-warning-message-ids conn data) + (((? string? id1) (? string? id2)) + (match (lint-warning-message-data->lint-warning-message-ids conn data) + (((? string? second-id1) (? string? second-id2)) + (and (string=? id1 second-id1) + (string=? id2 second-id2))))))) + #:always-rollback? #t)) + + (test-assert "single set insert" + (with-postgresql-transaction + conn + (lambda (conn) + (match (lint-warning-message-data->lint-warning-message-set-id conn data) + ((? string? id1) + #t))) + #:always-rollback? #t)) + + (test-assert "double set insert" + (with-postgresql-transaction + conn + (lambda (conn) + (match (lint-warning-message-data->lint-warning-message-set-id conn data) + ((? string? id) + (match (lint-warning-message-data->lint-warning-message-set-id conn data) + ((? string? second-id) + (string=? id second-id)))))) + #:always-rollback? #t)))) + +(test-end) |