about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaude Sonnet 4.62026-05-27 00:00:00 +0000
committerFrederick Muriuki Muriithi2026-05-27 15:47:59 -0500
commit6270cc34a0e6159ac5f3e25924f4fcc3d0e537da (patch)
treec8c439649d2a84759a85e52c2f8779067e5ed66b
parent0410adcfc172f32f5c174cbebee2c0342ad25a8c (diff)
downloadgn-machines-6270cc34a0e6159ac5f3e25924f4fcc3d0e537da.tar.gz
genenetwork: add gn-integration-tests package
Package the integration test suite so it can be pinned and pulled into
Guix environments.  Tests are not run during the Guix build because they
require a live GeneNetwork deployment; run them manually with pytest and
the GN*_BASE_URL environment variables pointing at the target stack.
-rw-r--r--guix/gn-machines/genenetwork.scm33
1 files changed, 33 insertions, 0 deletions
diff --git a/guix/gn-machines/genenetwork.scm b/guix/gn-machines/genenetwork.scm
index 639d29f..24d1f58 100644
--- a/guix/gn-machines/genenetwork.scm
+++ b/guix/gn-machines/genenetwork.scm
@@ -3,10 +3,14 @@
   #:use-module (guix packages)
   #:use-module (guix git-download)
   #:use-module (guix build-system pyproject)
+  #:use-module ((guix licenses) #:prefix license:)
 
+  #:use-module ((gnu packages nss) #:select (nss-certs))
   #:use-module ((gnu packages ssh) #:select (openssh-sans-x))
   #:use-module ((gnu packages guile-xyz) #:select (guile-config))
+  #:use-module ((gnu packages check) #:select (python-pytest))
   #:use-module ((gnu packages python-check) #:select (python-vulture))
+  #:use-module ((gnu packages python-web) #:select (python-requests))
 
   #:use-module ((gn packages genenetwork)
                 #:select (genenetwork2 genenetwork3 gn-auth gn-uploader gn-libs  rust-qtlreaper)
@@ -235,3 +239,32 @@
 	      (sha256
 	       (base32
                 "1z0xzg11p75s2hk312akxlg2h5278w2abma27dhzjf981g3lcqvr")))))))
+
+(define-public gn-integration-tests
+  (let ((commit "64f779a275cde734ba9bbe7f808c34d3a9217f32")
+        (revision "0"))
+    (package
+      (name "gn-integration-tests")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://git.genenetwork.org/gn-integration-tests")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0l9114170l4s7sha5zwcvvwf113b1qk1f082p998qlimfh8hfq8a"))))
+      (build-system pyproject-build-system)
+      (arguments
+       (list #:tests? #f))           ; tests require a live GeneNetwork deployment
+      (propagated-inputs
+       (list nss-certs python-pytest python-requests))
+      (home-page "https://git.genenetwork.org/gn-integration-tests/about/")
+      (synopsis "Integration tests for the GeneNetwork stack")
+      (description
+       "End-to-end smoke and integration tests for the GeneNetwork web
+services (genenetwork2, genenetwork3, gn-auth).  Tests run against a live
+deployment; target URLs are configured via environment variables.")
+      (license license:agpl3+))))