You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by da...@apache.org on 2018/07/04 02:39:39 UTC
[trafficcontrol] 14/15: fix tests broken by validation error change
This is an automated email from the ASF dual-hosted git repository.
dangogh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
commit 6dc69defe8aa506a5fc16b1421cc39c95f2182d7
Author: Dylan Volz <Dy...@comcast.com>
AuthorDate: Mon Jul 2 15:15:58 2018 -0600
fix tests broken by validation error change
---
.../traffic_ops_golang/api/shared_handlers_test.go | 4 ++--
traffic_ops/traffic_ops_golang/asn/asns_test.go | 6 +++---
.../traffic_ops_golang/cachegroup/cachegroups_test.go | 13 ++++++-------
traffic_ops/traffic_ops_golang/cdn/cdns_test.go | 13 ++++++-------
.../traffic_ops_golang/coordinate/coordinates_test.go | 13 ++++++-------
.../deliveryservice/request/comment/comments_test.go | 15 ++++++++-------
.../traffic_ops_golang/division/divisions_test.go | 2 +-
traffic_ops/traffic_ops_golang/origin/origins_test.go | 19 +++++++++----------
.../physlocation/phys_locations_test.go | 6 +++---
.../traffic_ops_golang/profile/profiles_test.go | 6 +++---
traffic_ops/traffic_ops_golang/role/roles_test.go | 14 +++++++-------
traffic_ops/traffic_ops_golang/test/helpers.go | 14 ++++++++++++++
traffic_ops/traffic_ops_golang/types/types_test.go | 6 +++---
13 files changed, 71 insertions(+), 60 deletions(-)
diff --git a/traffic_ops/traffic_ops_golang/api/shared_handlers_test.go b/traffic_ops/traffic_ops_golang/api/shared_handlers_test.go
index abf122f..c13543d 100644
--- a/traffic_ops/traffic_ops_golang/api/shared_handlers_test.go
+++ b/traffic_ops/traffic_ops_golang/api/shared_handlers_test.go
@@ -76,9 +76,9 @@ func (i *tester) GetAuditName() string {
//Validator interface function
func (v *tester) Validate() error {
if v.ID < 1 {
- return []error{errors.New("ID is too low")}
+ return errors.New("ID is too low")
}
- return []error{}
+ return nil
}
//Creator interface functions
diff --git a/traffic_ops/traffic_ops_golang/asn/asns_test.go b/traffic_ops/traffic_ops_golang/asn/asns_test.go
index 00963f0..f08697f 100644
--- a/traffic_ops/traffic_ops_golang/asn/asns_test.go
+++ b/traffic_ops/traffic_ops_golang/asn/asns_test.go
@@ -118,11 +118,11 @@ func TestValidate(t *testing.T) {
i := -99
asn := TOASNV11{nil, tc.ASNNullable{ASN: &i, CachegroupID: &i}}
- errs := test.SortErrors(asn.Validate())
- expected := []error{
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(asn.Validate())))
+ expected := util.JoinErrsStr([]error{
errors.New(`'asn' must be no less than 0`),
errors.New(`'cachegroupId' must be no less than 0`),
- }
+ })
if !reflect.DeepEqual(expected, errs) {
t.Errorf(`expected %v, got %v`, expected, errs)
}
diff --git a/traffic_ops/traffic_ops_golang/cachegroup/cachegroups_test.go b/traffic_ops/traffic_ops_golang/cachegroup/cachegroups_test.go
index 1dade56..def84ab 100644
--- a/traffic_ops/traffic_ops_golang/cachegroup/cachegroups_test.go
+++ b/traffic_ops/traffic_ops_golang/cachegroup/cachegroups_test.go
@@ -168,14 +168,14 @@ func TestValidate(t *testing.T) {
TypeID: &ti,
LastUpdated: &lu,
}}
- errs := test.SortErrors(c.Validate())
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(c.Validate())))
- expectedErrs := []error{
+ expectedErrs := util.JoinErrsStr([]error{
errors.New(`'latitude' Must be a floating point number within the range +-90`),
errors.New(`'longitude' Must be a floating point number within the range +-180`),
errors.New(`'name' invalid characters found - Use alphanumeric . or - or _ .`),
errors.New(`'shortName' invalid characters found - Use alphanumeric . or - or _ .`),
- }
+ })
if !reflect.DeepEqual(expectedErrs, errs) {
t.Errorf("expected %s, got %s", expectedErrs, errs)
@@ -195,9 +195,8 @@ func TestValidate(t *testing.T) {
TypeID: &ti,
LastUpdated: &lu,
}}
- expectedErrs = []error{}
- errs = c.Validate()
- if !reflect.DeepEqual(expectedErrs, errs) {
- t.Errorf("expected %s, got %s", expectedErrs, errs)
+ err := c.Validate()
+ if err != nil {
+ t.Errorf("expected nil, got %s", err)
}
}
diff --git a/traffic_ops/traffic_ops_golang/cdn/cdns_test.go b/traffic_ops/traffic_ops_golang/cdn/cdns_test.go
index 2bc4288..d7dd8f3 100644
--- a/traffic_ops/traffic_ops_golang/cdn/cdns_test.go
+++ b/traffic_ops/traffic_ops_golang/cdn/cdns_test.go
@@ -134,12 +134,12 @@ func TestValidate(t *testing.T) {
// invalid name, empty domainname
n := "not_a_valid_cdn"
c := TOCDN{CDNNullable: v13.CDNNullable{Name: &n}}
- errs := test.SortErrors(c.Validate())
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(c.Validate())))
- expectedErrs := []error{
+ expectedErrs := util.JoinErrsStr([]error{
errors.New(`'domainName' cannot be blank`),
errors.New(`'name' invalid characters found - Use alphanumeric . or - .`),
- }
+ })
if !reflect.DeepEqual(expectedErrs, errs) {
t.Errorf("expected %s, got %s", expectedErrs, errs)
@@ -149,9 +149,8 @@ func TestValidate(t *testing.T) {
n = "This.is.2.a-Valid---CDNNAME."
d := `awesome-cdn.example.net`
c = TOCDN{CDNNullable: v13.CDNNullable{Name: &n, DomainName: &d}}
- expectedErrs = []error{}
- errs = c.Validate()
- if !reflect.DeepEqual(expectedErrs, errs) {
- t.Errorf("expected %s, got %s", expectedErrs, errs)
+ err := c.Validate()
+ if err != nil {
+ t.Errorf("expected nil, got %s", err)
}
}
diff --git a/traffic_ops/traffic_ops_golang/coordinate/coordinates_test.go b/traffic_ops/traffic_ops_golang/coordinate/coordinates_test.go
index b8ba402..10c15d5 100644
--- a/traffic_ops/traffic_ops_golang/coordinate/coordinates_test.go
+++ b/traffic_ops/traffic_ops_golang/coordinate/coordinates_test.go
@@ -147,13 +147,13 @@ func TestValidate(t *testing.T) {
Longitude: &lo,
LastUpdated: &lu,
}}
- errs := test.SortErrors(c.Validate())
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(c.Validate())))
- expectedErrs := []error{
+ expectedErrs := util.JoinErrsStr([]error{
errors.New(`'latitude' Must be a floating point number within the range +-90`),
errors.New(`'longitude' Must be a floating point number within the range +-180`),
errors.New(`'name' invalid characters found - Use alphanumeric . or - or _ .`),
- }
+ })
if !reflect.DeepEqual(expectedErrs, errs) {
t.Errorf("expected %s, got %s", expectedErrs, errs)
@@ -169,9 +169,8 @@ func TestValidate(t *testing.T) {
Longitude: &lo,
LastUpdated: &lu,
}}
- expectedErrs = []error{}
- errs = c.Validate()
- if !reflect.DeepEqual(expectedErrs, errs) {
- t.Errorf("expected %s, got %s", expectedErrs, errs)
+ err := c.Validate()
+ if err != nil {
+ t.Errorf("expected nil, got %s", err)
}
}
diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments_test.go b/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments_test.go
index fa1de48..b16ac6c 100644
--- a/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments_test.go
+++ b/traffic_ops/traffic_ops_golang/deliveryservice/request/comment/comments_test.go
@@ -26,6 +26,7 @@ import (
"testing"
"github.com/apache/trafficcontrol/lib/go-tc"
+ "github.com/apache/trafficcontrol/lib/go-util"
"github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/api"
"github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/test"
)
@@ -68,12 +69,12 @@ func TestInterfaces(t *testing.T) {
func TestValidate(t *testing.T) {
c := TODeliveryServiceRequestComment{}
- errs := test.SortErrors(c.Validate())
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(c.Validate())))
- expectedErrs := []error{
+ expectedErrs := util.JoinErrsStr([]error{
errors.New(`'deliveryServiceRequestId' is required`),
errors.New(`'value' is required`),
- }
+ })
if !reflect.DeepEqual(expectedErrs, errs) {
t.Errorf("expected %s, got %s", expectedErrs, errs)
@@ -82,10 +83,10 @@ func TestValidate(t *testing.T) {
v := "the comment value"
d := 1
c = TODeliveryServiceRequestComment{DeliveryServiceRequestCommentNullable: tc.DeliveryServiceRequestCommentNullable{DeliveryServiceRequestID: &d, Value: &v}}
- expectedErrs = []error{}
- errs = c.Validate()
- if !reflect.DeepEqual(expectedErrs, errs) {
- t.Errorf("expected %s, got %s", expectedErrs, errs)
+
+ err := c.Validate()
+ if err != nil {
+ t.Errorf("expected nil, got %s", err)
}
}
diff --git a/traffic_ops/traffic_ops_golang/division/divisions_test.go b/traffic_ops/traffic_ops_golang/division/divisions_test.go
index a8d93a8..1b582d8 100644
--- a/traffic_ops/traffic_ops_golang/division/divisions_test.go
+++ b/traffic_ops/traffic_ops_golang/division/divisions_test.go
@@ -110,7 +110,7 @@ func TestInterfaces(t *testing.T) {
func TestValidation(t *testing.T) {
div := TODivision{}
- errs := test.SortErrors(div.Validate())
+ errs := test.SortErrors(test.SplitErrors(div.Validate()))
expected := []error{}
if reflect.DeepEqual(expected, errs) {
diff --git a/traffic_ops/traffic_ops_golang/origin/origins_test.go b/traffic_ops/traffic_ops_golang/origin/origins_test.go
index 56d1b87..7280e60 100644
--- a/traffic_ops/traffic_ops_golang/origin/origins_test.go
+++ b/traffic_ops/traffic_ops_golang/origin/origins_test.go
@@ -182,14 +182,14 @@ func TestValidate(t *testing.T) {
FQDN: nil,
Protocol: nil,
}}
- errs := test.SortErrors(c.Validate())
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(c.Validate())))
- expectedErrs := []error{
+ expectedErrs := util.JoinErrsStr([]error{
errors.New(`'deliveryServiceId' is required`),
errors.New(`'fqdn' cannot be blank`),
errors.New(`'name' cannot be blank`),
errors.New(`'protocol' cannot be blank`),
- }
+ })
if !reflect.DeepEqual(expectedErrs, errs) {
t.Errorf("expected %s, got %s", expectedErrs, errs)
@@ -214,10 +214,9 @@ func TestValidate(t *testing.T) {
Protocol: &pro,
LastUpdated: &lu,
}}
- expectedErrs = []error{}
- errs = c.Validate()
- if !reflect.DeepEqual(expectedErrs, errs) {
- t.Errorf("expected %s, got %s", expectedErrs, errs)
+ err := c.Validate()
+ if err != nil {
+ t.Errorf("expected nil, got %s", err)
}
type testCase struct {
@@ -320,9 +319,9 @@ func TestValidate(t *testing.T) {
c.IP6Address = &tc.Str
value = tc.Str
}
- errs = test.SortErrors(c.Validate())
- if !reflect.DeepEqual(tc.ExpectedErrors, errs) {
- t.Errorf("given: '%v', expected %s, got %s", value, tc.ExpectedErrors, errs)
+ errStr := util.JoinErrsStr(test.SortErrors(test.SplitErrors(c.Validate())))
+ if !reflect.DeepEqual(util.JoinErrsStr(tc.ExpectedErrors), errStr) {
+ t.Errorf("given: '%v', expected %s, got %s", value, tc.ExpectedErrors, errStr)
}
}
}
diff --git a/traffic_ops/traffic_ops_golang/physlocation/phys_locations_test.go b/traffic_ops/traffic_ops_golang/physlocation/phys_locations_test.go
index bb459c8..f88f193 100644
--- a/traffic_ops/traffic_ops_golang/physlocation/phys_locations_test.go
+++ b/traffic_ops/traffic_ops_golang/physlocation/phys_locations_test.go
@@ -133,8 +133,8 @@ func TestInterfaces(t *testing.T) {
func TestValidate(t *testing.T) {
p := TOPhysLocation{}
- errs := test.SortErrors(p.Validate())
- expected := test.SortErrors([]error{
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(p.Validate())))
+ expected := util.JoinErrsStr(test.SortErrors([]error{
errors.New("'state' cannot be blank"),
errors.New("'zip' cannot be blank"),
errors.New("'address' cannot be blank"),
@@ -142,7 +142,7 @@ func TestValidate(t *testing.T) {
errors.New("'name' cannot be blank"),
errors.New("'regionId' cannot be blank"),
errors.New("'shortName' cannot be blank"),
- })
+ }))
if !reflect.DeepEqual(expected, errs) {
t.Errorf("expected %++v, got %++v", expected, errs)
diff --git a/traffic_ops/traffic_ops_golang/profile/profiles_test.go b/traffic_ops/traffic_ops_golang/profile/profiles_test.go
index 5ad1b95..8dc3177 100644
--- a/traffic_ops/traffic_ops_golang/profile/profiles_test.go
+++ b/traffic_ops/traffic_ops_golang/profile/profiles_test.go
@@ -134,13 +134,13 @@ func TestInterfaces(t *testing.T) {
func TestValidate(t *testing.T) {
p := TOProfile{}
- errs := test.SortErrors(p.Validate())
- expected := test.SortErrors([]error{
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(p.Validate())))
+ expected := util.JoinErrsStr(test.SortErrors([]error{
errors.New("'cdn' cannot be blank"),
errors.New("'description' cannot be blank"),
errors.New("'name' cannot be blank"),
errors.New("'type' cannot be blank"),
- })
+ }))
if !reflect.DeepEqual(expected, errs) {
t.Errorf("expected %++v, got %++v", expected, errs)
diff --git a/traffic_ops/traffic_ops_golang/role/roles_test.go b/traffic_ops/traffic_ops_golang/role/roles_test.go
index 7807371..5f9e9f7 100644
--- a/traffic_ops/traffic_ops_golang/role/roles_test.go
+++ b/traffic_ops/traffic_ops_golang/role/roles_test.go
@@ -26,6 +26,7 @@ import (
"testing"
"github.com/apache/trafficcontrol/lib/go-tc/v13"
+ "github.com/apache/trafficcontrol/lib/go-util"
"github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/api"
"github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/test"
)
@@ -98,12 +99,12 @@ func TestValidate(t *testing.T) {
n := "not_a_valid_role"
reqInfo := api.APIInfo{}
r := TORole{ReqInfo: &reqInfo, Role: v13.Role{Name: &n}}
- errs := test.SortErrors(r.Validate())
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(r.Validate())))
- expectedErrs := []error{
+ expectedErrs := util.JoinErrsStr([]error{
errors.New(`'description' cannot be blank`),
errors.New(`'privLevel' cannot be blank`),
- }
+ })
if !reflect.DeepEqual(expectedErrs, errs) {
t.Errorf("expected %s, got %s", expectedErrs, errs)
@@ -111,10 +112,9 @@ func TestValidate(t *testing.T) {
// name, domainname both valid
r = TORole{ReqInfo: &reqInfo, Role: v13.Role{Name: stringAddr("this is a valid name"), Description: stringAddr("this is a description"), PrivLevel: intAddr(30)}}
- expectedErrs = []error{}
- errs = r.Validate()
- if !reflect.DeepEqual(expectedErrs, errs) {
- t.Errorf("expected %s, got %s", expectedErrs, errs)
+ err := r.Validate()
+ if err != nil {
+ t.Errorf("expected nil, got %s", err)
}
}
diff --git a/traffic_ops/traffic_ops_golang/test/helpers.go b/traffic_ops/traffic_ops_golang/test/helpers.go
index 4b6ef9c..0c63660 100644
--- a/traffic_ops/traffic_ops_golang/test/helpers.go
+++ b/traffic_ops/traffic_ops_golang/test/helpers.go
@@ -23,6 +23,8 @@ import (
"reflect"
"sort"
"strings"
+
+ "github.com/pkg/errors"
)
// Extract the tag annotations from a struct into a string array
@@ -60,3 +62,15 @@ func SortErrors(p []error) []error {
sort.Sort(sortableErrors(p))
return p
}
+
+func SplitErrors(err error) []error {
+ if err == nil {
+ return []error{}
+ }
+ strs := strings.Split(err.Error(), ", ")
+ errs := []error{}
+ for _, str := range strs {
+ errs = append(errs, errors.New(str))
+ }
+ return errs
+}
diff --git a/traffic_ops/traffic_ops_golang/types/types_test.go b/traffic_ops/traffic_ops_golang/types/types_test.go
index 780f893..b7fea61 100644
--- a/traffic_ops/traffic_ops_golang/types/types_test.go
+++ b/traffic_ops/traffic_ops_golang/types/types_test.go
@@ -122,12 +122,12 @@ func TestInterfaces(t *testing.T) {
func TestValidate(t *testing.T) {
p := TOType{}
- errs := test.SortErrors(p.Validate())
- expected := test.SortErrors([]error{
+ errs := util.JoinErrsStr(test.SortErrors(test.SplitErrors(p.Validate())))
+ expected := util.JoinErrsStr(test.SortErrors([]error{
errors.New("'name' cannot be blank"),
errors.New("'description' cannot be blank"),
errors.New("'use_in_table' cannot be blank"),
- })
+ }))
if !reflect.DeepEqual(expected, errs) {
t.Errorf("expected %++v, got %++v", expected, errs)