guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]


From: Ludovic Courtès
Date: Fri, 20 Dec 2024 17:06:54 -0500 (EST)

branch: main
commit ecf7e2f060f5978209e9e7f9843deb6b81cade0d
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Dec 20 18:58:15 2024 +0100

    gitlab: Add provenance properties to merge request specs.
    
    * src/cuirass/forges/gitlab.scm (gitlab-merge-request->specification):
    Add ‘properties’ field.
    * tests/http.scm ("/admin/gitlab/event creates a spec from a new merge 
request"):
    Check properties.
    (gitlab-merge-request-json-open)
    (gitlab-merge-request-json-close): Change “iid” value to a number.
---
 src/cuirass/forges/gitlab.scm | 11 ++++++++++-
 tests/http.scm                | 20 ++++++++++++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/src/cuirass/forges/gitlab.scm b/src/cuirass/forges/gitlab.scm
index fb1325e..ced8907 100644
--- a/src/cuirass/forges/gitlab.scm
+++ b/src/cuirass/forges/gitlab.scm
@@ -142,4 +142,13 @@
              %default-channels))
      (priority priority)
      (period period)
-     (systems systems))))
+     (systems systems)
+     (properties
+      (let ((target (gitlab-merge-request-target merge-request)))
+        `((forge-type . gitlab)
+          (pull-request-url . ,(gitlab-merge-request-url merge-request))
+          (pull-request-number . ,(gitlab-merge-request-id merge-request))
+          (pull-request-target-repository-name
+           . ,(gitlab-project-name target))
+          (pull-request-target-repository-home-page
+           . ,(gitlab-project-home-page target))))))))
diff --git a/tests/http.scm b/tests/http.scm
index c9f0435..909e9ab 100644
--- a/tests/http.scm
+++ b/tests/http.scm
@@ -103,7 +103,7 @@
     \"object_attributes\": {
         \"action\": \"open\",
         \"merge_status\": \"can_be_merged\",
-        \"iid\": \"1\",
+        \"iid\": 1,
         \"source_branch\": \"test-branch\",
         \"source\": {
             \"git_http_url\": 
\"https://gitlab.instance.test/source-repo/fork-name.git\";,
@@ -128,7 +128,7 @@
     \"object_attributes\": {
         \"action\": \"close\",
         \"merge_status\": \"can_be_merged\",
-        \"iid\": \"1\",
+        \"iid\": 1,
         \"source_branch\": \"test-branch\",
         \"source\": {
             \"git_http_url\": 
\"https://gitlab.instance.test/source-repo/fork-name.git\";,
@@ -512,10 +512,22 @@
                          (specification-channels spec)))))))
 
    (test-equal "/admin/gitlab/event creates a spec from a new merge request"
-     (specification-name gitlab-merge-request-spec)
+     (list (specification-name gitlab-merge-request-spec)
+           'project-name
+           "https://gitlab.instance.test/source-repo/project-name";
+           "https://gitlab.instance.test/source-repo/-/merge_requests/1";
+           1)
      (begin
        (http-post-json (test-cuirass-uri "/admin/gitlab/event") 
gitlab-merge-request-json-open)
-       (specification-name (db-get-specification (specification-name 
gitlab-merge-request-spec)))))
+       (let ((spec (db-get-specification
+                    (specification-name gitlab-merge-request-spec))))
+         (cons (specification-name spec)
+               (map (lambda (field)
+                      (assq-ref (specification-properties spec) field))
+                    '(pull-request-target-repository-name
+                      pull-request-target-repository-home-page
+                      pull-request-url
+                      pull-request-number))))))
 
    (test-equal "/admin/gitlab/event error when a merge request has already 
been created"
      400



reply via email to

[Prev in Thread] Current Thread [Next in Thread]