Envtest based integration tests for Fission (#2858)
* skeleton for envtest fission * Refactor code and add CLI test * hack * Update server test * remove skip-ci for lint tests * Pass client go storagesvc * Add clientGen interface across code * Fix storagesvc test * Fix cmd client * add retry in server test * Fix concurrenct access to pool deployment * Remove old executor test * get rid of ginkgo/gomega * disable flaky test * flaky test * revert ci change * handle err from ParseBool --------- Signed-off-by: Sanket Sudake <sanketsudake@gmail.com> Co-authored-by: Pranoy Kundu <pranoy1998k@gmail.com>
This commit is contained in:
co-authored by
Pranoy Kundu
parent
15e16fcc82
commit
8a17d391c5
@@ -39,8 +39,7 @@ type ArchivePruner struct {
|
||||
|
||||
const defaultPruneInterval int = 60 // in minutes
|
||||
|
||||
func MakeArchivePruner(logger *zap.Logger, stowClient *StowClient, pruneInterval time.Duration) (*ArchivePruner, error) {
|
||||
clientGen := crd.NewClientGenerator()
|
||||
func MakeArchivePruner(logger *zap.Logger, clientGen crd.ClientGeneratorInterface, stowClient *StowClient, pruneInterval time.Duration) (*ArchivePruner, error) {
|
||||
fissionClient, err := clientGen.GetFissionClient()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to get fission client")
|
||||
|
||||
@@ -33,6 +33,7 @@ import (
|
||||
"go.uber.org/zap"
|
||||
"go.uber.org/zap/zapcore"
|
||||
|
||||
"github.com/fission/fission/pkg/crd"
|
||||
"github.com/fission/fission/pkg/storagesvc"
|
||||
)
|
||||
|
||||
@@ -138,7 +139,7 @@ func TestS3StorageService(t *testing.T) {
|
||||
storage := storagesvc.NewS3Storage()
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
_ = storagesvc.Start(ctx, logger, storage, port)
|
||||
_ = storagesvc.Start(ctx, crd.NewClientGenerator(), logger, storage, port)
|
||||
|
||||
time.Sleep(time.Second)
|
||||
client := MakeClient(fmt.Sprintf("http://localhost:%v/", 8081))
|
||||
@@ -216,7 +217,7 @@ func TestLocalStorageService(t *testing.T) {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
os.Setenv("METRICS_ADDR", "8083")
|
||||
_ = storagesvc.Start(ctx, logger, storage, port)
|
||||
_ = storagesvc.Start(ctx, crd.NewClientGenerator(), logger, storage, port)
|
||||
|
||||
time.Sleep(time.Second)
|
||||
client := MakeClient(fmt.Sprintf("http://localhost:%v/", port))
|
||||
|
||||
@@ -30,6 +30,7 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
"go.uber.org/zap"
|
||||
|
||||
"github.com/fission/fission/pkg/crd"
|
||||
"github.com/fission/fission/pkg/utils/httpserver"
|
||||
"github.com/fission/fission/pkg/utils/metrics"
|
||||
otelUtils "github.com/fission/fission/pkg/utils/otel"
|
||||
@@ -281,7 +282,7 @@ func (ss *StorageService) Start(ctx context.Context, port int) {
|
||||
}
|
||||
|
||||
// Start runs storage service
|
||||
func Start(ctx context.Context, logger *zap.Logger, storage Storage, port int) error {
|
||||
func Start(ctx context.Context, clientGen crd.ClientGeneratorInterface, logger *zap.Logger, storage Storage, port int) error {
|
||||
enablePruner, err := strconv.ParseBool(os.Getenv("PRUNE_ENABLED"))
|
||||
if err != nil {
|
||||
logger.Warn("PRUNE_ENABLED value not set. Enabling archive pruner by default.", zap.Error(err))
|
||||
@@ -295,7 +296,7 @@ func Start(ctx context.Context, logger *zap.Logger, storage Storage, port int) e
|
||||
|
||||
// create http handlers
|
||||
storageService := MakeStorageService(logger, storageClient, port)
|
||||
go metrics.ServeMetrics(ctx, logger)
|
||||
go metrics.ServeMetrics(ctx, "storagesvc", logger)
|
||||
go storageService.Start(ctx, port)
|
||||
|
||||
// enablePruner prevents storagesvc unit test from needing to talk to kubernetes
|
||||
@@ -305,7 +306,7 @@ func Start(ctx context.Context, logger *zap.Logger, storage Storage, port int) e
|
||||
if err != nil {
|
||||
pruneInterval = defaultPruneInterval
|
||||
}
|
||||
pruner, err := MakeArchivePruner(logger, storageClient, time.Duration(pruneInterval))
|
||||
pruner, err := MakeArchivePruner(logger, clientGen, storageClient, time.Duration(pruneInterval))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "Error creating archivePruner")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user