Fix lint and add integration tests logging

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This commit is contained in:
Gabriel Adrian Samfira 2024-04-27 18:10:03 +00:00
parent 0128f59344
commit 87943db62c
3 changed files with 37 additions and 42 deletions

View file

@ -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{

View file

@ -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")
} }

View file

@ -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)
} }
} }