Documentation
¶
Index ¶
- func HasErrorCode(err error, code string) bool
- func IsAuthError(err error) bool
- func IsDuplicateError(err error) bool
- func IsNotFoundError(err error) bool
- func WrapError(message string, err error) error
- type Client
- func (c *Client) AddAllowlistEntry(ctx context.Context, profileID string, domain string, active bool) error
- func (c *Client) AddDenylistEntry(ctx context.Context, profileID string, domain string, active bool) error
- func (c *Client) AddPrivacyNative(ctx context.Context, profileID string, nativeID string) error
- func (c *Client) AddSecurityTLD(ctx context.Context, profileID string, tld string) error
- func (c *Client) CreateProfile(ctx context.Context, name string) (string, error)
- func (c *Client) DeleteAllowlistEntry(ctx context.Context, profileID string, domain string) error
- func (c *Client) DeleteDenylistEntry(ctx context.Context, profileID string, domain string) error
- func (c *Client) DeletePrivacyNative(ctx context.Context, profileID string, nativeID string) error
- func (c *Client) DeleteProfile(ctx context.Context, profileID string) error
- func (c *Client) DeleteSecurityTLD(ctx context.Context, profileID string, tld string) error
- func (c *Client) GetAllowlist(ctx context.Context, profileID string) ([]*nextdns.Allowlist, error)
- func (c *Client) GetDenylist(ctx context.Context, profileID string) ([]*nextdns.Denylist, error)
- func (c *Client) GetParentalControl(ctx context.Context, profileID string) (*nextdns.ParentalControl, error)
- func (c *Client) GetParentalControlCategories(ctx context.Context, profileID string) ([]*nextdns.ParentalControlCategories, error)
- func (c *Client) GetParentalControlServices(ctx context.Context, profileID string) ([]*nextdns.ParentalControlServices, error)
- func (c *Client) GetPrivacy(ctx context.Context, profileID string) (*nextdns.Privacy, error)
- func (c *Client) GetPrivacyBlocklists(ctx context.Context, profileID string) ([]*nextdns.PrivacyBlocklists, error)
- func (c *Client) GetPrivacyNatives(ctx context.Context, profileID string) ([]*nextdns.PrivacyNatives, error)
- func (c *Client) GetProfile(ctx context.Context, profileID string) (*nextdns.Profile, error)
- func (c *Client) GetRewrites(ctx context.Context, profileID string) ([]*nextdns.Rewrites, error)
- func (c *Client) GetSecurity(ctx context.Context, profileID string) (*nextdns.Security, error)
- func (c *Client) GetSecurityTLDs(ctx context.Context, profileID string) ([]*nextdns.SecurityTlds, error)
- func (c *Client) GetSettings(ctx context.Context, profileID string) (*nextdns.Settings, error)
- func (c *Client) GetSetup(ctx context.Context, profileID string) (*nextdns.Setup, error)
- func (c *Client) SyncAllowlist(ctx context.Context, profileID string, entries []DomainEntry) error
- func (c *Client) SyncDenylist(ctx context.Context, profileID string, entries []DomainEntry) error
- func (c *Client) SyncPrivacyBlocklists(ctx context.Context, profileID string, blocklists []string) error
- func (c *Client) SyncPrivacyNatives(ctx context.Context, profileID string, natives []string) error
- func (c *Client) SyncRewrites(ctx context.Context, profileID string, entries []RewriteEntry) error
- func (c *Client) SyncSecurityTLDs(ctx context.Context, profileID string, tlds []string) error
- func (c *Client) UpdateParentalControl(ctx context.Context, profileID string, config *ParentalControlConfig) error
- func (c *Client) UpdatePrivacy(ctx context.Context, profileID string, config *PrivacyConfig) error
- func (c *Client) UpdateProfile(ctx context.Context, profileID, name string) error
- func (c *Client) UpdateSecurity(ctx context.Context, profileID string, config *SecurityConfig) error
- func (c *Client) UpdateSettings(ctx context.Context, profileID string, config *SettingsConfig) error
- type ClientInterface
- type DomainEntry
- type MockCall
- type MockClient
- func (m *MockClient) AddAllowlistEntry(ctx context.Context, profileID string, domain string, active bool) error
- func (m *MockClient) AddDenylistEntry(ctx context.Context, profileID string, domain string, active bool) error
- func (m *MockClient) AddPrivacyNative(ctx context.Context, profileID string, nativeID string) error
- func (m *MockClient) AddSecurityTLD(ctx context.Context, profileID string, tld string) error
- func (m *MockClient) CreateProfile(ctx context.Context, name string) (string, error)
- func (m *MockClient) DeleteAllowlistEntry(ctx context.Context, profileID string, domain string) error
- func (m *MockClient) DeleteDenylistEntry(ctx context.Context, profileID string, domain string) error
- func (m *MockClient) DeletePrivacyNative(ctx context.Context, profileID string, nativeID string) error
- func (m *MockClient) DeleteProfile(ctx context.Context, profileID string) error
- func (m *MockClient) DeleteSecurityTLD(ctx context.Context, profileID string, tld string) error
- func (m *MockClient) GetAllowlist(ctx context.Context, profileID string) ([]*nextdns.Allowlist, error)
- func (m *MockClient) GetCallCount(method string) int
- func (m *MockClient) GetDenylist(ctx context.Context, profileID string) ([]*nextdns.Denylist, error)
- func (m *MockClient) GetParentalControl(ctx context.Context, profileID string) (*nextdns.ParentalControl, error)
- func (m *MockClient) GetParentalControlCategories(ctx context.Context, profileID string) ([]*nextdns.ParentalControlCategories, error)
- func (m *MockClient) GetParentalControlServices(ctx context.Context, profileID string) ([]*nextdns.ParentalControlServices, error)
- func (m *MockClient) GetPrivacy(ctx context.Context, profileID string) (*nextdns.Privacy, error)
- func (m *MockClient) GetPrivacyBlocklists(ctx context.Context, profileID string) ([]*nextdns.PrivacyBlocklists, error)
- func (m *MockClient) GetPrivacyNatives(ctx context.Context, profileID string) ([]*nextdns.PrivacyNatives, error)
- func (m *MockClient) GetProfile(ctx context.Context, profileID string) (*nextdns.Profile, error)
- func (m *MockClient) GetRewrites(ctx context.Context, profileID string) ([]*nextdns.Rewrites, error)
- func (m *MockClient) GetSecurity(ctx context.Context, profileID string) (*nextdns.Security, error)
- func (m *MockClient) GetSecurityTLDs(ctx context.Context, profileID string) ([]*nextdns.SecurityTlds, error)
- func (m *MockClient) GetSettings(ctx context.Context, profileID string) (*nextdns.Settings, error)
- func (m *MockClient) GetSetup(ctx context.Context, profileID string) (*nextdns.Setup, error)
- func (m *MockClient) Reset()
- func (m *MockClient) SetProfile(profileID, name, fingerprint string)
- func (m *MockClient) SyncAllowlist(ctx context.Context, profileID string, entries []DomainEntry) error
- func (m *MockClient) SyncDenylist(ctx context.Context, profileID string, entries []DomainEntry) error
- func (m *MockClient) SyncPrivacyBlocklists(ctx context.Context, profileID string, blocklists []string) error
- func (m *MockClient) SyncPrivacyNatives(ctx context.Context, profileID string, natives []string) error
- func (m *MockClient) SyncRewrites(ctx context.Context, profileID string, entries []RewriteEntry) error
- func (m *MockClient) SyncSecurityTLDs(ctx context.Context, profileID string, tlds []string) error
- func (m *MockClient) UpdateParentalControl(ctx context.Context, profileID string, config *ParentalControlConfig) error
- func (m *MockClient) UpdatePrivacy(ctx context.Context, profileID string, config *PrivacyConfig) error
- func (m *MockClient) UpdateProfile(ctx context.Context, profileID, name string) error
- func (m *MockClient) UpdateSecurity(ctx context.Context, profileID string, config *SecurityConfig) error
- func (m *MockClient) UpdateSettings(ctx context.Context, profileID string, config *SettingsConfig) error
- func (m *MockClient) WasMethodCalled(method string) bool
- type ParentalControlConfig
- type PrivacyConfig
- type ProfileConfig
- type RewriteEntry
- type SecurityConfig
- type SettingsConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HasErrorCode ¶ added in v0.3.0
HasErrorCode returns true if the error contains the specified error code.
func IsAuthError ¶ added in v0.3.0
IsAuthError returns true if the error indicates an authentication failure.
func IsDuplicateError ¶ added in v0.3.0
IsDuplicateError returns true if the error indicates a duplicate resource.
func IsNotFoundError ¶ added in v0.3.0
IsNotFoundError returns true if the error indicates a resource was not found.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps the NextDNS API client
func (*Client) AddAllowlistEntry ¶ added in v0.3.0
func (c *Client) AddAllowlistEntry(ctx context.Context, profileID string, domain string, active bool) error
AddAllowlistEntry adds a single entry to the allowlist.
func (*Client) AddDenylistEntry ¶ added in v0.3.0
func (c *Client) AddDenylistEntry(ctx context.Context, profileID string, domain string, active bool) error
AddDenylistEntry adds a single entry to the denylist.
func (*Client) AddPrivacyNative ¶ added in v0.3.0
AddPrivacyNative adds a single native tracker protection.
func (*Client) AddSecurityTLD ¶ added in v0.3.0
AddSecurityTLD adds a single TLD to the blocked list.
func (*Client) CreateProfile ¶
CreateProfile creates a new NextDNS profile and returns the profile ID
func (*Client) DeleteAllowlistEntry ¶ added in v0.3.0
DeleteAllowlistEntry removes a single entry from the allowlist.
func (*Client) DeleteDenylistEntry ¶ added in v0.3.0
DeleteDenylistEntry removes a single entry from the denylist.
func (*Client) DeletePrivacyNative ¶ added in v0.3.0
DeletePrivacyNative removes a single native tracker protection.
func (*Client) DeleteProfile ¶
DeleteProfile deletes a NextDNS profile
func (*Client) DeleteSecurityTLD ¶ added in v0.3.0
DeleteSecurityTLD removes a single TLD from the blocked list.
func (*Client) GetAllowlist ¶
GetAllowlist retrieves the current allowlist for a profile
func (*Client) GetDenylist ¶
GetDenylist retrieves the current denylist for a profile
func (*Client) GetParentalControl ¶
func (c *Client) GetParentalControl(ctx context.Context, profileID string) (*nextdns.ParentalControl, error)
GetParentalControl retrieves the current parental control settings for a profile
func (*Client) GetParentalControlCategories ¶ added in v0.9.0
func (c *Client) GetParentalControlCategories(ctx context.Context, profileID string) ([]*nextdns.ParentalControlCategories, error)
GetParentalControlCategories retrieves the current parental control categories for a profile
func (*Client) GetParentalControlServices ¶ added in v0.9.0
func (c *Client) GetParentalControlServices(ctx context.Context, profileID string) ([]*nextdns.ParentalControlServices, error)
GetParentalControlServices retrieves the current parental control services for a profile
func (*Client) GetPrivacy ¶
GetPrivacy retrieves the current privacy settings for a profile
func (*Client) GetPrivacyBlocklists ¶ added in v0.9.0
func (c *Client) GetPrivacyBlocklists(ctx context.Context, profileID string) ([]*nextdns.PrivacyBlocklists, error)
GetPrivacyBlocklists retrieves the current privacy blocklists for a profile
func (*Client) GetPrivacyNatives ¶ added in v0.9.0
func (c *Client) GetPrivacyNatives(ctx context.Context, profileID string) ([]*nextdns.PrivacyNatives, error)
GetPrivacyNatives retrieves the current privacy natives for a profile
func (*Client) GetProfile ¶
GetProfile retrieves a NextDNS profile by ID
func (*Client) GetRewrites ¶ added in v0.8.1
GetRewrites retrieves the current rewrites for a profile
func (*Client) GetSecurity ¶
GetSecurity retrieves the current security settings for a profile
func (*Client) GetSecurityTLDs ¶
func (c *Client) GetSecurityTLDs(ctx context.Context, profileID string) ([]*nextdns.SecurityTlds, error)
GetSecurityTLDs retrieves the current blocked TLDs for a profile
func (*Client) GetSettings ¶ added in v0.9.0
GetSettings retrieves the current settings for a profile
func (*Client) GetSetup ¶ added in v0.12.0
GetSetup retrieves the current setup/endpoint data for a profile
func (*Client) SyncAllowlist ¶
SyncAllowlist synchronizes the allowlist for a profile
func (*Client) SyncDenylist ¶
SyncDenylist synchronizes the denylist for a profile
func (*Client) SyncPrivacyBlocklists ¶
func (c *Client) SyncPrivacyBlocklists(ctx context.Context, profileID string, blocklists []string) error
SyncPrivacyBlocklists synchronizes privacy blocklists for a profile
func (*Client) SyncPrivacyNatives ¶
SyncPrivacyNatives synchronizes native tracker blocking for a profile
func (*Client) SyncRewrites ¶ added in v0.8.1
SyncRewrites synchronizes DNS rewrites for a profile using diff-based create/delete. The NextDNS API does not support update for rewrites, so we delete removed entries and create new ones.
func (*Client) SyncSecurityTLDs ¶
SyncSecurityTLDs synchronizes blocked TLDs for a profile
func (*Client) UpdateParentalControl ¶
func (c *Client) UpdateParentalControl(ctx context.Context, profileID string, config *ParentalControlConfig) error
UpdateParentalControl updates parental control settings for a profile
func (*Client) UpdatePrivacy ¶
UpdatePrivacy updates privacy settings for a profile
func (*Client) UpdateProfile ¶
UpdateProfile updates a NextDNS profile name
func (*Client) UpdateSecurity ¶
func (c *Client) UpdateSecurity(ctx context.Context, profileID string, config *SecurityConfig) error
UpdateSecurity updates security settings for a profile
func (*Client) UpdateSettings ¶
func (c *Client) UpdateSettings(ctx context.Context, profileID string, config *SettingsConfig) error
UpdateSettings updates general settings for a profile
type ClientInterface ¶
type ClientInterface interface {
// Profile operations
CreateProfile(ctx context.Context, name string) (string, error)
GetProfile(ctx context.Context, profileID string) (*nextdns.Profile, error)
UpdateProfile(ctx context.Context, profileID, name string) error
DeleteProfile(ctx context.Context, profileID string) error
// Security operations
UpdateSecurity(ctx context.Context, profileID string, config *SecurityConfig) error
GetSecurity(ctx context.Context, profileID string) (*nextdns.Security, error)
// Privacy operations
UpdatePrivacy(ctx context.Context, profileID string, config *PrivacyConfig) error
GetPrivacy(ctx context.Context, profileID string) (*nextdns.Privacy, error)
SyncPrivacyBlocklists(ctx context.Context, profileID string, blocklists []string) error
SyncPrivacyNatives(ctx context.Context, profileID string, natives []string) error
// Parental control operations
UpdateParentalControl(ctx context.Context, profileID string, config *ParentalControlConfig) error
GetParentalControl(ctx context.Context, profileID string) (*nextdns.ParentalControl, error)
// List operations
SyncDenylist(ctx context.Context, profileID string, entries []DomainEntry) error
SyncAllowlist(ctx context.Context, profileID string, entries []DomainEntry) error
SyncSecurityTLDs(ctx context.Context, profileID string, tlds []string) error
GetDenylist(ctx context.Context, profileID string) ([]*nextdns.Denylist, error)
GetAllowlist(ctx context.Context, profileID string) ([]*nextdns.Allowlist, error)
GetSecurityTLDs(ctx context.Context, profileID string) ([]*nextdns.SecurityTlds, error)
// Individual list entry operations (for optimized sync)
AddAllowlistEntry(ctx context.Context, profileID string, domain string, active bool) error
DeleteAllowlistEntry(ctx context.Context, profileID string, domain string) error
AddDenylistEntry(ctx context.Context, profileID string, domain string, active bool) error
DeleteDenylistEntry(ctx context.Context, profileID string, domain string) error
// Individual TLD operations
AddSecurityTLD(ctx context.Context, profileID string, tld string) error
DeleteSecurityTLD(ctx context.Context, profileID string, tld string) error
// Individual privacy native operations
AddPrivacyNative(ctx context.Context, profileID string, nativeID string) error
DeletePrivacyNative(ctx context.Context, profileID string, nativeID string) error
// Rewrite operations
SyncRewrites(ctx context.Context, profileID string, entries []RewriteEntry) error
GetRewrites(ctx context.Context, profileID string) ([]*nextdns.Rewrites, error)
// Settings operations
UpdateSettings(ctx context.Context, profileID string, config *SettingsConfig) error
// Setup operations
GetSetup(ctx context.Context, profileID string) (*nextdns.Setup, error)
// Read-only operations for observe mode
GetSettings(ctx context.Context, profileID string) (*nextdns.Settings, error)
GetPrivacyBlocklists(ctx context.Context, profileID string) ([]*nextdns.PrivacyBlocklists, error)
GetPrivacyNatives(ctx context.Context, profileID string) ([]*nextdns.PrivacyNatives, error)
GetParentalControlCategories(ctx context.Context, profileID string) ([]*nextdns.ParentalControlCategories, error)
GetParentalControlServices(ctx context.Context, profileID string) ([]*nextdns.ParentalControlServices, error)
}
ClientInterface defines the interface for NextDNS operations This allows for mocking in tests
type DomainEntry ¶ added in v0.1.2
DomainEntry represents a domain with its active state for syncing to NextDNS
type MockCall ¶
type MockCall struct {
Method string
Args []interface{}
}
MockCall records a method call for verification
type MockClient ¶
type MockClient struct {
// Profiles stores mock profiles
Profiles map[string]*nextdns.Profile
// Security stores mock security settings per profile
Security map[string]*nextdns.Security
// Privacy stores mock privacy settings per profile
Privacy map[string]*nextdns.Privacy
// ParentalControl stores mock parental control settings per profile
ParentalControl map[string]*nextdns.ParentalControl
// Denylists stores mock denylists per profile
Denylists map[string][]*nextdns.Denylist
// Allowlists stores mock allowlists per profile
Allowlists map[string][]*nextdns.Allowlist
// SecurityTLDs stores mock security TLDs per profile
SecurityTLDs map[string][]*nextdns.SecurityTlds
// PrivacyBlocklists stores mock privacy blocklists per profile
PrivacyBlocklists map[string][]*nextdns.PrivacyBlocklists
// PrivacyNatives stores mock privacy natives per profile
PrivacyNatives map[string][]*nextdns.PrivacyNatives
// Settings stores mock settings per profile (full Settings struct)
Settings map[string]*nextdns.Settings
// SettingsLogs stores mock settings logs per profile
SettingsLogs map[string]*nextdns.SettingsLogs
// SettingsBlockPage stores mock block page settings per profile
SettingsBlockPage map[string]*nextdns.SettingsBlockPage
// ParentalControlCategories stores categories per profile
ParentalControlCategories map[string][]*nextdns.ParentalControlCategories
// ParentalControlServices stores services per profile
ParentalControlServices map[string][]*nextdns.ParentalControlServices
// Rewrites stores mock rewrites per profile
Rewrites map[string][]*nextdns.Rewrites
// SetupData stores mock setup data per profile
SetupData map[string]*nextdns.Setup
// Error injection for testing error paths
CreateProfileError error
GetProfileError error
UpdateProfileError error
DeleteProfileError error
UpdateSecurityError error
GetSecurityError error
UpdatePrivacyError error
GetPrivacyError error
SyncPrivacyBlocklistsError error
SyncPrivacyNativesError error
UpdateParentalControlError error
GetParentalControlError error
SyncDenylistError error
SyncAllowlistError error
SyncSecurityTLDsError error
GetDenylistError error
GetAllowlistError error
GetSecurityTLDsError error
UpdateSettingsError error
SyncRewritesError error
GetSettingsError error
GetPrivacyBlocklistsError error
GetPrivacyNativesError error
GetParentalControlCategoriesError error
GetParentalControlServicesError error
GetRewritesError error
GetSetupError error
// Call tracking
Calls []MockCall
// NextProfileID for auto-generating profile IDs
NextProfileID int
// contains filtered or unexported fields
}
MockClient is a mock implementation of ClientInterface for testing
func NewMockClient ¶
func NewMockClient() *MockClient
NewMockClient creates a new mock client with initialized maps
func (*MockClient) AddAllowlistEntry ¶ added in v0.3.0
func (m *MockClient) AddAllowlistEntry(ctx context.Context, profileID string, domain string, active bool) error
AddAllowlistEntry adds a single entry to the mock allowlist
func (*MockClient) AddDenylistEntry ¶ added in v0.3.0
func (m *MockClient) AddDenylistEntry(ctx context.Context, profileID string, domain string, active bool) error
AddDenylistEntry adds a single entry to the mock denylist
func (*MockClient) AddPrivacyNative ¶ added in v0.3.0
AddPrivacyNative adds a single native tracker to the mock privacy natives
func (*MockClient) AddSecurityTLD ¶ added in v0.3.0
AddSecurityTLD adds a single TLD to the mock security TLDs
func (*MockClient) CreateProfile ¶
CreateProfile creates a mock profile
func (*MockClient) DeleteAllowlistEntry ¶ added in v0.3.0
func (m *MockClient) DeleteAllowlistEntry(ctx context.Context, profileID string, domain string) error
DeleteAllowlistEntry removes a single entry from the mock allowlist
func (*MockClient) DeleteDenylistEntry ¶ added in v0.3.0
func (m *MockClient) DeleteDenylistEntry(ctx context.Context, profileID string, domain string) error
DeleteDenylistEntry removes a single entry from the mock denylist
func (*MockClient) DeletePrivacyNative ¶ added in v0.3.0
func (m *MockClient) DeletePrivacyNative(ctx context.Context, profileID string, nativeID string) error
DeletePrivacyNative removes a single native tracker from the mock privacy natives
func (*MockClient) DeleteProfile ¶
func (m *MockClient) DeleteProfile(ctx context.Context, profileID string) error
DeleteProfile deletes a mock profile
func (*MockClient) DeleteSecurityTLD ¶ added in v0.3.0
DeleteSecurityTLD removes a single TLD from the mock security TLDs
func (*MockClient) GetAllowlist ¶
func (m *MockClient) GetAllowlist(ctx context.Context, profileID string) ([]*nextdns.Allowlist, error)
GetAllowlist retrieves mock allowlist
func (*MockClient) GetCallCount ¶
func (m *MockClient) GetCallCount(method string) int
GetCallCount returns the number of calls to a specific method
func (*MockClient) GetDenylist ¶
func (m *MockClient) GetDenylist(ctx context.Context, profileID string) ([]*nextdns.Denylist, error)
GetDenylist retrieves mock denylist
func (*MockClient) GetParentalControl ¶
func (m *MockClient) GetParentalControl(ctx context.Context, profileID string) (*nextdns.ParentalControl, error)
GetParentalControl retrieves mock parental control settings
func (*MockClient) GetParentalControlCategories ¶ added in v0.9.0
func (m *MockClient) GetParentalControlCategories(ctx context.Context, profileID string) ([]*nextdns.ParentalControlCategories, error)
GetParentalControlCategories retrieves mock parental control categories
func (*MockClient) GetParentalControlServices ¶ added in v0.9.0
func (m *MockClient) GetParentalControlServices(ctx context.Context, profileID string) ([]*nextdns.ParentalControlServices, error)
GetParentalControlServices retrieves mock parental control services
func (*MockClient) GetPrivacy ¶
GetPrivacy retrieves mock privacy settings
func (*MockClient) GetPrivacyBlocklists ¶ added in v0.9.0
func (m *MockClient) GetPrivacyBlocklists(ctx context.Context, profileID string) ([]*nextdns.PrivacyBlocklists, error)
GetPrivacyBlocklists retrieves mock privacy blocklists
func (*MockClient) GetPrivacyNatives ¶ added in v0.9.0
func (m *MockClient) GetPrivacyNatives(ctx context.Context, profileID string) ([]*nextdns.PrivacyNatives, error)
GetPrivacyNatives retrieves mock privacy natives
func (*MockClient) GetProfile ¶
GetProfile retrieves a mock profile
func (*MockClient) GetRewrites ¶ added in v0.8.1
func (m *MockClient) GetRewrites(ctx context.Context, profileID string) ([]*nextdns.Rewrites, error)
GetRewrites retrieves mock rewrites
func (*MockClient) GetSecurity ¶
GetSecurity retrieves mock security settings
func (*MockClient) GetSecurityTLDs ¶
func (m *MockClient) GetSecurityTLDs(ctx context.Context, profileID string) ([]*nextdns.SecurityTlds, error)
GetSecurityTLDs retrieves mock security TLDs
func (*MockClient) GetSettings ¶ added in v0.9.0
GetSettings retrieves mock settings
func (*MockClient) SetProfile ¶ added in v0.4.0
func (m *MockClient) SetProfile(profileID, name, fingerprint string)
SetProfile pre-configures a profile in the mock with specific ID, name and fingerprint The fingerprint parameter is stored separately for tests to verify This is useful for tests that need a specific profile to already exist
func (*MockClient) SyncAllowlist ¶
func (m *MockClient) SyncAllowlist(ctx context.Context, profileID string, entries []DomainEntry) error
SyncAllowlist syncs mock allowlist
func (*MockClient) SyncDenylist ¶
func (m *MockClient) SyncDenylist(ctx context.Context, profileID string, entries []DomainEntry) error
SyncDenylist syncs mock denylist
func (*MockClient) SyncPrivacyBlocklists ¶
func (m *MockClient) SyncPrivacyBlocklists(ctx context.Context, profileID string, blocklists []string) error
SyncPrivacyBlocklists syncs mock privacy blocklists
func (*MockClient) SyncPrivacyNatives ¶
func (m *MockClient) SyncPrivacyNatives(ctx context.Context, profileID string, natives []string) error
SyncPrivacyNatives syncs mock privacy natives
func (*MockClient) SyncRewrites ¶ added in v0.8.1
func (m *MockClient) SyncRewrites(ctx context.Context, profileID string, entries []RewriteEntry) error
SyncRewrites syncs mock rewrites using diff-based create/delete
func (*MockClient) SyncSecurityTLDs ¶
SyncSecurityTLDs syncs mock security TLDs
func (*MockClient) UpdateParentalControl ¶
func (m *MockClient) UpdateParentalControl(ctx context.Context, profileID string, config *ParentalControlConfig) error
UpdateParentalControl updates mock parental control settings
func (*MockClient) UpdatePrivacy ¶
func (m *MockClient) UpdatePrivacy(ctx context.Context, profileID string, config *PrivacyConfig) error
UpdatePrivacy updates mock privacy settings
func (*MockClient) UpdateProfile ¶
func (m *MockClient) UpdateProfile(ctx context.Context, profileID, name string) error
UpdateProfile updates a mock profile
func (*MockClient) UpdateSecurity ¶
func (m *MockClient) UpdateSecurity(ctx context.Context, profileID string, config *SecurityConfig) error
UpdateSecurity updates mock security settings
func (*MockClient) UpdateSettings ¶
func (m *MockClient) UpdateSettings(ctx context.Context, profileID string, config *SettingsConfig) error
UpdateSettings updates mock settings
func (*MockClient) WasMethodCalled ¶
func (m *MockClient) WasMethodCalled(method string) bool
WasMethodCalled checks if a method was called
type ParentalControlConfig ¶
type ParentalControlConfig struct {
Categories []string
Services []string
SafeSearch bool
YouTubeRestrictedMode bool
BlockBypass bool
}
ParentalControlConfig represents parental control settings
type PrivacyConfig ¶
type PrivacyConfig struct {
Blocklists []string
Natives []string
DisguisedTrackers bool
AllowAffiliate bool
}
PrivacyConfig represents privacy settings
type ProfileConfig ¶
type ProfileConfig struct {
Name string
Security *SecurityConfig
Privacy *PrivacyConfig
ParentalControl *ParentalControlConfig
Denylist []string
Allowlist []string
BlockedTLDs []string
Settings *SettingsConfig
}
ProfileConfig represents the configuration for a NextDNS profile
type RewriteEntry ¶ added in v0.8.1
RewriteEntry represents a DNS rewrite for syncing to NextDNS