Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fce6d63e6d | |||
|
44c05fece4
|
|||
| a6450faf0b | |||
| a8c79c3337 | |||
| 58c406980b | |||
| 30ce3662a2 | |||
|
c409daacf7
|
@@ -1,5 +1,7 @@
|
|||||||
include:
|
include:
|
||||||
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
- template: 'Workflows/MergeRequest-Pipelines.gitlab-ci.yml'
|
||||||
|
- project: unboundsoftware/ci-templates
|
||||||
|
file: Defaults.gitlab-ci.yml
|
||||||
- project: unboundsoftware/ci-templates
|
- project: unboundsoftware/ci-templates
|
||||||
file: Release.gitlab-ci.yml
|
file: Release.gitlab-ci.yml
|
||||||
- project: unboundsoftware/ci-templates
|
- project: unboundsoftware/ci-templates
|
||||||
|
|||||||
@@ -36,6 +36,6 @@ repos:
|
|||||||
- id: go-vet
|
- id: go-vet
|
||||||
- id: gofumpt
|
- id: gofumpt
|
||||||
- repo: https://github.com/golangci/golangci-lint
|
- repo: https://github.com/golangci/golangci-lint
|
||||||
rev: v2.1.6
|
rev: v2.2.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: golangci-lint
|
- id: golangci-lint
|
||||||
|
|||||||
@@ -2,6 +2,17 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [0.0.15] - 2025-07-01
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
- *(deps)* Update module github.com/alecthomas/kong to v1.12.0
|
||||||
|
- *(client)* Handle error responses with detailed messages
|
||||||
|
|
||||||
|
### ⚙️ Miscellaneous Tasks
|
||||||
|
|
||||||
|
- *(ci)* Update CI configuration for pipeline templates
|
||||||
|
|
||||||
## [0.0.14] - 2025-06-20
|
## [0.0.14] - 2025-06-20
|
||||||
|
|
||||||
### 🐛 Bug Fixes
|
### 🐛 Bug Fixes
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
FROM amd64/golang:1.24.4@sha256:3494bbe140127d12656113203ec91b8e3ff34e8a2b06a0a22bb0d8a41cc69e53 as build
|
FROM amd64/golang:1.24.4@sha256:9f820b68683e8849cf596068952dfa062478c6664e6ae7f2a8888c25e885bce9 as build
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
ENV CGO_ENABLED=0
|
ENV CGO_ENABLED=0
|
||||||
ADD . /build
|
ADD . /build
|
||||||
|
|||||||
@@ -69,6 +69,12 @@ func (r *RestClient) projectApiCall(method, project string, api string, body io.
|
|||||||
if resp.StatusCode == http.StatusOK && response != nil {
|
if resp.StatusCode == http.StatusOK && response != nil {
|
||||||
decoder := json.NewDecoder(resp.Body)
|
decoder := json.NewDecoder(resp.Body)
|
||||||
err = decoder.Decode(response)
|
err = decoder.Decode(response)
|
||||||
|
} else if resp.StatusCode != http.StatusOK {
|
||||||
|
buff, err2 := io.ReadAll(resp.Body)
|
||||||
|
if err2 != nil {
|
||||||
|
return fmt.Errorf("error reading body: %w", err2)
|
||||||
|
}
|
||||||
|
return fmt.Errorf("status %d: %s", resp.StatusCode, string(buff))
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,6 +80,39 @@ func TestRestClient_GetTags(t *testing.T) {
|
|||||||
return assert.EqualError(t, err, "invalid character 'a' looking for beginning of value")
|
return assert.EqualError(t, err, "invalid character 'a' looking for beginning of value")
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "unauthorized",
|
||||||
|
args: args{
|
||||||
|
project: "unboundsoftware/dummy",
|
||||||
|
},
|
||||||
|
handler: func(t *testing.T) http.HandlerFunc {
|
||||||
|
return func(writer http.ResponseWriter, request *http.Request) {
|
||||||
|
writer.WriteHeader(http.StatusUnauthorized)
|
||||||
|
_, _ = writer.Write([]byte("token expired"))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
want: nil,
|
||||||
|
wantErr: func(t assert.TestingT, err error, i ...interface{}) bool {
|
||||||
|
return assert.EqualError(t, err, "status 401: token expired")
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "error body length incorrect",
|
||||||
|
args: args{
|
||||||
|
project: "unboundsoftware/dummy",
|
||||||
|
},
|
||||||
|
handler: func(t *testing.T) http.HandlerFunc {
|
||||||
|
return func(writer http.ResponseWriter, request *http.Request) {
|
||||||
|
writer.Header().Set("Content-Length", "230")
|
||||||
|
writer.WriteHeader(http.StatusUnauthorized)
|
||||||
|
_, _ = writer.Write([]byte("token expired"))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
want: nil,
|
||||||
|
wantErr: func(t assert.TestingT, err error, i ...interface{}) bool {
|
||||||
|
return assert.EqualError(t, err, "error reading body: unexpected EOF")
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "success",
|
name: "success",
|
||||||
args: args{
|
args: args{
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ go 1.24.0
|
|||||||
toolchain go1.24.4
|
toolchain go1.24.4
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/alecthomas/kong v1.11.0
|
github.com/alecthomas/kong v1.12.0
|
||||||
github.com/apex/log v1.9.0
|
github.com/apex/log v1.9.0
|
||||||
github.com/stretchr/testify v1.10.0
|
github.com/stretchr/testify v1.10.0
|
||||||
gitlab.com/unboundsoftware/apex-mocks v0.2.0
|
gitlab.com/unboundsoftware/apex-mocks v0.2.0
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
|
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
|
||||||
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
|
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
|
||||||
github.com/alecthomas/kong v1.11.0 h1:y++1gI7jf8O7G7l4LZo5ASFhrhJvzc+WgF/arranEmM=
|
github.com/alecthomas/kong v1.12.0 h1:oKd/0fHSdajj5PfGDd3ScvEvpVJf9mT2mb5r9xYadYM=
|
||||||
github.com/alecthomas/kong v1.11.0/go.mod h1:p2vqieVMeTAnaC83txKtXe8FLke2X07aruPWXyMPQrU=
|
github.com/alecthomas/kong v1.12.0/go.mod h1:p2vqieVMeTAnaC83txKtXe8FLke2X07aruPWXyMPQrU=
|
||||||
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
|
github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc=
|
||||||
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
|
||||||
github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0=
|
github.com/apex/log v1.9.0 h1:FHtw/xuaM8AgmvDDTI9fiwoAL25Sq2cxojnZICUU8l0=
|
||||||
|
|||||||
Reference in New Issue
Block a user