From bf8f5f3b19263bb178b0bec131dc574d470666f7 Mon Sep 17 00:00:00 2001 From: Igor Lazarev Date: Tue, 11 Feb 2025 20:53:05 +0300 Subject: [PATCH] Revert "Return a bool value from the assertjson and assertxml Has and FileHas functions" --- apitest/testing.go | 1 - assertions/testing.go | 1 - assertjson/assertjson.go | 26 ++++++++------------------ assertjson/assertjson_test.go | 10 +++------- assertxml/assertxml.go | 20 ++++++-------------- assertxml/testing.go | 1 - internal/mock/tester.go | 8 -------- 7 files changed, 17 insertions(+), 50 deletions(-) diff --git a/apitest/testing.go b/apitest/testing.go index 59f0a46..1380061 100644 --- a/apitest/testing.go +++ b/apitest/testing.go @@ -6,5 +6,4 @@ type TestingT interface { Error(args ...interface{}) Errorf(format string, args ...interface{}) Log(args ...interface{}) - Failed() bool } diff --git a/assertions/testing.go b/assertions/testing.go index 6ede03a..9c3e590 100644 --- a/assertions/testing.go +++ b/assertions/testing.go @@ -6,5 +6,4 @@ type TestingT interface { Error(args ...interface{}) Errorf(format string, args ...interface{}) Log(args ...interface{}) - Failed() bool } diff --git a/assertjson/assertjson.go b/assertjson/assertjson.go index dc610c2..01922f1 100644 --- a/assertjson/assertjson.go +++ b/assertjson/assertjson.go @@ -19,7 +19,6 @@ type TestingT interface { Helper() Errorf(format string, args ...interface{}) Log(args ...interface{}) - Failed() bool } // AssertJSON - main structure that holds parsed JSON. @@ -38,26 +37,21 @@ func NewAssertJSON(t TestingT, message string, data interface{}) *AssertJSON { type JSONAssertFunc func(json *AssertJSON) // FileHas loads JSON from file and runs user callback for testing its nodes. -// Returns false if assertion has failed. -func FileHas(t TestingT, filename string, jsonAssert JSONAssertFunc) bool { +func FileHas(t TestingT, filename string, jsonAssert JSONAssertFunc) { t.Helper() - data, err := ioutil.ReadFile(filename) if err != nil { assert.Fail(t, fmt.Sprintf(`failed to read file "%s": %s`, filename, err.Error())) - - return false + } else { + Has(t, data, jsonAssert) } - - return Has(t, data, jsonAssert) } // Has - loads JSON from byte slice and runs user callback for testing its nodes. -// Returns false if assertion has failed. -func Has(t TestingT, data []byte, jsonAssert JSONAssertFunc) bool { +func Has(t TestingT, data []byte, jsonAssert JSONAssertFunc) { t.Helper() body := &AssertJSON{t: t} - return body.assert(data, jsonAssert) + body.assert(data, jsonAssert) } // Node searches for JSON node by JSON Path Syntax. Returns struct for asserting the node values. @@ -114,18 +108,14 @@ func (j *AssertJSON) Atf(format string, a ...interface{}) *AssertJSON { return j.At(fmt.Sprintf(format, a...)) } -func (j *AssertJSON) assert(data []byte, jsonAssert JSONAssertFunc) bool { +func (j *AssertJSON) assert(data []byte, jsonAssert JSONAssertFunc) { j.t.Helper() err := json.Unmarshal(data, &j.data) if err != nil { j.fail(fmt.Sprintf("data has invalid JSON: %s", err.Error())) - - return false + } else { + jsonAssert(j) } - - jsonAssert(j) - - return !j.t.Failed() } func (j *AssertJSON) fail(message string, msgAndArgs ...interface{}) { diff --git a/assertjson/assertjson_test.go b/assertjson/assertjson_test.go index 3d34369..af0ecd5 100644 --- a/assertjson/assertjson_test.go +++ b/assertjson/assertjson_test.go @@ -16,7 +16,7 @@ import ( ) func TestFileHas(t *testing.T) { - res := assertjson.FileHas(t, "./../test/testdata/object.json", func(json *assertjson.AssertJSON) { + assertjson.FileHas(t, "./../test/testdata/object.json", func(json *assertjson.AssertJSON) { // common assertions json.Node("nullNode").Exists() json.Node("notExistingNode").DoesNotExist() @@ -244,8 +244,6 @@ func TestFileHas(t *testing.T) { // debug helpers json.Node("bookstore", "books", 1).Print() }) - - assert.True(t, res) } func TestHas(t *testing.T) { @@ -2789,10 +2787,9 @@ func TestHas(t *testing.T) { t.Run(test.name, func(t *testing.T) { tester := &mock.Tester{} - res := assertjson.Has(tester, []byte(test.json), test.assert) + assertjson.Has(tester, []byte(test.json), test.assert) tester.AssertContains(t, test.wantMessages) - assert.False(t, res) }) } } @@ -2810,12 +2807,11 @@ func TestAssertNode_Exists(t *testing.T) { tester := &mock.Tester{} var got bool - res := assertjson.Has(tester, []byte(test.json), func(json *assertjson.AssertJSON) { + assertjson.Has(tester, []byte(test.json), func(json *assertjson.AssertJSON) { got = json.Node("key").Exists() }) assert.Equal(t, test.want, got) - assert.Equal(t, test.want, res) }) } } diff --git a/assertxml/assertxml.go b/assertxml/assertxml.go index 4a7ddff..c81c742 100644 --- a/assertxml/assertxml.go +++ b/assertxml/assertxml.go @@ -54,22 +54,18 @@ type AssertNode struct { type XMLAssertFunc func(xml *AssertXML) // FileHas loads XML from file and runs user callback for testing its nodes. -// Returns false if assertion has failed. -func FileHas(t TestingT, filename string, xmlAssert XMLAssertFunc) bool { +func FileHas(t TestingT, filename string, xmlAssert XMLAssertFunc) { t.Helper() data, err := ioutil.ReadFile(filename) if err != nil { assert.Failf(t, "failed to read file '%s': %s", filename, err.Error()) - - return false + } else { + Has(t, data, xmlAssert) } - - return Has(t, data, xmlAssert) } // Has loads XML from byte slice and runs user callback for testing its nodes. -// Returns false if assertion has failed. -func Has(t TestingT, data []byte, xmlAssert XMLAssertFunc) bool { +func Has(t TestingT, data []byte, xmlAssert XMLAssertFunc) { t.Helper() xml, err := xmlpath.Parse(bytes.NewReader(data)) body := &AssertXML{ @@ -78,13 +74,9 @@ func Has(t TestingT, data []byte, xmlAssert XMLAssertFunc) bool { } if err != nil { assert.Failf(t, "data has invalid XML: %s", err.Error()) - - return false + } else { + xmlAssert(body) } - - xmlAssert(body) - - return !t.Failed() } // Node searches for XML node by XML Path Syntax. Returns struct for asserting the node values. diff --git a/assertxml/testing.go b/assertxml/testing.go index c039372..5632320 100644 --- a/assertxml/testing.go +++ b/assertxml/testing.go @@ -6,5 +6,4 @@ type TestingT interface { Error(args ...interface{}) Errorf(format string, args ...interface{}) Log(args ...interface{}) - Failed() bool } diff --git a/internal/mock/tester.go b/internal/mock/tester.go index 4c23210..1b958ec 100644 --- a/internal/mock/tester.go +++ b/internal/mock/tester.go @@ -7,24 +7,20 @@ import ( ) type Tester struct { - failed bool messages []string } func (tester *Tester) Helper() {} func (tester *Tester) Error(args ...interface{}) { - tester.failed = true tester.messages = append(tester.messages, fmt.Sprint(args...)) } func (tester *Tester) Errorf(format string, args ...interface{}) { - tester.failed = true tester.messages = append(tester.messages, fmt.Sprintf(format, args...)) } func (tester *Tester) Fatal(args ...interface{}) { - tester.failed = true tester.messages = append(tester.messages, fmt.Sprint(args...)) } @@ -32,10 +28,6 @@ func (tester *Tester) Log(args ...interface{}) { tester.messages = append(tester.messages, fmt.Sprint(args...)) } -func (tester *Tester) Failed() bool { - return tester.failed -} - func (tester *Tester) AssertContains(t *testing.T, messages []string) { t.Helper() if len(tester.messages) != len(messages) {