mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-06-08 05:50:47 +00:00
Compare commits
4 Commits
master
...
fix/repo-put
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b544adf31 | |||
| 4cea5fadc7 | |||
| 8aceb2c3b0 | |||
| 01b5aeb544 |
+13
-3
@@ -3,6 +3,7 @@ package api
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
@@ -175,7 +176,7 @@ func apiReposCreate(c *gin.Context) {
|
||||
|
||||
type reposEditParams struct {
|
||||
// Name of repository to modify
|
||||
Name *string `binding:"required" json:"Name" example:"repo1"`
|
||||
Name *string ` json:"Name" example:"new-repo-name"`
|
||||
// Change Comment of repository
|
||||
Comment *string ` json:"Comment" example:"example repo"`
|
||||
// Change Default Distribution for publishing
|
||||
@@ -187,7 +188,7 @@ type reposEditParams struct {
|
||||
// @Summary Update Repository
|
||||
// @Description **Update local repository meta information**
|
||||
// @Tags Repos
|
||||
// @Param name path string true "Repository name"
|
||||
// @Param name path string true "Repository name to modify"
|
||||
// @Consume json
|
||||
// @Param request body reposEditParams true "Parameters"
|
||||
// @Produce json
|
||||
@@ -200,11 +201,20 @@ func apiReposEdit(c *gin.Context) {
|
||||
if c.Bind(&b) != nil {
|
||||
return
|
||||
}
|
||||
if b.Name != nil {
|
||||
new_name, err := url.PathUnescape(*b.Name)
|
||||
if err != nil {
|
||||
AbortWithJSONError(c, 400, err)
|
||||
return
|
||||
}
|
||||
*b.Name = new_name
|
||||
}
|
||||
|
||||
|
||||
collectionFactory := context.NewCollectionFactory()
|
||||
collection := collectionFactory.LocalRepoCollection()
|
||||
|
||||
name := c.Params.ByName("name")
|
||||
name := c.Params.ByName("name") // repo to modify
|
||||
repo, err := collection.ByName(name)
|
||||
if err != nil {
|
||||
AbortWithJSONError(c, 404, err)
|
||||
|
||||
@@ -461,3 +461,34 @@ class ReposAPITestCopyPackage(APITest):
|
||||
|
||||
self.check_equal(self.get(f"/api/repos/{repo2_name}/packages").json(),
|
||||
['Pi386 libboost-program-options-dev 1.49.0.1 918d2f433384e378'])
|
||||
|
||||
|
||||
class ReposAPITestCreateEdit(APITest):
|
||||
"""
|
||||
POST /api/repos,
|
||||
"""
|
||||
def check(self):
|
||||
repo_name = self.random_name() + ' with space'
|
||||
repo_desc = {'Comment': 'fun repo',
|
||||
'DefaultComponent': 'contrib',
|
||||
'DefaultDistribution': 'bookworm',
|
||||
'Name': repo_name}
|
||||
|
||||
resp = self.post("/api/repos", json=repo_desc)
|
||||
self.check_equal(resp.json(), repo_desc)
|
||||
self.check_equal(resp.status_code, 201)
|
||||
|
||||
repo_desc = {'Comment': 'modified repo',
|
||||
'DefaultComponent': 'main',
|
||||
'DefaultDistribution': 'trixie',
|
||||
'Name': repo_name + '@renamed'}
|
||||
resp = self.put(f"/api/repos/{repo_name}", json=repo_desc)
|
||||
self.check_equal(resp.json(), repo_desc)
|
||||
self.check_equal(resp.status_code, 200)
|
||||
|
||||
resp = self.get("/api/repos/" + repo_name + '@renamed')
|
||||
self.check_equal(resp.json(), repo_desc)
|
||||
self.check_equal(resp.status_code, 200)
|
||||
|
||||
resp = self.delete("/api/repos/" + repo_name + '@renamed')
|
||||
self.check_equal(resp.status_code, 200)
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import tempfile
|
||||
|
||||
class TestOut:
|
||||
def __init__(self):
|
||||
self.tmp_file = tempfile.NamedTemporaryFile(delete=False)
|
||||
self.tmp_file = tempfile.NamedTemporaryFile(delete=True)
|
||||
self.read_pos = 0
|
||||
|
||||
def fileno(self):
|
||||
|
||||
Reference in New Issue
Block a user