mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-10-04 10:54:26 +08:00
62 lines
2.3 KiB
Go
62 lines
2.3 KiB
Go
package cloudflare
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"net/http"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestCreateMiscategorization(t *testing.T) {
|
|
setup()
|
|
defer teardown()
|
|
|
|
mux.HandleFunc(fmt.Sprintf("/accounts/%s/intel/miscategorization", testAccountID), func(w http.ResponseWriter, r *http.Request) {
|
|
assert.Equal(t, http.MethodPost, r.Method, "Expected method 'POST', got %s", r.Method)
|
|
w.Header().Set("content-type", "application/json")
|
|
fmt.Fprintf(w, `{
|
|
"success": true,
|
|
"errors": [],
|
|
"messages": []
|
|
}`)
|
|
})
|
|
ctx := context.Background()
|
|
err := client.CreateMiscategorization(ctx, MisCategorizationParameters{})
|
|
if assert.Error(t, err) {
|
|
assert.Equal(t, ErrMissingAccountID, err)
|
|
}
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "ipv4"})
|
|
if assert.Error(t, err) {
|
|
assert.Equal(t, ErrMissingIP, err)
|
|
}
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "ipv6"})
|
|
if assert.Error(t, err) {
|
|
assert.Equal(t, ErrMissingIP, err)
|
|
}
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "url"})
|
|
if assert.Error(t, err) {
|
|
assert.Equal(t, ErrMissingURL, err)
|
|
}
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "domain"})
|
|
if assert.Error(t, err) {
|
|
assert.Equal(t, ErrMissingURL, err)
|
|
}
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "ipv4", IP: "192.0.2.0"})
|
|
assert.NoError(t, err, "Got error for creating miscategorization for ipv4")
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "ipv6", IP: "2400:cb00::/32"})
|
|
assert.NoError(t, err, "Got error for creating miscategorization for ipv6")
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "domain", URL: "example.com"})
|
|
assert.NoError(t, err, "Got error for creating miscategorization for domain")
|
|
|
|
err = client.CreateMiscategorization(ctx, MisCategorizationParameters{AccountID: testAccountID, IndicatorType: "url", URL: "https://example.com/news/"})
|
|
assert.NoError(t, err, "Got error for creating miscategorization for url")
|
|
}
|