Configapi: pipeline to run e2e test for CLI

Co-authored-by: Paul Meyer <pm@edgeless.systems>
This commit is contained in:
Otto Bittner 2023-08-23 16:39:49 +02:00
parent d2071e945a
commit 7ffa1344e3
9 changed files with 214 additions and 120 deletions

View file

@ -44,6 +44,7 @@ type Client struct {
dirtyKeys []string
// invalidationIDs is a list of invalidation IDs that are currently in progress.
invalidationIDs []string
logger *logger.Logger
}
// Config is the configuration for the Client.
@ -118,6 +119,7 @@ func New(ctx context.Context, config Config) (*Client, CloseFunc, error) {
cacheInvalidationStrategy: config.CacheInvalidationStrategy,
cacheInvalidationWaitTimeout: config.CacheInvalidationWaitTimeout,
bucketID: config.Bucket,
logger: log,
}
return client, client.Flush, nil
}
@ -218,10 +220,13 @@ func (c *Client) waitForInvalidations(ctx context.Context) error {
DistributionId: &c.distributionID,
Id: &invalidationID,
}
c.logger.Debugf("Waiting for invalidation %s in distribution %s", invalidationID, c.distributionID)
if err := waiter.Wait(ctx, waitIn, c.cacheInvalidationWaitTimeout); err != nil {
return NewInvalidationError(fmt.Errorf("waiting for invalidation to complete: %w", err))
}
}
c.logger.Debugf("Invalidations finished")
c.invalidationIDs = nil
return nil
}