dnscontrol/pkg/cloudflare-go/dlp_payload_log_test.go
Tom Limoncelli 7fd6a74e0c
CLOUDFLAREAPI: CF_REDIRECT/CF_TEMP_REDIRECT should dtrt using Single Redirects (#3002)
Co-authored-by: Josh Zhang <jzhang1@stackoverflow.com>
2024-06-18 17:38:50 -04:00

85 lines
2.2 KiB
Go

package cloudflare
import (
"context"
"fmt"
"net/http"
"testing"
"time"
"github.com/goccy/go-json"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestGetDLPPayloadLogSettings(t *testing.T) {
setup()
defer teardown()
handler := func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodGet, r.Method, "Expected method 'GET', got %s", r.Method)
w.Header().Set("content-type", "application/json")
fmt.Fprintf(w, `{
"success": true,
"errors": [],
"messages": [],
"result": {
"public_key": "3NP5MGKjzBLLceVxNZrF+LyithbWX+AVFBMRAA0Xl2A=",
"updated_at": "2022-12-22T21:02:39Z"
}
}`)
}
updatedAt, _ := time.Parse(time.RFC3339, "2022-12-22T21:02:39Z")
want := DLPPayloadLogSettings{
PublicKey: "3NP5MGKjzBLLceVxNZrF+LyithbWX+AVFBMRAA0Xl2A=",
UpdatedAt: &updatedAt,
}
mux.HandleFunc("/accounts/"+testAccountID+"/dlp/payload_log", handler)
actual, err := client.GetDLPPayloadLogSettings(context.Background(), AccountIdentifier(testAccountID), GetDLPPayloadLogSettingsParams{})
require.NoError(t, err)
require.Equal(t, want, actual)
}
func TestPutDLPPayloadLogSettings(t *testing.T) {
setup()
defer teardown()
handler := func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPut, r.Method, "Expected method 'PUT', got %s", r.Method)
w.Header().Set("content-type", "application/json")
var requestSettings DLPPayloadLogSettings
err := json.NewDecoder(r.Body).Decode(&requestSettings)
require.Nil(t, err)
fmt.Fprintf(w, `{
"success": true,
"errors": [],
"messages": [],
"result": {
"public_key": "`+requestSettings.PublicKey+`",
"updated_at": "2022-12-22T21:02:39Z"
}
}`)
}
updatedAt, _ := time.Parse(time.RFC3339, "2022-12-22T21:02:39Z")
want := DLPPayloadLogSettings{
PublicKey: "3NP5MGKjzBLLceVxNZrF+LyithbWX+AVFBMRAA0Xl2A=",
UpdatedAt: &updatedAt,
}
mux.HandleFunc("/accounts/"+testAccountID+"/dlp/payload_log", handler)
actual, err := client.UpdateDLPPayloadLogSettings(context.Background(), AccountIdentifier(testAccountID), DLPPayloadLogSettings{
PublicKey: "3NP5MGKjzBLLceVxNZrF+LyithbWX+AVFBMRAA0Xl2A=",
})
require.NoError(t, err)
require.Equal(t, want, actual)
}