Skip to content

Commit 8e87b10

Browse files
pashapradeksimko
authored andcommitted
provider/ns1: No splitting answer on spf records. (#13260)
* provider/ns1: No splitting answer on spf records. * provider/ns1: Adds acctest for SPF records.
1 parent e885ab8 commit 8e87b10

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

builtin/providers/ns1/resource_record.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ func resourceDataToRecord(r *dns.Record, d *schema.ResourceData) error {
236236
var a *dns.Answer
237237
v := answer["answer"].(string)
238238
switch d.Get("type") {
239-
case "TXT":
239+
case "TXT", "SPF":
240240
a = dns.NewTXTAnswer(v)
241241
default:
242242
a = dns.NewAnswer(strings.Split(v, " "))

builtin/providers/ns1/resource_record_test.go

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,27 @@ func TestAccRecord_updated(t *testing.T) {
7171
})
7272
}
7373

74+
func TestAccRecord_SPF(t *testing.T) {
75+
var record dns.Record
76+
resource.Test(t, resource.TestCase{
77+
PreCheck: func() { testAccPreCheck(t) },
78+
Providers: testAccProviders,
79+
CheckDestroy: testAccCheckRecordDestroy,
80+
Steps: []resource.TestStep{
81+
resource.TestStep{
82+
Config: testAccRecordSPF,
83+
Check: resource.ComposeTestCheckFunc(
84+
testAccCheckRecordExists("ns1_record.spf", &record),
85+
testAccCheckRecordDomain(&record, "terraform-record-test.io"),
86+
testAccCheckRecordTTL(&record, 86400),
87+
testAccCheckRecordUseClientSubnet(&record, true),
88+
testAccCheckRecordAnswerRdata(&record, "v=DKIM1; k=rsa; p=XXXXXXXX"),
89+
),
90+
},
91+
},
92+
})
93+
}
94+
7495
func testAccCheckRecordExists(n string, record *dns.Record) resource.TestCheckFunc {
7596
return func(s *terraform.State) error {
7697
rs, ok := s.RootModule().Resources[n]
@@ -297,3 +318,20 @@ resource "ns1_zone" "test" {
297318
zone = "terraform-record-test.io"
298319
}
299320
`
321+
322+
const testAccRecordSPF = `
323+
resource "ns1_record" "spf" {
324+
zone = "${ns1_zone.test.zone}"
325+
domain = "${ns1_zone.test.zone}"
326+
type = "SPF"
327+
ttl = 86400
328+
use_client_subnet = "true"
329+
answers = {
330+
answer = "v=DKIM1; k=rsa; p=XXXXXXXX"
331+
}
332+
}
333+
334+
resource "ns1_zone" "test" {
335+
zone = "terraform-record-test.io"
336+
}
337+
`

0 commit comments

Comments
 (0)