Skip to content

Commit 222d94c

Browse files
authored
Merge pull request #302 from INBOX-2625 - Add test for empty filter list & bump ns1-go version
INBOX-2625 - Add test for empty filter list & bump ns1-go version
2 parents bf1dc81 + 5c4be09 commit 222d94c

6 files changed

Lines changed: 79 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## 2.0.8 (October 5, 2023)
2+
BUG FIX
3+
4+
* `ns1-go` client version bump fixes removing filter chains from records
5+
16
## 2.0.7 (September 19, 2023)
27
ENHANCEMENTS
38
* Added support for more record types (CERT, CSYNC, DHCID, HTTPS, SMIMEA, SVCB & TLSA)

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ require (
77
github.com/hashicorp/go-retryablehttp v0.7.2
88
github.com/hashicorp/terraform-plugin-sdk/v2 v2.24.1
99
github.com/stretchr/testify v1.8.1
10-
gopkg.in/ns1/ns1-go.v2 v2.7.9
10+
gopkg.in/ns1/ns1-go.v2 v2.7.11
1111
)
1212

1313
require (

go.sum

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,12 @@ github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJE
1717
github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
1818
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
1919
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
20-
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
2120
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
2221
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2322
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
2423
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
2524
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
2625
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
27-
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
2826
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
2927
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
3028
github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
@@ -40,7 +38,6 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6
4038
github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4=
4139
github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc=
4240
github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
43-
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
4441
github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
4542
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
4643
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -253,10 +250,8 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8
253250
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
254251
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
255252
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
256-
gopkg.in/ns1/ns1-go.v2 v2.7.8 h1:1ocy22Xb+KF4g6JNlPFoivyYRdJfeQjs+omb/wIzQAU=
257-
gopkg.in/ns1/ns1-go.v2 v2.7.8/go.mod h1:pfaU0vECVP7DIOr453z03HXS6dFJpXdNRwOyRzwmPSc=
258-
gopkg.in/ns1/ns1-go.v2 v2.7.9 h1:enj8dKPIoElOIv8cSzRHd5sTHsLgHapvOIKK8uLXK7c=
259-
gopkg.in/ns1/ns1-go.v2 v2.7.9/go.mod h1:pfaU0vECVP7DIOr453z03HXS6dFJpXdNRwOyRzwmPSc=
253+
gopkg.in/ns1/ns1-go.v2 v2.7.11 h1:fs8fkDjfdWdR2Gg//HO+LHrtC38+Z+xpUs3z4iojsn8=
254+
gopkg.in/ns1/ns1-go.v2 v2.7.11/go.mod h1:pfaU0vECVP7DIOr453z03HXS6dFJpXdNRwOyRzwmPSc=
260255
gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME=
261256
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
262257
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

ns1/config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
)
2020

2121
var (
22-
clientVersion = "2.0.7"
22+
clientVersion = "2.0.8"
2323
providerUserAgent = "tf-ns1" + "/" + clientVersion
2424
defaultRetryMax = 3
2525
)

ns1/resource_record.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ func recordStateFunc(d *schema.ResourceData, meta interface{}) ([]*schema.Resour
523523
return []*schema.ResourceData{d}, nil
524524
}
525525

526-
// ignores case difference between state and resoruce written in terraform file
526+
// ignores case difference between state and resource written in terraform file
527527
// so we can keep data consistency between tf state and ddi since ddi is case insensitive
528528
func caseSensitivityDiffSuppress(k, old, new string, d *schema.ResourceData) bool {
529529
return strings.EqualFold(old, new)

ns1/resource_record_test.go

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,41 @@ func TestAccRecord_updated(t *testing.T) {
102102
})
103103
}
104104

105+
func TestAccRecord_remove_all_filters(t *testing.T) {
106+
var record dns.Record
107+
rString := acctest.RandStringFromCharSet(15, acctest.CharSetAlphaNum)
108+
zoneName := fmt.Sprintf("terraform-test-%s.io", rString)
109+
domainName := fmt.Sprintf("test.%s", zoneName)
110+
111+
resource.Test(t, resource.TestCase{
112+
PreCheck: func() { testAccPreCheck(t) },
113+
Providers: testAccProviders,
114+
CheckDestroy: testAccCheckRecordDestroy,
115+
Steps: []resource.TestStep{
116+
{
117+
Config: testAccRecordBasic(rString),
118+
Check: resource.ComposeTestCheckFunc(
119+
testAccCheckRecordExists("ns1_record.it", &record),
120+
testAccCheckRecordFilterCount(&record, 3),
121+
),
122+
},
123+
{
124+
Config: testAccRecordUpdatedNoFilters(rString),
125+
Check: resource.ComposeTestCheckFunc(
126+
testAccCheckRecordExists("ns1_record.it", &record),
127+
testAccCheckRecordFilterCount(&record, 0),
128+
),
129+
},
130+
{
131+
ResourceName: "ns1_record.it",
132+
ImportState: true,
133+
ImportStateId: fmt.Sprintf("%s/%s/CNAME", zoneName, domainName),
134+
ImportStateVerify: true,
135+
},
136+
},
137+
})
138+
}
139+
105140
func TestAccRecord_meta(t *testing.T) {
106141
var record dns.Record
107142
rString := acctest.RandStringFromCharSet(15, acctest.CharSetAlphaNum)
@@ -784,6 +819,16 @@ func testAccCheckRecordExists(n string, record *dns.Record) resource.TestCheckFu
784819
}
785820
}
786821

822+
func testAccCheckRecordFilterCount(r *dns.Record, expected int) resource.TestCheckFunc {
823+
return func(s *terraform.State) error {
824+
if len(r.Filters) != expected {
825+
return fmt.Errorf("r.Filters, got: %d, want: %d", len(r.Filters), expected)
826+
}
827+
828+
return nil
829+
}
830+
}
831+
787832
func testAccCheckRecordDestroy(s *terraform.State) error {
788833
client := testAccProvider.Meta().(*ns1.Client)
789834

@@ -1164,6 +1209,30 @@ resource "ns1_zone" "test" {
11641209
`, rString)
11651210
}
11661211

1212+
func testAccRecordUpdatedNoFilters(rString string) string {
1213+
return fmt.Sprintf(`
1214+
resource "ns1_record" "it" {
1215+
zone = "${ns1_zone.test.zone}"
1216+
domain = "test.${ns1_zone.test.zone}"
1217+
type = "CNAME"
1218+
ttl = 60
1219+
1220+
answers {
1221+
answer = "test1.${ns1_zone.test.zone}"
1222+
region = "cal"
1223+
}
1224+
1225+
regions {
1226+
name = "cal"
1227+
}
1228+
}
1229+
1230+
resource "ns1_zone" "test" {
1231+
zone = "terraform-test-%s.io"
1232+
}
1233+
`, rString)
1234+
}
1235+
11671236
func testAccRecordAnswerMeta(rString string) string {
11681237
return fmt.Sprintf(`
11691238
resource "ns1_record" "it" {

0 commit comments

Comments
 (0)