endpoint sanitize dns in the init func (#131)

* revert changes, start a new

* remove sanitize

* fix tests for source pkg

* fix aws_tests
This commit is contained in:
Yerken 2017-04-07 10:18:52 +02:00 committed by GitHub
parent 8727a95974
commit be452acdf7
8 changed files with 127 additions and 125 deletions

View File

@ -16,6 +16,10 @@ limitations under the License.
package endpoint package endpoint
import (
"strings"
)
const ( const (
// OwnerLabelKey is the name of the label that defines the owner of an Endpoint. // OwnerLabelKey is the name of the label that defines the owner of an Endpoint.
OwnerLabelKey = "owner" OwnerLabelKey = "owner"
@ -34,8 +38,8 @@ type Endpoint struct {
// NewEndpoint initialization method to be used to create an endpoint // NewEndpoint initialization method to be used to create an endpoint
func NewEndpoint(dnsName, target string) *Endpoint { func NewEndpoint(dnsName, target string) *Endpoint {
return &Endpoint{ return &Endpoint{
DNSName: dnsName, DNSName: strings.TrimSuffix(dnsName, "."),
Target: target, Target: strings.TrimSuffix(target, "."),
Labels: map[string]string{}, Labels: map[string]string{},
} }
} }

View File

@ -26,4 +26,9 @@ func TestNewEndpoint(t *testing.T) {
if e.Labels == nil { if e.Labels == nil {
t.Error("Labels is not initialized") t.Error("Labels is not initialized")
} }
w := NewEndpoint("example.org.", "load-balancer.com.")
if w.DNSName != "example.org" || w.Target != "load-balancer.com" {
t.Error("endpoint is not initialized correctly")
}
} }

View File

@ -183,12 +183,12 @@ func TestAWSZones(t *testing.T) {
func TestAWSZone(t *testing.T) { func TestAWSZone(t *testing.T) {
provider := newAWSProvider(t, false) provider := newAWSProvider(t, false)
hostedZone, err := provider.CreateZone("list-ext-dns-test.teapot.zalan.do.") hostedZone, err := provider.CreateZone("list-ext-dns-test.teapot.zalan.do")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
zone, err := provider.Zone("list-ext-dns-test.teapot.zalan.do.") zone, err := provider.Zone("list-ext-dns-test.teapot.zalan.do")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -197,8 +197,8 @@ func TestAWSZone(t *testing.T) {
t.Errorf("expected %s, got %s", aws.StringValue(hostedZone.Id), aws.StringValue(zone.Id)) t.Errorf("expected %s, got %s", aws.StringValue(hostedZone.Id), aws.StringValue(zone.Id))
} }
if aws.StringValue(zone.Name) != "list-ext-dns-test.teapot.zalan.do." { if aws.StringValue(zone.Name) != "list-ext-dns-test.teapot.zalan.do" {
t.Errorf("expected %s, got %s", "list-ext-dns-test.teapot.zalan.do.", aws.StringValue(zone.Name)) t.Errorf("expected %s, got %s", "list-ext-dns-test.teapot.zalan.do", aws.StringValue(zone.Name))
} }
} }
@ -224,14 +224,14 @@ func TestAWSCreateZone(t *testing.T) {
} }
if !found { if !found {
t.Fatal("ext-dns-test.teapot.zalan.do. should be there") t.Fatal("ext-dns-test.teapot.zalan.do should be there")
} }
} }
func TestAWSDeleteZone(t *testing.T) { func TestAWSDeleteZone(t *testing.T) {
provider := newAWSProvider(t, false) provider := newAWSProvider(t, false)
zone, err := provider.CreateZone("ext-dns-test-2.teapot.zalan.do.") zone, err := provider.CreateZone("ext-dns-test-2.teapot.zalan.do")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -247,8 +247,8 @@ func TestAWSDeleteZone(t *testing.T) {
} }
for _, z := range zones { for _, z := range zones {
if z == "ext-dns-test-2.teapot.zalan.do." { if z == "ext-dns-test-2.teapot.zalan.do" {
t.Fatal("ext-dns-test-2.teapot.zalan.do.") t.Fatal("ext-dns-test-2.teapot.zalan.do")
} }
} }
} }
@ -256,19 +256,19 @@ func TestAWSDeleteZone(t *testing.T) {
func TestAWSRecords(t *testing.T) { func TestAWSRecords(t *testing.T) {
provider := newAWSProvider(t, false) provider := newAWSProvider(t, false)
_, err := provider.CreateZone("list-ext-dns-test.teapot.zalan.do.") _, err := provider.CreateZone("list-ext-dns-test.teapot.zalan.do")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
records := []*endpoint.Endpoint{{DNSName: "list-test.list-ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} records := []*endpoint.Endpoint{{DNSName: "list-test.list-ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("list-ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("list-ext-dns-test.teapot.zalan.do", records)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
records, err = provider.Records("list-ext-dns-test.teapot.zalan.do.") records, err = provider.Records("list-ext-dns-test.teapot.zalan.do")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -280,7 +280,7 @@ func TestAWSRecords(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "list-test.list-ext-dns-test.teapot.zalan.do." { if r.DNSName == "list-test.list-ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -288,7 +288,7 @@ func TestAWSRecords(t *testing.T) {
} }
if !found { if !found {
t.Fatal("list-test.list-ext-dns-test.teapot.zalan.do. should be there") t.Fatal("list-test.list-ext-dns-test.teapot.zalan.do should be there")
} }
} }
@ -300,7 +300,7 @@ func TestAWSCreateRecords(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
records := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} records := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records)
if err != nil { if err != nil {
@ -315,7 +315,7 @@ func TestAWSCreateRecords(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -323,7 +323,7 @@ func TestAWSCreateRecords(t *testing.T) {
} }
if !found { if !found {
t.Fatal("create-test.ext-dns-test.teapot.zalan.do. should be there") t.Fatal("create-test.ext-dns-test.teapot.zalan.do should be there")
} }
} }
@ -335,14 +335,14 @@ func TestAWSUpdateRecords(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
oldRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} oldRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", oldRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", oldRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
newRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "1.2.3.4"}} newRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "1.2.3.4"}}
err = provider.UpdateRecords("ext-dns-test.teapot.zalan.do.", newRecords, oldRecords) err = provider.UpdateRecords("ext-dns-test.teapot.zalan.do.", newRecords, oldRecords)
if err != nil { if err != nil {
@ -357,7 +357,7 @@ func TestAWSUpdateRecords(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "1.2.3.4" { if r.Target == "1.2.3.4" {
found = true found = true
} }
@ -365,13 +365,13 @@ func TestAWSUpdateRecords(t *testing.T) {
} }
if !found { if !found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to 1.2.3.4") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to 1.2.3.4")
} }
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -379,7 +379,7 @@ func TestAWSUpdateRecords(t *testing.T) {
} }
if found { if found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to 1.2.3.4") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to 1.2.3.4")
} }
} }
@ -391,7 +391,7 @@ func TestAWSDeleteRecords(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
records := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do.", Target: "20.153.88.175"}} records := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do", Target: "20.153.88.175"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records)
if err != nil { if err != nil {
@ -411,13 +411,13 @@ func TestAWSDeleteRecords(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do" {
found = true found = true
} }
} }
if found { if found {
t.Fatal("delete-test.ext-dns-test.teapot.zalan.do. should be gone") t.Fatal("delete-test.ext-dns-test.teapot.zalan.do should be gone")
} }
} }
@ -429,22 +429,22 @@ func TestAWSApply(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
updateRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} updateRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", updateRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", updateRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
deleteRecords := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do.", Target: "20.153.88.175"}} deleteRecords := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do", Target: "20.153.88.175"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", deleteRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", deleteRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
createRecords := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} createRecords := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
updateNewRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "1.2.3.4"}} updateNewRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "1.2.3.4"}}
changes := &plan.Changes{ changes := &plan.Changes{
Create: createRecords, Create: createRecords,
@ -468,7 +468,7 @@ func TestAWSApply(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -476,7 +476,7 @@ func TestAWSApply(t *testing.T) {
} }
if !found { if !found {
t.Fatal("create-test.ext-dns-test.teapot.zalan.do. should be there") t.Fatal("create-test.ext-dns-test.teapot.zalan.do should be there")
} }
// update validation // update validation
@ -484,7 +484,7 @@ func TestAWSApply(t *testing.T) {
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "1.2.3.4" { if r.Target == "1.2.3.4" {
found = true found = true
} }
@ -492,13 +492,13 @@ func TestAWSApply(t *testing.T) {
} }
if !found { if !found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to 1.2.3.4") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to 1.2.3.4")
} }
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -506,7 +506,7 @@ func TestAWSApply(t *testing.T) {
} }
if found { if found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to 1.2.3.4") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to 1.2.3.4")
} }
// delete validation // delete validation
@ -514,13 +514,13 @@ func TestAWSApply(t *testing.T) {
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do" {
found = true found = true
} }
} }
if found { if found {
t.Fatal("delete-test.ext-dns-test.teapot.zalan.do. should be gone") t.Fatal("delete-test.ext-dns-test.teapot.zalan.do should be gone")
} }
} }
@ -548,7 +548,7 @@ func TestAWSCreateRecordDryRun(t *testing.T) {
provider.DryRun = true provider.DryRun = true
records := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} records := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records)
if err != nil { if err != nil {
@ -563,7 +563,7 @@ func TestAWSCreateRecordDryRun(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -571,7 +571,7 @@ func TestAWSCreateRecordDryRun(t *testing.T) {
} }
if found { if found {
t.Fatal("create-test.ext-dns-test.teapot.zalan.do. should not be there") t.Fatal("create-test.ext-dns-test.teapot.zalan.do should not be there")
} }
} }
@ -583,7 +583,7 @@ func TestAWSUpdateRecordDryRun(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
oldRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} oldRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", oldRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", oldRecords)
if err != nil { if err != nil {
@ -592,7 +592,7 @@ func TestAWSUpdateRecordDryRun(t *testing.T) {
provider.DryRun = true provider.DryRun = true
newRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "1.2.3.4"}} newRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "1.2.3.4"}}
err = provider.UpdateRecords("ext-dns-test.teapot.zalan.do.", newRecords, oldRecords) err = provider.UpdateRecords("ext-dns-test.teapot.zalan.do.", newRecords, oldRecords)
if err != nil { if err != nil {
@ -607,7 +607,7 @@ func TestAWSUpdateRecordDryRun(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "1.2.3.4" { if r.Target == "1.2.3.4" {
found = true found = true
} }
@ -615,13 +615,13 @@ func TestAWSUpdateRecordDryRun(t *testing.T) {
} }
if found { if found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should not point to 1.2.3.4") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should not point to 1.2.3.4")
} }
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -629,7 +629,7 @@ func TestAWSUpdateRecordDryRun(t *testing.T) {
} }
if !found { if !found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to 8.8.8.8") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to 8.8.8.8")
} }
} }
@ -641,7 +641,7 @@ func TestAWSDeleteRecordDryRun(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
records := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do.", Target: "20.153.88.175"}} records := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do", Target: "20.153.88.175"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records)
if err != nil { if err != nil {
@ -663,13 +663,13 @@ func TestAWSDeleteRecordDryRun(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do" {
found = true found = true
} }
} }
if !found { if !found {
t.Fatal("delete-test.ext-dns-test.teapot.zalan.do. should not be gone") t.Fatal("delete-test.ext-dns-test.teapot.zalan.do should not be gone")
} }
} }
@ -681,14 +681,14 @@ func TestAWSApplyDryRun(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
updateRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} updateRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", updateRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", updateRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
deleteRecords := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do.", Target: "20.153.88.175"}} deleteRecords := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do", Target: "20.153.88.175"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", deleteRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", deleteRecords)
if err != nil { if err != nil {
@ -697,8 +697,8 @@ func TestAWSApplyDryRun(t *testing.T) {
provider.DryRun = true provider.DryRun = true
createRecords := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do.", Target: "8.8.8.8"}} createRecords := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do", Target: "8.8.8.8"}}
updateNewRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "1.2.3.4"}} updateNewRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "1.2.3.4"}}
changes := &plan.Changes{ changes := &plan.Changes{
Create: createRecords, Create: createRecords,
@ -722,7 +722,7 @@ func TestAWSApplyDryRun(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -730,7 +730,7 @@ func TestAWSApplyDryRun(t *testing.T) {
} }
if found { if found {
t.Fatal("create-test.ext-dns-test.teapot.zalan.do. should not be there") t.Fatal("create-test.ext-dns-test.teapot.zalan.do should not be there")
} }
// update validation // update validation
@ -738,7 +738,7 @@ func TestAWSApplyDryRun(t *testing.T) {
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "1.2.3.4" { if r.Target == "1.2.3.4" {
found = true found = true
} }
@ -746,13 +746,13 @@ func TestAWSApplyDryRun(t *testing.T) {
} }
if found { if found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should not point to 1.2.3.4") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should not point to 1.2.3.4")
} }
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "8.8.8.8" { if r.Target == "8.8.8.8" {
found = true found = true
} }
@ -760,7 +760,7 @@ func TestAWSApplyDryRun(t *testing.T) {
} }
if !found { if !found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to 8.8.8.8") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to 8.8.8.8")
} }
// delete validation // delete validation
@ -768,13 +768,13 @@ func TestAWSApplyDryRun(t *testing.T) {
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do" {
found = true found = true
} }
} }
if !found { if !found {
t.Fatal("delete-test.ext-dns-test.teapot.zalan.do. should not be gone") t.Fatal("delete-test.ext-dns-test.teapot.zalan.do should not be gone")
} }
} }
@ -786,7 +786,7 @@ func TestAWSCreateRecordsCNAME(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
records := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do.", Target: "foo.elb.amazonaws.com"}} records := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do", Target: "foo.elb.amazonaws.com"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records)
if err != nil { if err != nil {
@ -801,7 +801,7 @@ func TestAWSCreateRecordsCNAME(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "foo.elb.amazonaws.com" { if r.Target == "foo.elb.amazonaws.com" {
found = true found = true
} }
@ -809,7 +809,7 @@ func TestAWSCreateRecordsCNAME(t *testing.T) {
} }
if !found { if !found {
t.Fatal("create-test.ext-dns-test.teapot.zalan.do. should be there") t.Fatal("create-test.ext-dns-test.teapot.zalan.do should be there")
} }
} }
@ -821,14 +821,14 @@ func TestAWSUpdateRecordsCNAME(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
oldRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "foo.elb.amazonaws.com"}} oldRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "foo.elb.amazonaws.com"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", oldRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", oldRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
newRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "bar.elb.amazonaws.com"}} newRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "bar.elb.amazonaws.com"}}
err = provider.UpdateRecords("ext-dns-test.teapot.zalan.do.", newRecords, oldRecords) err = provider.UpdateRecords("ext-dns-test.teapot.zalan.do.", newRecords, oldRecords)
if err != nil { if err != nil {
@ -843,7 +843,7 @@ func TestAWSUpdateRecordsCNAME(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "bar.elb.amazonaws.com" { if r.Target == "bar.elb.amazonaws.com" {
found = true found = true
} }
@ -851,13 +851,13 @@ func TestAWSUpdateRecordsCNAME(t *testing.T) {
} }
if !found { if !found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to bar.elb.amazonaws.com") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to bar.elb.amazonaws.com")
} }
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "foo.elb.amazonaws.com" { if r.Target == "foo.elb.amazonaws.com" {
found = true found = true
} }
@ -865,7 +865,7 @@ func TestAWSUpdateRecordsCNAME(t *testing.T) {
} }
if found { if found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to bar.elb.amazonaws.com") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to bar.elb.amazonaws.com")
} }
} }
@ -877,7 +877,7 @@ func TestAWSDeleteRecordsCNAME(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
records := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do.", Target: "baz.elb.amazonaws.com"}} records := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do", Target: "baz.elb.amazonaws.com"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", records)
if err != nil { if err != nil {
@ -897,13 +897,13 @@ func TestAWSDeleteRecordsCNAME(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do" {
found = true found = true
} }
} }
if found { if found {
t.Fatal("delete-test.ext-dns-test.teapot.zalan.do. should be gone") t.Fatal("delete-test.ext-dns-test.teapot.zalan.do should be gone")
} }
} }
@ -915,22 +915,22 @@ func TestAWSApplyCNAME(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
updateRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "foo.elb.amazonaws.com"}} updateRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "foo.elb.amazonaws.com"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", updateRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", updateRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
deleteRecords := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do.", Target: "baz.elb.amazonaws.com"}} deleteRecords := []*endpoint.Endpoint{{DNSName: "delete-test.ext-dns-test.teapot.zalan.do", Target: "baz.elb.amazonaws.com"}}
err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", deleteRecords) err = provider.CreateRecords("ext-dns-test.teapot.zalan.do.", deleteRecords)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
createRecords := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do.", Target: "foo.elb.amazonaws.com"}} createRecords := []*endpoint.Endpoint{{DNSName: "create-test.ext-dns-test.teapot.zalan.do", Target: "foo.elb.amazonaws.com"}}
updateNewRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do.", Target: "bar.elb.amazonaws.com"}} updateNewRecords := []*endpoint.Endpoint{{DNSName: "update-test.ext-dns-test.teapot.zalan.do", Target: "bar.elb.amazonaws.com"}}
changes := &plan.Changes{ changes := &plan.Changes{
Create: createRecords, Create: createRecords,
@ -954,7 +954,7 @@ func TestAWSApplyCNAME(t *testing.T) {
found := false found := false
for _, r := range records { for _, r := range records {
if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "create-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "foo.elb.amazonaws.com" { if r.Target == "foo.elb.amazonaws.com" {
found = true found = true
} }
@ -962,7 +962,7 @@ func TestAWSApplyCNAME(t *testing.T) {
} }
if !found { if !found {
t.Fatal("create-test.ext-dns-test.teapot.zalan.do. should be there") t.Fatal("create-test.ext-dns-test.teapot.zalan.do should be there")
} }
// update validation // update validation
@ -970,7 +970,7 @@ func TestAWSApplyCNAME(t *testing.T) {
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "bar.elb.amazonaws.com" { if r.Target == "bar.elb.amazonaws.com" {
found = true found = true
} }
@ -978,13 +978,13 @@ func TestAWSApplyCNAME(t *testing.T) {
} }
if !found { if !found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to bar.elb.amazonaws.com") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to bar.elb.amazonaws.com")
} }
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "update-test.ext-dns-test.teapot.zalan.do" {
if r.Target == "foo.elb.amazonaws.com" { if r.Target == "foo.elb.amazonaws.com" {
found = true found = true
} }
@ -992,7 +992,7 @@ func TestAWSApplyCNAME(t *testing.T) {
} }
if found { if found {
t.Fatal("update-test.ext-dns-test.teapot.zalan.do. should point to bar.elb.amazonaws.com") t.Fatal("update-test.ext-dns-test.teapot.zalan.do should point to bar.elb.amazonaws.com")
} }
// delete validation // delete validation
@ -1000,13 +1000,13 @@ func TestAWSApplyCNAME(t *testing.T) {
found = false found = false
for _, r := range records { for _, r := range records {
if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do." { if r.DNSName == "delete-test.ext-dns-test.teapot.zalan.do" {
found = true found = true
} }
} }
if found { if found {
t.Fatal("delete-test.ext-dns-test.teapot.zalan.do. should be gone") t.Fatal("delete-test.ext-dns-test.teapot.zalan.do should be gone")
} }
} }

View File

@ -71,10 +71,10 @@ func endpointsFromIngress(ing *v1beta1.Ingress) []*endpoint.Endpoint {
} }
for _, lb := range ing.Status.LoadBalancer.Ingress { for _, lb := range ing.Status.LoadBalancer.Ingress {
if lb.IP != "" { if lb.IP != "" {
endpoints = append(endpoints, endpoint.NewEndpoint(sanitizeHostname(rule.Host), lb.IP)) endpoints = append(endpoints, endpoint.NewEndpoint(rule.Host, lb.IP))
} }
if lb.Hostname != "" { if lb.Hostname != "" {
endpoints = append(endpoints, endpoint.NewEndpoint(sanitizeHostname(rule.Host), sanitizeHostname(lb.Hostname))) endpoints = append(endpoints, endpoint.NewEndpoint(rule.Host, lb.Hostname))
} }
} }
} }

View File

@ -47,8 +47,8 @@ func testEndpointsFromIngress(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "foo.bar.", DNSName: "foo.bar",
Target: "lb.com.", Target: "lb.com",
}, },
}, },
}, },
@ -60,7 +60,7 @@ func testEndpointsFromIngress(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "foo.bar.", DNSName: "foo.bar",
Target: "8.8.8.8", Target: "8.8.8.8",
}, },
}, },
@ -74,20 +74,20 @@ func testEndpointsFromIngress(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "foo.bar.", DNSName: "foo.bar",
Target: "8.8.8.8", Target: "8.8.8.8",
}, },
{ {
DNSName: "foo.bar.", DNSName: "foo.bar",
Target: "127.0.0.1", Target: "127.0.0.1",
}, },
{ {
DNSName: "foo.bar.", DNSName: "foo.bar",
Target: "elb.com.", Target: "elb.com",
}, },
{ {
DNSName: "foo.bar.", DNSName: "foo.bar",
Target: "alb.com.", Target: "alb.com",
}, },
}, },
}, },
@ -154,12 +154,12 @@ func testIngressEndpoints(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "example.org.", DNSName: "example.org",
Target: "8.8.8.8", Target: "8.8.8.8",
}, },
{ {
DNSName: "new.org.", DNSName: "new.org",
Target: "lb.com.", Target: "lb.com",
}, },
}, },
}, },
@ -182,12 +182,12 @@ func testIngressEndpoints(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "example.org.", DNSName: "example.org",
Target: "8.8.8.8", Target: "8.8.8.8",
}, },
{ {
DNSName: "new.org.", DNSName: "new.org",
Target: "lb.com.", Target: "lb.com",
}, },
}, },
}, },
@ -210,7 +210,7 @@ func testIngressEndpoints(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "example.org.", DNSName: "example.org",
Target: "8.8.8.8", Target: "8.8.8.8",
}, },
}, },
@ -231,7 +231,7 @@ func testIngressEndpoints(t *testing.T) {
}, },
expected: []*endpoint.Endpoint{ expected: []*endpoint.Endpoint{
{ {
DNSName: "example.org.", DNSName: "example.org",
Target: "8.8.8.8", Target: "8.8.8.8",
}, },
}, },

View File

@ -76,10 +76,10 @@ func endpointsFromService(svc *v1.Service) []*endpoint.Endpoint {
// Create a corresponding endpoint for each configured external entrypoint. // Create a corresponding endpoint for each configured external entrypoint.
for _, lb := range svc.Status.LoadBalancer.Ingress { for _, lb := range svc.Status.LoadBalancer.Ingress {
if lb.IP != "" { if lb.IP != "" {
endpoints = append(endpoints, endpoint.NewEndpoint(sanitizeHostname(hostname), lb.IP)) endpoints = append(endpoints, endpoint.NewEndpoint(hostname, lb.IP))
} }
if lb.Hostname != "" { if lb.Hostname != "" {
endpoints = append(endpoints, endpoint.NewEndpoint(sanitizeHostname(hostname), sanitizeHostname(lb.Hostname))) endpoints = append(endpoints, endpoint.NewEndpoint(hostname, lb.Hostname))
} }
} }

View File

@ -63,7 +63,7 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"1.2.3.4"}, []string{"1.2.3.4"},
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "1.2.3.4"}, {DNSName: "foo.example.org", Target: "1.2.3.4"},
}, },
}, },
{ {
@ -76,7 +76,7 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"lb.example.com"}, // Kubernetes omits the trailing dot []string{"lb.example.com"}, // Kubernetes omits the trailing dot
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "lb.example.com."}, {DNSName: "foo.example.org", Target: "lb.example.com"},
}, },
}, },
{ {
@ -89,8 +89,8 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"1.2.3.4", "lb.example.com"}, // Kubernetes omits the trailing dot []string{"1.2.3.4", "lb.example.com"}, // Kubernetes omits the trailing dot
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "1.2.3.4"}, {DNSName: "foo.example.org", Target: "1.2.3.4"},
{DNSName: "foo.example.org.", Target: "lb.example.com."}, {DNSName: "foo.example.org", Target: "lb.example.com"},
}, },
}, },
{ {
@ -104,7 +104,7 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"1.2.3.4"}, []string{"1.2.3.4"},
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "1.2.3.4"}, {DNSName: "foo.example.org", Target: "1.2.3.4"},
}, },
}, },
{ {
@ -129,7 +129,7 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"1.2.3.4"}, []string{"1.2.3.4"},
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "1.2.3.4"}, {DNSName: "foo.example.org", Target: "1.2.3.4"},
}, },
}, },
{ {
@ -153,7 +153,7 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"1.2.3.4"}, []string{"1.2.3.4"},
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "1.2.3.4"}, {DNSName: "foo.example.org", Target: "1.2.3.4"},
}, },
}, },
{ {
@ -177,8 +177,8 @@ func testServiceEndpoints(t *testing.T) {
}, },
[]string{"1.2.3.4", "8.8.8.8"}, []string{"1.2.3.4", "8.8.8.8"},
[]*endpoint.Endpoint{ []*endpoint.Endpoint{
{DNSName: "foo.example.org.", Target: "1.2.3.4"}, {DNSName: "foo.example.org", Target: "1.2.3.4"},
{DNSName: "foo.example.org.", Target: "8.8.8.8"}, {DNSName: "foo.example.org", Target: "8.8.8.8"},
}, },
}, },
} { } {

View File

@ -17,8 +17,6 @@ limitations under the License.
package source package source
import ( import (
"strings"
"github.com/kubernetes-incubator/external-dns/endpoint" "github.com/kubernetes-incubator/external-dns/endpoint"
) )
@ -35,8 +33,3 @@ const (
type Source interface { type Source interface {
Endpoints() ([]*endpoint.Endpoint, error) Endpoints() ([]*endpoint.Endpoint, error)
} }
// sanitizeHostname appends a trailing dot to a hostname if it's missing.
func sanitizeHostname(hostname string) string {
return strings.Trim(hostname, ".") + "."
}