Fix lint and add integration tests logging
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This commit is contained in:
parent
0128f59344
commit
87943db62c
3 changed files with 37 additions and 42 deletions
|
|
@ -2,11 +2,13 @@ package e2e
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log/slog"
|
||||||
|
|
||||||
"github.com/cloudbase/garm/params"
|
"github.com/cloudbase/garm/params"
|
||||||
)
|
)
|
||||||
|
|
||||||
func EnsureTestCredentials(name string, oauthToken string, endpointName string) {
|
func EnsureTestCredentials(name string, oauthToken string, endpointName string) {
|
||||||
|
slog.Info("Ensuring test credentials exist")
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: name,
|
||||||
Endpoint: endpointName,
|
Endpoint: endpointName,
|
||||||
|
|
@ -36,14 +38,13 @@ func createDummyCredentials(name, endpointName string) *params.GithubCredentials
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsErrorOnDuplicateCredentialsName() {
|
func TestGithubCredentialsErrorOnDuplicateCredentialsName() {
|
||||||
name := "dummy"
|
slog.Info("Testing error on duplicate credentials name")
|
||||||
endpointName := "github.com"
|
creds := createDummyCredentials(dummyCredentialsName, defaultEndpointName)
|
||||||
creds := createDummyCredentials(name, endpointName)
|
|
||||||
defer DeleteGithubCredential(int64(creds.ID))
|
defer DeleteGithubCredential(int64(creds.ID))
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthTypePAT,
|
AuthType: params.GithubAuthTypePAT,
|
||||||
PAT: params.GithubPAT{
|
PAT: params.GithubPAT{
|
||||||
|
|
@ -56,9 +57,8 @@ func TestGithubCredentialsErrorOnDuplicateCredentialsName() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailsToDeleteWhenInUse() {
|
func TestGithubCredentialsFailsToDeleteWhenInUse() {
|
||||||
name := "dummy"
|
slog.Info("Testing error when deleting credentials in use")
|
||||||
endpointName := "github.com"
|
creds := createDummyCredentials(dummyCredentialsName, defaultEndpointName)
|
||||||
creds := createDummyCredentials(name, endpointName)
|
|
||||||
|
|
||||||
repo := CreateRepo("dummy-owner", "dummy-repo", creds.Name, "superSecret@123BlaBla")
|
repo := CreateRepo("dummy-owner", "dummy-repo", creds.Name, "superSecret@123BlaBla")
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|
@ -72,12 +72,10 @@ func TestGithubCredentialsFailsToDeleteWhenInUse() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailsOnInvalidAuthType() {
|
func TestGithubCredentialsFailsOnInvalidAuthType() {
|
||||||
name := "dummy"
|
slog.Info("Testing error on invalid auth type")
|
||||||
endpointName := "github.com"
|
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthType("invalid"),
|
AuthType: params.GithubAuthType("invalid"),
|
||||||
PAT: params.GithubPAT{
|
PAT: params.GithubPAT{
|
||||||
|
|
@ -92,12 +90,10 @@ func TestGithubCredentialsFailsOnInvalidAuthType() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailsWhenAuthTypeParamsAreIncorrect() {
|
func TestGithubCredentialsFailsWhenAuthTypeParamsAreIncorrect() {
|
||||||
name := "dummy"
|
slog.Info("Testing error when auth type params are incorrect")
|
||||||
endpointName := "github.com"
|
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthTypePAT,
|
AuthType: params.GithubAuthTypePAT,
|
||||||
App: params.GithubApp{
|
App: params.GithubApp{
|
||||||
|
|
@ -114,12 +110,10 @@ func TestGithubCredentialsFailsWhenAuthTypeParamsAreIncorrect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailsWhenAuthTypeParamsAreMissing() {
|
func TestGithubCredentialsFailsWhenAuthTypeParamsAreMissing() {
|
||||||
name := "dummy"
|
slog.Info("Testing error when auth type params are missing")
|
||||||
endpointName := "github.com"
|
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthTypeApp,
|
AuthType: params.GithubAuthTypeApp,
|
||||||
}
|
}
|
||||||
|
|
@ -131,9 +125,8 @@ func TestGithubCredentialsFailsWhenAuthTypeParamsAreMissing() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsUpdateFailsWhenBothPATAndAppAreSupplied() {
|
func TestGithubCredentialsUpdateFailsWhenBothPATAndAppAreSupplied() {
|
||||||
name := "dummy"
|
slog.Info("Testing error when both PAT and App are supplied")
|
||||||
endpointName := "github.com"
|
creds := createDummyCredentials(dummyCredentialsName, defaultEndpointName)
|
||||||
creds := createDummyCredentials(name, endpointName)
|
|
||||||
defer DeleteGithubCredential(int64(creds.ID))
|
defer DeleteGithubCredential(int64(creds.ID))
|
||||||
|
|
||||||
updateCredsParams := params.UpdateGithubCredentialsParams{
|
updateCredsParams := params.UpdateGithubCredentialsParams{
|
||||||
|
|
@ -154,12 +147,10 @@ func TestGithubCredentialsUpdateFailsWhenBothPATAndAppAreSupplied() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailWhenAppKeyIsInvalid() {
|
func TestGithubCredentialsFailWhenAppKeyIsInvalid() {
|
||||||
name := "dummy"
|
slog.Info("Testing error when app key is invalid")
|
||||||
endpointName := "github.com"
|
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthTypeApp,
|
AuthType: params.GithubAuthTypeApp,
|
||||||
App: params.GithubApp{
|
App: params.GithubApp{
|
||||||
|
|
@ -176,12 +167,10 @@ func TestGithubCredentialsFailWhenAppKeyIsInvalid() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailWhenEndpointDoesntExist() {
|
func TestGithubCredentialsFailWhenEndpointDoesntExist() {
|
||||||
name := "dummy"
|
slog.Info("Testing error when endpoint doesn't exist")
|
||||||
endpointName := "nonexistent"
|
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthTypePAT,
|
AuthType: params.GithubAuthTypePAT,
|
||||||
PAT: params.GithubPAT{
|
PAT: params.GithubPAT{
|
||||||
|
|
@ -196,14 +185,13 @@ func TestGithubCredentialsFailWhenEndpointDoesntExist() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubCredentialsFailsOnDuplicateName() {
|
func TestGithubCredentialsFailsOnDuplicateName() {
|
||||||
name := "dummy"
|
slog.Info("Testing error on duplicate credentials name")
|
||||||
endpointName := "github.com"
|
creds := createDummyCredentials(dummyCredentialsName, defaultEndpointName)
|
||||||
creds := createDummyCredentials(name, endpointName)
|
|
||||||
defer DeleteGithubCredential(int64(creds.ID))
|
defer DeleteGithubCredential(int64(creds.ID))
|
||||||
|
|
||||||
createCredsParams := params.CreateGithubCredentialsParams{
|
createCredsParams := params.CreateGithubCredentialsParams{
|
||||||
Name: name,
|
Name: dummyCredentialsName,
|
||||||
Endpoint: endpointName,
|
Endpoint: defaultEndpointName,
|
||||||
Description: "GARM test credentials",
|
Description: "GARM test credentials",
|
||||||
AuthType: params.GithubAuthTypePAT,
|
AuthType: params.GithubAuthTypePAT,
|
||||||
PAT: params.GithubPAT{
|
PAT: params.GithubPAT{
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,11 @@ import (
|
||||||
"github.com/cloudbase/garm/params"
|
"github.com/cloudbase/garm/params"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
defaultEndpointName string = "github.com"
|
||||||
|
dummyCredentialsName string = "dummy"
|
||||||
|
)
|
||||||
|
|
||||||
func MustDefaultGithubEndpoint() {
|
func MustDefaultGithubEndpoint() {
|
||||||
ep := GetGithubEndpoint("github.com")
|
ep := GetGithubEndpoint("github.com")
|
||||||
if ep == nil {
|
if ep == nil {
|
||||||
|
|
@ -58,6 +63,7 @@ func getTestFileContents(relPath string) []byte {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubEndpointOperations() {
|
func TestGithubEndpointOperations() {
|
||||||
|
slog.Info("Testing endpoint operations")
|
||||||
MustDefaultGithubEndpoint()
|
MustDefaultGithubEndpoint()
|
||||||
|
|
||||||
caBundle := getTestFileContents("certs/srv-pub.pem")
|
caBundle := getTestFileContents("certs/srv-pub.pem")
|
||||||
|
|
@ -119,6 +125,7 @@ func TestGithubEndpointOperations() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGithubEndpointMustFailToDeleteDefaultGithubEndpoint() {
|
func TestGithubEndpointMustFailToDeleteDefaultGithubEndpoint() {
|
||||||
|
slog.Info("Testing error when deleting default github.com endpoint")
|
||||||
if err := deleteGithubEndpoint(cli, authToken, "github.com"); err == nil {
|
if err := deleteGithubEndpoint(cli, authToken, "github.com"); err == nil {
|
||||||
panic("expected error when attempting to delete the default github.com endpoint")
|
panic("expected error when attempting to delete the default github.com endpoint")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,6 @@ func expectAPIStatusCode(err error, expectedCode int) {
|
||||||
log.Fatalf("expected API error, got %v (%T)", err, err)
|
log.Fatalf("expected API error, got %v (%T)", err, err)
|
||||||
}
|
}
|
||||||
if !apiErr.IsCode(expectedCode) {
|
if !apiErr.IsCode(expectedCode) {
|
||||||
log.Fatalf("expected status code %d", expectedCode)
|
log.Fatalf("expected status code %d: %v", expectedCode, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue