aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2022-05-23 19:10:25 +0100
committerChristopher Baines <mail@cbaines.net>2022-05-23 19:10:25 +0100
commit64be52844e679d205d959ea06d50c44366c39097 (patch)
treeec33c03b2cb41bdd8b5159ecd230bdce07977cec /tests
parent89545caa3f8223db49f3e18dfecee0bc4094c0da (diff)
downloaddata-service-64be52844e679d205d959ea06d50c44366c39097.tar
data-service-64be52844e679d205d959ea06d50c44366c39097.tar.gz
Partition the package_derivations_by_guix_revision_range table
And create a proper git_branches table in the process. I'm hoping this will help with slow deletions from the package_derivations_by_guix_revision_range table in the case where there are lots of branches, since it'll separate the data for one branch from another. These migrations will remove the existing data, so rebuild-package-derivations-table will currently need manually running to regenerate it.
Diffstat (limited to 'tests')
-rw-r--r--tests/model-git-branch.scm30
-rw-r--r--tests/model-git-commit.scm52
2 files changed, 56 insertions, 26 deletions
diff --git a/tests/model-git-branch.scm b/tests/model-git-branch.scm
index 46412bc..1bcc1c3 100644
--- a/tests/model-git-branch.scm
+++ b/tests/model-git-branch.scm
@@ -17,32 +17,10 @@
conn
(lambda (conn)
(let* ((url "test-url")
- (id (git-repository-url->git-repository-id conn url)))
- (insert-git-branch-entry conn
- "master"
- "test-commit"
- id
- (current-date)))
- #t)
- #:always-rollback? #t))
-
- (test-assert "insert-git-branch-entry works twice"
- (with-postgresql-transaction
- conn
- (lambda (conn)
- (let* ((url "test-url")
- (id (git-repository-url->git-repository-id conn url)))
- (insert-git-branch-entry conn
- "master"
- "test-commit"
- id
- (current-date))
- (insert-git-branch-entry conn
- "master"
- "test-commit"
- id
- (current-date)))
- #t)
+ (git-repository-id
+ (git-repository-url->git-repository-id conn url)))
+ (insert-git-branch-entry conn git-repository-id "master")
+ #t))
#:always-rollback? #t))))
(test-end)
diff --git a/tests/model-git-commit.scm b/tests/model-git-commit.scm
new file mode 100644
index 0000000..b8bc3d8
--- /dev/null
+++ b/tests/model-git-commit.scm
@@ -0,0 +1,52 @@
+(define-module (test-model-git-commit)
+ #:use-module (srfi srfi-19)
+ #:use-module (srfi srfi-64)
+ #:use-module (guix-data-service database)
+ #:use-module (guix-data-service model git-repository)
+ #:use-module (guix-data-service model git-branch)
+ #:use-module (guix-data-service model git-commit))
+
+(test-begin "test-model-git-commit")
+
+(with-postgresql-connection
+ "test-module-git-commit"
+ (lambda (conn)
+ (check-test-database! conn)
+
+ (test-assert "insert-git-commit-entry works"
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (let* ((url "test-url")
+ (git-repository-id
+ (git-repository-url->git-repository-id conn url))
+ (git-branch-id
+ (insert-git-branch-entry conn git-repository-id "master")))
+ (insert-git-commit-entry conn
+ git-branch-id
+ "test-commit"
+ (current-date)))
+ #t)
+ #:always-rollback? #t))
+
+ (test-assert "insert-git-commit-entry works twice"
+ (with-postgresql-transaction
+ conn
+ (lambda (conn)
+ (let* ((url "test-url")
+ (git-repository-id
+ (git-repository-url->git-repository-id conn url))
+ (git-branch-id
+ (insert-git-branch-entry conn git-repository-id "master")))
+ (insert-git-commit-entry conn
+ git-branch-id
+ "test-commit"
+ (current-date))
+ (insert-git-commit-entry conn
+ git-branch-id
+ "test-commit"
+ (current-date)))
+ #t)
+ #:always-rollback? #t))))
+
+(test-end)