Skip to content

Commit 72da4ca

Browse files
committed
Add protocol tests for list of values
1 parent 873fb9b commit 72da4ca

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

models/protocol_tests/output/rest-xml.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@
4848
},
4949
"Timestamps": {
5050
"shape": "Timestamps"
51+
},
52+
"Float64s": {
53+
"shape": "Float64s"
5154
}
5255
}
5356
},
@@ -93,6 +96,10 @@
9396
"Timestamps":{
9497
"type":"list",
9598
"member":{"shape":"TimestampType"}
99+
},
100+
"Float64s": {
101+
"type":"list",
102+
"member":{"shape":"FloatType"}
96103
}
97104
},
98105
"cases": [
@@ -162,13 +169,14 @@
162169
"name": "OperationName"
163170
},
164171
"result": {
165-
"Blobs": ["value", "value2"],
166-
"Timestamps": [1422172800, 1422172801]
172+
"Float64s": [0.1, 0.2],
173+
"Blobs": ["value", "value2"],
174+
"Timestamps": [1422172800, 1422172801]
167175
},
168176
"response": {
169177
"status_code": 200,
170178
"headers": {},
171-
"body": "<OperationNameResponse><Blobs><member>dmFsdWU=</member><member>dmFsdWUy</member></Blobs><Timestamps><member>2015-01-25T08:00:00Z</member><member>2015-01-25T08:00:01Z</member></Timestamps></OperationNameResponse>"
179+
"body": "<OperationNameResponse><Float64s><member>0.1</member><member>0.2</member></Float64s><Blobs><member>dmFsdWU=</member><member>dmFsdWUy</member></Blobs><Timestamps><member>2015-01-25T08:00:00Z</member><member>2015-01-25T08:00:01Z</member></Timestamps></OperationNameResponse>"
172180
}
173181
}
174182
]

private/protocol/restxml/unmarshal_test.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,8 @@ type OutputService1TestShapeOutputService1TestCaseOperation3Output struct {
273273

274274
Float *float64 `type:"float"`
275275

276+
Float64s []float64 `type:"list"`
277+
276278
ImaHeader *string `location:"header" type:"string"`
277279

278280
ImaHeaderLocation *string `location:"header" locationName:"X-Foo" type:"string"`
@@ -333,6 +335,18 @@ func (s OutputService1TestShapeOutputService1TestCaseOperation3Output) MarshalFi
333335
metadata := protocol.Metadata{}
334336
e.SetValue(protocol.BodyTarget, "Float", protocol.Float64Value(v), metadata)
335337
}
338+
if len(s.Float64s) > 0 {
339+
v := s.Float64s
340+
341+
metadata := protocol.Metadata{}
342+
ls0 := e.List(protocol.BodyTarget, "Float64s", metadata)
343+
ls0.Start()
344+
for _, v1 := range v {
345+
ls0.ListAddValue(protocol.Float64Value(v1))
346+
}
347+
ls0.End()
348+
349+
}
336350
if s.Long != nil {
337351
v := *s.Long
338352

@@ -2518,7 +2532,7 @@ func TestOutputService1ProtocolTestScalarMembersCase3(t *testing.T) {
25182532

25192533
svc := NewOutputService1ProtocolTest(cfg)
25202534

2521-
buf := bytes.NewReader([]byte("<OperationNameResponse><Blobs><member>dmFsdWU=</member><member>dmFsdWUy</member></Blobs><Timestamps><member>2015-01-25T08:00:00Z</member><member>2015-01-25T08:00:01Z</member></Timestamps></OperationNameResponse>"))
2535+
buf := bytes.NewReader([]byte("<OperationNameResponse><Float64s><member>0.1</member><member>0.2</member></Float64s><Blobs><member>dmFsdWU=</member><member>dmFsdWUy</member></Blobs><Timestamps><member>2015-01-25T08:00:00Z</member><member>2015-01-25T08:00:01Z</member></Timestamps></OperationNameResponse>"))
25222536
req := svc.OutputService1TestCaseOperation3Request(nil)
25232537
req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
25242538

0 commit comments

Comments
 (0)