mirror of
https://github.com/gotenberg/gotenberg.git
synced 2026-07-02 00:17:40 +08:00
44 lines
1.6 KiB
Go
44 lines
1.6 KiB
Go
package chromium
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
|
|
"github.com/gotenberg/gotenberg/v8/pkg/gotenberg"
|
|
)
|
|
|
|
// ApiMock is a mock for the [Api] interface.
|
|
type ApiMock struct {
|
|
PdfMock func(ctx context.Context, logger *slog.Logger, url, outputPath string, options PdfOptions) error
|
|
ScreenshotMock func(ctx context.Context, logger *slog.Logger, url, outputPath string, options ScreenshotOptions) error
|
|
}
|
|
|
|
func (api *ApiMock) Pdf(ctx context.Context, logger *slog.Logger, url, outputPath string, options PdfOptions) error {
|
|
return api.PdfMock(ctx, logger, url, outputPath, options)
|
|
}
|
|
|
|
func (api *ApiMock) Screenshot(ctx context.Context, logger *slog.Logger, url, outputPath string, options ScreenshotOptions) error {
|
|
return api.ScreenshotMock(ctx, logger, url, outputPath, options)
|
|
}
|
|
|
|
// browserMock is a mock for the [browser] interface.
|
|
type browserMock struct {
|
|
gotenberg.ProcessMock
|
|
pdfMock func(ctx context.Context, logger *slog.Logger, url, outputPath string, options PdfOptions) error
|
|
screenshotMock func(ctx context.Context, logger *slog.Logger, url, outputPath string, options ScreenshotOptions) error
|
|
}
|
|
|
|
func (b *browserMock) pdf(ctx context.Context, logger *slog.Logger, url, outputPath string, options PdfOptions) error {
|
|
return b.pdfMock(ctx, logger, url, outputPath, options)
|
|
}
|
|
|
|
func (b *browserMock) screenshot(ctx context.Context, logger *slog.Logger, url, outputPath string, options ScreenshotOptions) error {
|
|
return b.screenshotMock(ctx, logger, url, outputPath, options)
|
|
}
|
|
|
|
// Interface guards.
|
|
var (
|
|
_ Api = (*ApiMock)(nil)
|
|
_ browser = (*browserMock)(nil)
|
|
)
|