@marcel91200 / caddy Mirror · read-only
Fork 0

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

Mirrored from https://github.com/Slazee/caddy.git

Synced Nov 11, 01:00 UTC

master
go 74 lines 2.01 KB
Raw
1 package integration
2
3 import (
4 "context"
5
6 "github.com/caddyserver/certmagic"
7 "github.com/libdns/libdns"
8
9 "github.com/caddyserver/caddy/v2"
10 "github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
11 )
12
13 func init() {
14 caddy.RegisterModule(MockDNSProvider{})
15 }
16
17 // MockDNSProvider is a mock DNS provider, for testing config with DNS modules.
18 type MockDNSProvider struct {
19 Argument string `json:"argument,omitempty"` // optional argument useful for testing
20 }
21
22 // CaddyModule returns the Caddy module information.
23 func (MockDNSProvider) CaddyModule() caddy.ModuleInfo {
24 return caddy.ModuleInfo{
25 ID: "dns.providers.mock",
26 New: func() caddy.Module { return new(MockDNSProvider) },
27 }
28 }
29
30 // Provision sets up the module.
31 func (MockDNSProvider) Provision(ctx caddy.Context) error {
32 return nil
33 }
34
35 // UnmarshalCaddyfile sets up the module from Caddyfile tokens.
36 func (p *MockDNSProvider) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
37 d.Next() // consume directive name
38
39 if d.NextArg() {
40 p.Argument = d.Val()
41 }
42 if d.NextArg() {
43 return d.Errf("unexpected argument '%s'", d.Val())
44 }
45 return nil
46 }
47
48 // AppendRecords appends DNS records to the zone.
49 func (MockDNSProvider) AppendRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error) {
50 return nil, nil
51 }
52
53 // DeleteRecords deletes DNS records from the zone.
54 func (MockDNSProvider) DeleteRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error) {
55 return nil, nil
56 }
57
58 // GetRecords gets DNS records from the zone.
59 func (MockDNSProvider) GetRecords(ctx context.Context, zone string) ([]libdns.Record, error) {
60 return nil, nil
61 }
62
63 // SetRecords sets DNS records in the zone.
64 func (MockDNSProvider) SetRecords(ctx context.Context, zone string, recs []libdns.Record) ([]libdns.Record, error) {
65 return nil, nil
66 }
67
68 // Interface guard
69 var (
70 _ caddyfile.Unmarshaler = (*MockDNSProvider)(nil)
71 _ certmagic.DNSProvider = (*MockDNSProvider)(nil)
72 _ caddy.Provisioner = (*MockDNSProvider)(nil)
73 _ caddy.Module = (*MockDNSProvider)(nil)
74 )