本文整理汇总了Golang中github.com/jpfielding/gotest/testutils.Ok函数的典型用法代码示例。如果您正苦于以下问题:Golang Ok函数的具体用法?Golang Ok怎么用?Golang Ok使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Ok函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestSearchCompactParseCompact
func TestSearchCompactParseCompact(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(compactDecoded))
cr, err := NewCompactSearchResult(body)
testutils.Ok(t, err)
testutils.Assert(t, StatusOK == cr.Response.Code, "bad code")
testutils.Assert(t, "V2.7.0 2315: Success" == cr.Response.Text, "bad text")
testutils.Assert(t, 10 == int(cr.Count), "bad count")
testutils.Assert(t, 6 == len(cr.Columns), "bad header count")
testutils.Assert(t, "A,B,C,D,E,F" == strings.Join(cr.Columns, ","), "bad headers")
counter := 0
maxRows, err := cr.ForEach(func(row Row, err error) error {
if strings.Join(row, ",") != "1,2,3,4,,6" {
t.Errorf("bad row %d: %s", counter, row)
}
if err != nil {
t.Errorf("error parsing body at row %d: %s", counter, err.Error())
}
counter = counter + 1
return nil
})
testutils.Ok(t, err)
testutils.Assert(t, 8 == counter, "bad count")
testutils.Assert(t, maxRows, "bad max rows")
}
开发者ID:jpfielding,项目名称:gorets,代码行数:32,代码来源:search_compact_test.go
示例2: TestSearchXMLComplex
func TestSearchXMLComplex(t *testing.T) {
type Listing struct {
Business string `xml:"Business>RESIOWNS"`
Approved bool `xml:"Listing>Approved"`
MLS string `xml:"Listing>MLS"`
Disclaimer string `xml:"Listing>Disclaimer"`
Status string `xml:"Listing>Status"`
ListingPrice float64 `xml:"Listing>Price>ListingPrice"`
OriginalPrice float64 `xml:"Listing>Price>OriginalPrice"`
SellPrice float64 `xml:"Listing>Price>SellingPrice"`
}
body := ioutil.NopCloser(strings.NewReader(standardXML))
cr, err := NewStandardXMLSearchResult(body)
testutils.Ok(t, err)
var listings []Listing
count, maxRows, err := cr.ForEach(minidom.ByName("PropertyListing"), func(elem io.ReadCloser, err error) error {
if err != nil {
return err
}
listing := Listing{}
xml.NewDecoder(elem).Decode(&listing)
listings = append(listings, listing)
return err
})
testutils.Ok(t, err)
testutils.Equals(t, true, maxRows)
testutils.Equals(t, 10, count)
testutils.Equals(t, 2, len(listings))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:31,代码来源:search_xml_test.go
示例3: TestConvertCompactMetadata
func TestConvertCompactMetadata(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(retsStart + system + resource + class + table + lookup + lookupType + retsEnd))
compact, err := rets.ParseMetadataCompactResult(body)
testutils.Ok(t, err)
msystem, err := AsStandard(*compact).Convert()
testutils.Ok(t, err)
testutils.Equals(t, "MLS System", msystem.System.Description)
testutils.Equals(t, "1.12.30", string(msystem.Version))
testutils.Equals(t, "The System is provided to you by Systems.", msystem.System.Comments)
mresource := msystem.System.MResource
testutils.Equals(t, "1.12.30", string(mresource.Version))
testutils.Equals(t, 2, len(mresource.Resource))
mlookup := mresource.Resource[1].MLookup
testutils.Equals(t, "1.12.29", string(mlookup.Version))
testutils.Equals(t, 4, len(mlookup.Lookup))
mlookupType := mlookup.Lookup[0].MLookupType
testutils.Equals(t, "1.12.29", string(mlookupType.Version))
testutils.Equals(t, 4, len(mlookupType.LookupType))
agent := mresource.Resource[1]
testutils.Equals(t, 2, len(agent.MClass.Class))
testutils.Equals(t, "Agent", string(agent.ResourceID))
testutils.Equals(t, "1.12.29", string(agent.MClass.Version))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:30,代码来源:metadata_conversion_test.go
示例4: TestParseCompactData
func TestParseCompactData(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(compact))
decoder := DefaultXMLDecoder(body, false)
token, err := decoder.Token()
testutils.Ok(t, err)
start, ok := token.(xml.StartElement)
testutils.Assert(t, ok, "should be a start element")
testutils.Equals(t, "METADATA-ELEMENT", start.Name.Local)
cm, err := NewCompactData(start, decoder, " ")
testutils.Ok(t, err)
testutils.Equals(t, "METADATA-ELEMENT", cm.Element)
testutils.Equals(t, "Dog", cm.Attr["Cat"])
testutils.Equals(t, 2, len(cm.CompactRows))
testutils.Equals(t, 2, len(cm.Columns()))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:15,代码来源:compact_test.go
示例5: TestSimple
func TestSimple(t *testing.T) {
doms := ioutil.NopCloser(strings.NewReader(example))
parser := xml.NewDecoder(doms)
listings := Listings{}
// minidom isnt necessary but its crazy useful for massive streams
md := minidom.MiniDom{
StartFunc: func(start xml.StartElement) {
switch start.Name.Local {
case "Listings":
attrs := map[string]string{}
for _, v := range start.Attr {
attrs[v.Name.Local] = v.Value
}
listings.ListingsKey = attrs["listingsKey"]
listings.Version = attrs["version"]
listings.VersionTimestamp = attrs["versionTimestamp"]
listings.Language = attrs["lang"]
case "Disclaimer":
parser.DecodeElement(listings.Disclaimer, &start)
}
},
// quit on the the xml tag
EndFunc: minidom.QuitAt("Listings"),
}
err := md.Walk(parser, minidom.ByName("Listing"), ToListing(func(l Listing, err error) error {
listings.Listings = append(listings.Listings, l)
return err
}))
testutils.Ok(t, err)
testutils.Equals(t, 1, len(listings.Listings))
testutils.Equals(t, "http://www.somemls.com/lisings/1234567890", listings.Listings[0].ListingURL)
testutils.Equals(t, "New Light Fixtures", *listings.Listings[0].Photos[1].Caption)
testutils.Equals(t, "1100.0", listings.Listings[0].Expenses[2].Value.Value)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:34,代码来源:syndication_test.go
示例6: TestParseClass
func TestParseClass(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(retsStart + class + retsEnd))
ms, err := ParseMetadataCompactResult(body)
testutils.Ok(t, err)
verifyParseClass(t, *ms)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:7,代码来源:metadata_compact_test.go
示例7: TestSearchXML
func TestSearchXML(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(standardXML))
cr, err := NewStandardXMLSearchResult(body)
testutils.Ok(t, err)
var listings []io.ReadCloser
count, maxRows, err := cr.ForEach(minidom.ByName("PropertyListing"), func(elem io.ReadCloser, err error) error {
listings = append(listings, elem)
return err
})
testutils.Ok(t, err)
testutils.Equals(t, true, maxRows)
testutils.Equals(t, 10, count)
testutils.Equals(t, 2, len(listings))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:16,代码来源:search_xml_test.go
示例8: TestSearchCompactNoEof
func TestSearchCompactNoEof(t *testing.T) {
rets := `<RETS ReplyCode="20201" ReplyText="No Records Found." ></RETS>`
body := ioutil.NopCloser(strings.NewReader(rets))
cr, err := NewCompactSearchResult(body)
testutils.Ok(t, err)
testutils.Equals(t, StatusNoRecords, cr.Response.Code)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:8,代码来源:search_compact_test.go
示例9: TestSystem
func TestSystem(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(raw))
defer body.Close()
extractor := &Extractor{Body: body}
response, err := extractor.Open()
testutils.Ok(t, err)
testutils.Equals(t, "Operation Successful", response.ReplyText)
xml := MSystem{}
err = extractor.DecodeNext("METADATA-SYSTEM", &xml)
if err != io.EOF {
testutils.Ok(t, err)
}
testutils.Equals(t, "ABBA", xml.System.ID)
testutils.Equals(t, "Property", string(xml.System.MResource.Resource[0].ResourceID))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:18,代码来源:system_test.go
示例10: TestCompactEntry
func TestCompactEntry(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(compact))
decoder := DefaultXMLDecoder(body, false)
token, err := decoder.Token()
testutils.Ok(t, err)
start, ok := token.(xml.StartElement)
testutils.Assert(t, ok, "should be a start element")
cm, err := NewCompactData(start, decoder, " ")
testutils.Ok(t, err)
type Test struct {
ResourceID, Standardname string
}
row1 := Test{}
maps := cm.Entries()
maps[0].SetFields(&row1)
testutils.Equals(t, "ActiveAgent", row1.ResourceID)
testutils.Equals(t, "ActiveAgent", row1.Standardname)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:18,代码来源:compact_test.go
示例11: TestSearchCompactEmbeddedRetsStatus
func TestSearchCompactEmbeddedRetsStatus(t *testing.T) {
rets := `<?xml version="1.0" encoding="UTF-8" ?>
<RETS ReplyCode="0" ReplyText="Operation Successful">
<RETS-STATUS ReplyCode="20201" ReplyText="No matching records were found" />
</RETS>`
body := ioutil.NopCloser(strings.NewReader(rets))
cr, err := NewCompactSearchResult(body)
testutils.Ok(t, err)
testutils.Equals(t, StatusNoRecords, cr.Response.Code)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:10,代码来源:search_compact_test.go
示例12: TestParseMetadata
func TestParseMetadata(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(retsStart + system + resource + class + table + lookup + lookupType + retsEnd))
ms, err := ParseMetadataCompactResult(body)
testutils.Ok(t, err)
verifySystem(t, *ms)
verifyParseResources(t, *ms)
verifyParseClass(t, *ms)
verifyParseTable(t, *ms)
verifyParseLookup(t, *ms)
verifyParseLookupType(t, *ms)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:12,代码来源:metadata_compact_test.go
示例13: TestNext
func TestNext(t *testing.T) {
var raw = `<?xml version="1.0" encoding="utf-8"?>
<RETS ReplyCode="0" ReplyText="Operation successful.">
<METADATA>
<METADATA-CLASS Version="01.72.11582" Date="2016-03-29T21:50:11" Resource="Agent">
</METADATA-CLASS>
<METADATA-CLASS Version="01.72.11583" Date="2016-03-29T21:50:11" Resource="Office">
</METADATA-CLASS>
<METADATA-CLASS Version="01.72.11584" Date="2016-03-29T21:50:11" Resource="Listing">
</METADATA-CLASS>
</METADATA>
</RETS>`
body := ioutil.NopCloser(strings.NewReader(raw))
defer body.Close()
extractor := &Extractor{Body: body}
response, err := extractor.Open()
testutils.Ok(t, err)
testutils.Equals(t, "Operation successful.", response.ReplyText)
next := func(resource, version, date string) func(*testing.T) {
return func(tt *testing.T) {
mclass := &MClass{}
err = extractor.DecodeNext("METADATA-CLASS", mclass)
testutils.Ok(t, err)
testutils.Equals(tt, resource, string(mclass.Resource))
testutils.Equals(tt, version, string(mclass.Version))
testutils.Equals(tt, date, string(mclass.Date))
testutils.Equals(tt, 0, len(mclass.Class))
}
}
t.Run("agent", next("Agent", "01.72.11582", "2016-03-29T21:50:11"))
t.Run("offfice", next("Office", "01.72.11583", "2016-03-29T21:50:11"))
t.Run("listing", next("Listing", "01.72.11584", "2016-03-29T21:50:11"))
err = extractor.DecodeNext("METADATA-CLASS", &MClass{})
testutils.Equals(t, io.EOF, err)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:40,代码来源:extract_test.go
示例14: TestSearchCompactBadChar
func TestSearchCompactBadChar(t *testing.T) {
rets := `<?xml version="1.0" encoding="UTF-8" ?>
<RETS ReplyCode="0" ReplyText="Operation Successful">
<COUNT Records="1" />
<DELIMITER value = "09"/>
<COLUMNS> A B C D E F </COLUMNS>
<DATA> 1` + "\x0b" + `1 2 3 4 6 </DATA>
</RETS>`
body := ioutil.NopCloser(strings.NewReader(rets))
cr, err := NewCompactSearchResult(body)
testutils.Ok(t, err)
testutils.Equals(t, StatusOK, cr.Response.Code)
counter := 0
cr.ForEach(func(row Row, err error) error {
testutils.Ok(t, err)
testutils.Equals(t, "1 1,2,3,4,,6", strings.Join(row, ","))
counter = counter + 1
return nil
})
}
开发者ID:jpfielding,项目名称:gorets,代码行数:22,代码来源:search_compact_test.go
示例15: TestSearchXMLBadChar
func TestSearchXMLBadChar(t *testing.T) {
type Listing struct {
Row string
}
rets := `<?xml version="1.0" encoding="UTF-8" ?>
<RETS ReplyCode="0" ReplyText="Operation Successful">
<COUNT Records="5" />
<Listings>
<PropertyListing>
<Row>bad` + "\x0b" + `row</Row>
</PropertyListing>
<PropertyListing>
<Row>good row</Row>
</PropertyListing>
</Listings>
<MAXROWS/>
</RETS>`
body := ioutil.NopCloser(strings.NewReader(rets))
cr, err := NewStandardXMLSearchResult(body)
testutils.Ok(t, err)
testutils.Equals(t, StatusOK, cr.Response.Code)
var listings []Listing
count, maxRows, err := cr.ForEach(minidom.ByName("PropertyListing"), func(elem io.ReadCloser, err error) error {
listing := Listing{}
xml.NewDecoder(elem).Decode(&listing)
listings = append(listings, listing)
return err
})
testutils.Ok(t, err)
testutils.Equals(t, true, maxRows)
testutils.Equals(t, 5, count)
testutils.Equals(t, 2, len(listings))
testutils.Equals(t, "bad row", listings[0].Row)
testutils.Equals(t, "good row", listings[1].Row)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:36,代码来源:search_xml_test.go
示例16: TestLoad
func TestLoad(t *testing.T) {
body := ioutil.NopCloser(strings.NewReader(raw))
defer body.Close()
parser := xml.NewDecoder(body)
xml := RETSResponseWrapper{}
err := parser.Decode(&xml)
if err != io.EOF {
testutils.Ok(t, err)
}
testutils.Equals(t, "Operation Successful", xml.ReplyText)
testutils.Equals(t, "ABBA", xml.Metadata.MSystem.System.ID)
testutils.Equals(t, "Property", string(xml.Metadata.MSystem.System.MResource.Resource[0].ResourceID))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:15,代码来源:system_test.go
示例17: TestSearchXMLParseSearchQuit
func TestSearchXMLParseSearchQuit(t *testing.T) {
noEnd := strings.Split(standardXML, "Commercial")[0]
body := ioutil.NopCloser(strings.NewReader(noEnd))
cr, err := NewStandardXMLSearchResult(body)
testutils.Ok(t, err)
var listings [][]byte
count, maxRows, err := cr.ForEach(minidom.ByName("PropertyListing"), func(elem io.ReadCloser, err error) error {
tmp, _ := ioutil.ReadAll(elem)
listings = append(listings, tmp)
return err
})
testutils.NotOk(t, err)
testutils.Equals(t, false, maxRows)
testutils.Equals(t, 10, count)
testutils.Equals(t, 1, len(listings))
}
开发者ID:jpfielding,项目名称:gorets,代码行数:18,代码来源:search_xml_test.go
示例18: TestSearchCompactParseSearchQuit
func TestSearchCompactParseSearchQuit(t *testing.T) {
noEnd := strings.Split(compactDecoded, "<MAXROWS/>")[0]
body := ioutil.NopCloser(strings.NewReader(noEnd))
cr, err := NewCompactSearchResult(body)
testutils.Ok(t, err)
rowsFound := 0
cr.ForEach(func(data Row, err error) error {
if err != nil {
testutils.Assert(t, strings.Contains(err.Error(), "EOF"), "found something not eof")
return err
}
testutils.Equals(t, "1,2,3,4,,6", strings.Join(data, ","))
rowsFound++
return nil
})
testutils.Equals(t, 8, rowsFound)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:19,代码来源:search_compact_test.go
示例19: TestGetObject
func TestGetObject(t *testing.T) {
header := http.Header{}
textproto.MIMEHeader(header).Add("Content-Type", "image/jpeg")
textproto.MIMEHeader(header).Add("Content-ID", "123456")
textproto.MIMEHeader(header).Add("Object-ID", "1")
textproto.MIMEHeader(header).Add("Preferred", "1")
textproto.MIMEHeader(header).Add("UID", "1a234234234")
textproto.MIMEHeader(header).Add("Content-Description", "Outhouse")
textproto.MIMEHeader(header).Add("Content-Sub-Description", "The urinal")
textproto.MIMEHeader(header).Add("Location", "http://www.simpleboundary.com/image-5.jpg")
var body = `<binary data 1>`
response := GetObjectResponse{
response: &http.Response{
Header: header,
Body: ioutil.NopCloser(strings.NewReader(body)),
},
}
defer response.Close()
var objects []*Object
err := response.ForEach(func(o *Object, err error) error {
objects = append(objects, o)
return nil
})
testutils.Ok(t, err)
testutils.Equals(t, 1, len(objects))
o := objects[0]
testutils.Equals(t, true, o.Preferred)
testutils.Equals(t, "image/jpeg", o.ContentType)
testutils.Equals(t, "123456", o.ContentID)
testutils.Equals(t, 1, o.ObjectID)
testutils.Equals(t, "1a234234234", o.UID)
testutils.Equals(t, "Outhouse", o.Description)
testutils.Equals(t, "The urinal", o.SubDescription)
testutils.Equals(t, "<binary data 1>", string(o.Blob))
testutils.Equals(t, "http://www.simpleboundary.com/image-5.jpg", o.Location)
testutils.Equals(t, false, o.RetsError)
}
开发者ID:jpfielding,项目名称:gorets,代码行数:41,代码来源:getobject_test.go
示例20: TestParseCapabilitiesRelativeUrls
func TestParseCapabilitiesRelativeUrls(t *testing.T) {
body :=
`<RETS ReplyCode="0" ReplyText="V2.7.0 2315: Success">
<RETS-RESPONSE>
MemberName=Threewide Corporation
User=2000343, Association Member Primary:Login:Media Restrictions:Office:RETS:RETS Advanced:RETS Customer:System-MRIS:MDS Access Common:MDS Application Login, 90, TURD1
Broker=TWD,1
MetadataVersion=1.12.30
MinMetadataVersion=1.1.1
OfficeList=TWD;1
TimeoutSeconds=1800
Login=/platinum/login
Action=/platinum/get?Command=Message
Search=/platinum/search
Get=/platinum/get
GetObject=/platinum/getobject
Logout=/platinum/logout
GetMetadata=/platinum/getmetadata
ChangePassword=/platinum/changepassword
X-SampleLinks=/rets2_2/Links
X-SupportSite=http://flexmls.com/rets/
X-NotificationFeed=http://example.com/atom/feed/private/atom.xml
</RETS-RESPONSE>
</RETS>`
urls, err := parseCapability(
ioutil.NopCloser(strings.NewReader(body)),
"http://server.com:6103/platinum/login",
)
testutils.Ok(t, err)
testutils.Equals(t, urls.Response.Text, "V2.7.0 2315: Success")
testutils.Equals(t, urls.Response.Code, StatusOK)
testutils.Equals(t, urls.Login, "http://server.com:6103/platinum/login")
testutils.Equals(t, urls.GetMetadata, "http://server.com:6103/platinum/getmetadata")
testutils.Equals(t, "http://server.com:6103/rets2_2/Links", urls.AdditionalURLs["X-SampleLinks"])
}
开发者ID:jpfielding,项目名称:gorets,代码行数:36,代码来源:login_test.go
注:本文中的github.com/jpfielding/gotest/testutils.Ok函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论