Documentation ¶
Overview ¶
Package assertxml provides methods for testing XML values. Selecting XML values provided by XML Path Syntax.
Example usage
import ( "net/http" "net/http/httptest" "testing" "github.com/muonsoft/api-testing/assertxml" ) func TestYourAPI(t testing.TB) { recorder := httptest.NewRecorder() handler := createHTTPHandler() request, _ := http.NewRequest("GET", "/content", nil) handler.ServeHTTP(recorder, request) assertxml.Has(t, recorder.Body.Bytes(), func(xml *AssertXML) { // common assertions xml.Node("/root/stringNode").Exists() xml.Node("/root/notExistingNode").DoesNotExist() // string assertions xml.Node("/root/stringNode").EqualToTheString("stringValue") }) }
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FileHas ¶
func FileHas(t TestingT, filename string, xmlAssert XMLAssertFunc)
FileHas loads XML from file and runs user callback for testing its nodes.
func Has ¶
func Has(t TestingT, data []byte, xmlAssert XMLAssertFunc)
Has loads XML from byte slice and runs user callback for testing its nodes.
Types ¶
type AssertNode ¶
type AssertNode struct {
// contains filtered or unexported fields
}
AssertNode - structure for asserting XML node.
func (*AssertNode) DoesNotExist ¶
func (node *AssertNode) DoesNotExist(msgAndArgs ...interface{})
DoesNotExist asserts that the XML node does not exist.
func (*AssertNode) EqualToTheString ¶
func (node *AssertNode) EqualToTheString(expectedValue string, msgAndArgs ...interface{})
EqualToTheString asserts that the XML node has a string value equals to the given value.
func (*AssertNode) Exists ¶
func (node *AssertNode) Exists(msgAndArgs ...interface{})
Exists asserts that the XML node exists.
type AssertXML ¶
type AssertXML struct {
// contains filtered or unexported fields
}
AssertXML - main structure that holds parsed XML.
func (*AssertXML) Node ¶
func (x *AssertXML) Node(path string) *AssertNode
Node searches for XML node by XML Path Syntax. Returns struct for asserting the node values.
func (*AssertXML) Nodef ¶ added in v0.3.0
func (x *AssertXML) Nodef(format string, a ...interface{}) *AssertNode
Nodef searches for XML node by XML Path Syntax. Returns struct for asserting the node values. It calculates path by applying fmt.Sprintf function.
type TestingT ¶ added in v0.8.0
type TestingT interface { Helper() Error(args ...interface{}) Errorf(format string, args ...interface{}) Log(args ...interface{}) }
TestingT is an interface wrapper around *testing.T.
type XMLAssertFunc ¶
type XMLAssertFunc func(xml *AssertXML)
XMLAssertFunc - callback function used for asserting XML nodes.