unmarshal_test.go 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338
  1. package restxml_test
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "encoding/xml"
  6. "io"
  7. "io/ioutil"
  8. "net/http"
  9. "net/url"
  10. "testing"
  11. "time"
  12. "github.com/aws/aws-sdk-go/aws"
  13. "github.com/aws/aws-sdk-go/aws/defaults"
  14. "github.com/aws/aws-sdk-go/aws/request"
  15. "github.com/aws/aws-sdk-go/aws/service"
  16. "github.com/aws/aws-sdk-go/aws/service/serviceinfo"
  17. "github.com/aws/aws-sdk-go/internal/protocol/restxml"
  18. "github.com/aws/aws-sdk-go/internal/protocol/xml/xmlutil"
  19. "github.com/aws/aws-sdk-go/internal/signer/v4"
  20. "github.com/aws/aws-sdk-go/internal/util"
  21. "github.com/stretchr/testify/assert"
  22. )
  23. var _ bytes.Buffer // always import bytes
  24. var _ http.Request
  25. var _ json.Marshaler
  26. var _ time.Time
  27. var _ xmlutil.XMLNode
  28. var _ xml.Attr
  29. var _ = ioutil.Discard
  30. var _ = util.Trim("")
  31. var _ = url.Values{}
  32. var _ = io.EOF
  33. type OutputService1ProtocolTest struct {
  34. *service.Service
  35. }
  36. // New returns a new OutputService1ProtocolTest client.
  37. func NewOutputService1ProtocolTest(config *aws.Config) *OutputService1ProtocolTest {
  38. service := &service.Service{
  39. ServiceInfo: serviceinfo.ServiceInfo{
  40. Config: defaults.DefaultConfig.Merge(config),
  41. ServiceName: "outputservice1protocoltest",
  42. APIVersion: "",
  43. },
  44. }
  45. service.Initialize()
  46. // Handlers
  47. service.Handlers.Sign.PushBack(v4.Sign)
  48. service.Handlers.Build.PushBack(restxml.Build)
  49. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  50. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  51. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  52. return &OutputService1ProtocolTest{service}
  53. }
  54. // newRequest creates a new request for a OutputService1ProtocolTest operation and runs any
  55. // custom request initialization.
  56. func (c *OutputService1ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  57. req := c.NewRequest(op, params, data)
  58. return req
  59. }
  60. const opOutputService1TestCaseOperation1 = "OperationName"
  61. // OutputService1TestCaseOperation1Request generates a request for the OutputService1TestCaseOperation1 operation.
  62. func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1Request(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (req *request.Request, output *OutputService1TestShapeOutputShape) {
  63. op := &request.Operation{
  64. Name: opOutputService1TestCaseOperation1,
  65. }
  66. if input == nil {
  67. input = &OutputService1TestShapeOutputService1TestCaseOperation1Input{}
  68. }
  69. req = c.newRequest(op, input, output)
  70. output = &OutputService1TestShapeOutputShape{}
  71. req.Data = output
  72. return
  73. }
  74. func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation1(input *OutputService1TestShapeOutputService1TestCaseOperation1Input) (*OutputService1TestShapeOutputShape, error) {
  75. req, out := c.OutputService1TestCaseOperation1Request(input)
  76. err := req.Send()
  77. return out, err
  78. }
  79. const opOutputService1TestCaseOperation2 = "OperationName"
  80. // OutputService1TestCaseOperation2Request generates a request for the OutputService1TestCaseOperation2 operation.
  81. func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation2Request(input *OutputService1TestShapeOutputService1TestCaseOperation2Input) (req *request.Request, output *OutputService1TestShapeOutputShape) {
  82. op := &request.Operation{
  83. Name: opOutputService1TestCaseOperation2,
  84. }
  85. if input == nil {
  86. input = &OutputService1TestShapeOutputService1TestCaseOperation2Input{}
  87. }
  88. req = c.newRequest(op, input, output)
  89. output = &OutputService1TestShapeOutputShape{}
  90. req.Data = output
  91. return
  92. }
  93. func (c *OutputService1ProtocolTest) OutputService1TestCaseOperation2(input *OutputService1TestShapeOutputService1TestCaseOperation2Input) (*OutputService1TestShapeOutputShape, error) {
  94. req, out := c.OutputService1TestCaseOperation2Request(input)
  95. err := req.Send()
  96. return out, err
  97. }
  98. type OutputService1TestShapeOutputService1TestCaseOperation1Input struct {
  99. metadataOutputService1TestShapeOutputService1TestCaseOperation1Input `json:"-" xml:"-"`
  100. }
  101. type metadataOutputService1TestShapeOutputService1TestCaseOperation1Input struct {
  102. SDKShapeTraits bool `type:"structure"`
  103. }
  104. type OutputService1TestShapeOutputService1TestCaseOperation2Input struct {
  105. metadataOutputService1TestShapeOutputService1TestCaseOperation2Input `json:"-" xml:"-"`
  106. }
  107. type metadataOutputService1TestShapeOutputService1TestCaseOperation2Input struct {
  108. SDKShapeTraits bool `type:"structure"`
  109. }
  110. type OutputService1TestShapeOutputShape struct {
  111. Char *string `type:"character"`
  112. Double *float64 `type:"double"`
  113. FalseBool *bool `type:"boolean"`
  114. Float *float64 `type:"float"`
  115. ImaHeader *string `location:"header" type:"string"`
  116. ImaHeaderLocation *string `location:"header" locationName:"X-Foo" type:"string"`
  117. Long *int64 `type:"long"`
  118. Num *int64 `locationName:"FooNum" type:"integer"`
  119. Str *string `type:"string"`
  120. Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  121. TrueBool *bool `type:"boolean"`
  122. metadataOutputService1TestShapeOutputShape `json:"-" xml:"-"`
  123. }
  124. type metadataOutputService1TestShapeOutputShape struct {
  125. SDKShapeTraits bool `type:"structure"`
  126. }
  127. type OutputService2ProtocolTest struct {
  128. *service.Service
  129. }
  130. // New returns a new OutputService2ProtocolTest client.
  131. func NewOutputService2ProtocolTest(config *aws.Config) *OutputService2ProtocolTest {
  132. service := &service.Service{
  133. ServiceInfo: serviceinfo.ServiceInfo{
  134. Config: defaults.DefaultConfig.Merge(config),
  135. ServiceName: "outputservice2protocoltest",
  136. APIVersion: "",
  137. },
  138. }
  139. service.Initialize()
  140. // Handlers
  141. service.Handlers.Sign.PushBack(v4.Sign)
  142. service.Handlers.Build.PushBack(restxml.Build)
  143. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  144. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  145. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  146. return &OutputService2ProtocolTest{service}
  147. }
  148. // newRequest creates a new request for a OutputService2ProtocolTest operation and runs any
  149. // custom request initialization.
  150. func (c *OutputService2ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  151. req := c.NewRequest(op, params, data)
  152. return req
  153. }
  154. const opOutputService2TestCaseOperation1 = "OperationName"
  155. // OutputService2TestCaseOperation1Request generates a request for the OutputService2TestCaseOperation1 operation.
  156. func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1Request(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (req *request.Request, output *OutputService2TestShapeOutputService2TestCaseOperation1Output) {
  157. op := &request.Operation{
  158. Name: opOutputService2TestCaseOperation1,
  159. }
  160. if input == nil {
  161. input = &OutputService2TestShapeOutputService2TestCaseOperation1Input{}
  162. }
  163. req = c.newRequest(op, input, output)
  164. output = &OutputService2TestShapeOutputService2TestCaseOperation1Output{}
  165. req.Data = output
  166. return
  167. }
  168. func (c *OutputService2ProtocolTest) OutputService2TestCaseOperation1(input *OutputService2TestShapeOutputService2TestCaseOperation1Input) (*OutputService2TestShapeOutputService2TestCaseOperation1Output, error) {
  169. req, out := c.OutputService2TestCaseOperation1Request(input)
  170. err := req.Send()
  171. return out, err
  172. }
  173. type OutputService2TestShapeOutputService2TestCaseOperation1Input struct {
  174. metadataOutputService2TestShapeOutputService2TestCaseOperation1Input `json:"-" xml:"-"`
  175. }
  176. type metadataOutputService2TestShapeOutputService2TestCaseOperation1Input struct {
  177. SDKShapeTraits bool `type:"structure"`
  178. }
  179. type OutputService2TestShapeOutputService2TestCaseOperation1Output struct {
  180. Blob []byte `type:"blob"`
  181. metadataOutputService2TestShapeOutputService2TestCaseOperation1Output `json:"-" xml:"-"`
  182. }
  183. type metadataOutputService2TestShapeOutputService2TestCaseOperation1Output struct {
  184. SDKShapeTraits bool `type:"structure"`
  185. }
  186. type OutputService3ProtocolTest struct {
  187. *service.Service
  188. }
  189. // New returns a new OutputService3ProtocolTest client.
  190. func NewOutputService3ProtocolTest(config *aws.Config) *OutputService3ProtocolTest {
  191. service := &service.Service{
  192. ServiceInfo: serviceinfo.ServiceInfo{
  193. Config: defaults.DefaultConfig.Merge(config),
  194. ServiceName: "outputservice3protocoltest",
  195. APIVersion: "",
  196. },
  197. }
  198. service.Initialize()
  199. // Handlers
  200. service.Handlers.Sign.PushBack(v4.Sign)
  201. service.Handlers.Build.PushBack(restxml.Build)
  202. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  203. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  204. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  205. return &OutputService3ProtocolTest{service}
  206. }
  207. // newRequest creates a new request for a OutputService3ProtocolTest operation and runs any
  208. // custom request initialization.
  209. func (c *OutputService3ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  210. req := c.NewRequest(op, params, data)
  211. return req
  212. }
  213. const opOutputService3TestCaseOperation1 = "OperationName"
  214. // OutputService3TestCaseOperation1Request generates a request for the OutputService3TestCaseOperation1 operation.
  215. func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1Request(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (req *request.Request, output *OutputService3TestShapeOutputService3TestCaseOperation1Output) {
  216. op := &request.Operation{
  217. Name: opOutputService3TestCaseOperation1,
  218. }
  219. if input == nil {
  220. input = &OutputService3TestShapeOutputService3TestCaseOperation1Input{}
  221. }
  222. req = c.newRequest(op, input, output)
  223. output = &OutputService3TestShapeOutputService3TestCaseOperation1Output{}
  224. req.Data = output
  225. return
  226. }
  227. func (c *OutputService3ProtocolTest) OutputService3TestCaseOperation1(input *OutputService3TestShapeOutputService3TestCaseOperation1Input) (*OutputService3TestShapeOutputService3TestCaseOperation1Output, error) {
  228. req, out := c.OutputService3TestCaseOperation1Request(input)
  229. err := req.Send()
  230. return out, err
  231. }
  232. type OutputService3TestShapeOutputService3TestCaseOperation1Input struct {
  233. metadataOutputService3TestShapeOutputService3TestCaseOperation1Input `json:"-" xml:"-"`
  234. }
  235. type metadataOutputService3TestShapeOutputService3TestCaseOperation1Input struct {
  236. SDKShapeTraits bool `type:"structure"`
  237. }
  238. type OutputService3TestShapeOutputService3TestCaseOperation1Output struct {
  239. ListMember []*string `type:"list"`
  240. metadataOutputService3TestShapeOutputService3TestCaseOperation1Output `json:"-" xml:"-"`
  241. }
  242. type metadataOutputService3TestShapeOutputService3TestCaseOperation1Output struct {
  243. SDKShapeTraits bool `type:"structure"`
  244. }
  245. type OutputService4ProtocolTest struct {
  246. *service.Service
  247. }
  248. // New returns a new OutputService4ProtocolTest client.
  249. func NewOutputService4ProtocolTest(config *aws.Config) *OutputService4ProtocolTest {
  250. service := &service.Service{
  251. ServiceInfo: serviceinfo.ServiceInfo{
  252. Config: defaults.DefaultConfig.Merge(config),
  253. ServiceName: "outputservice4protocoltest",
  254. APIVersion: "",
  255. },
  256. }
  257. service.Initialize()
  258. // Handlers
  259. service.Handlers.Sign.PushBack(v4.Sign)
  260. service.Handlers.Build.PushBack(restxml.Build)
  261. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  262. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  263. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  264. return &OutputService4ProtocolTest{service}
  265. }
  266. // newRequest creates a new request for a OutputService4ProtocolTest operation and runs any
  267. // custom request initialization.
  268. func (c *OutputService4ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  269. req := c.NewRequest(op, params, data)
  270. return req
  271. }
  272. const opOutputService4TestCaseOperation1 = "OperationName"
  273. // OutputService4TestCaseOperation1Request generates a request for the OutputService4TestCaseOperation1 operation.
  274. func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1Request(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (req *request.Request, output *OutputService4TestShapeOutputService4TestCaseOperation1Output) {
  275. op := &request.Operation{
  276. Name: opOutputService4TestCaseOperation1,
  277. }
  278. if input == nil {
  279. input = &OutputService4TestShapeOutputService4TestCaseOperation1Input{}
  280. }
  281. req = c.newRequest(op, input, output)
  282. output = &OutputService4TestShapeOutputService4TestCaseOperation1Output{}
  283. req.Data = output
  284. return
  285. }
  286. func (c *OutputService4ProtocolTest) OutputService4TestCaseOperation1(input *OutputService4TestShapeOutputService4TestCaseOperation1Input) (*OutputService4TestShapeOutputService4TestCaseOperation1Output, error) {
  287. req, out := c.OutputService4TestCaseOperation1Request(input)
  288. err := req.Send()
  289. return out, err
  290. }
  291. type OutputService4TestShapeOutputService4TestCaseOperation1Input struct {
  292. metadataOutputService4TestShapeOutputService4TestCaseOperation1Input `json:"-" xml:"-"`
  293. }
  294. type metadataOutputService4TestShapeOutputService4TestCaseOperation1Input struct {
  295. SDKShapeTraits bool `type:"structure"`
  296. }
  297. type OutputService4TestShapeOutputService4TestCaseOperation1Output struct {
  298. ListMember []*string `locationNameList:"item" type:"list"`
  299. metadataOutputService4TestShapeOutputService4TestCaseOperation1Output `json:"-" xml:"-"`
  300. }
  301. type metadataOutputService4TestShapeOutputService4TestCaseOperation1Output struct {
  302. SDKShapeTraits bool `type:"structure"`
  303. }
  304. type OutputService5ProtocolTest struct {
  305. *service.Service
  306. }
  307. // New returns a new OutputService5ProtocolTest client.
  308. func NewOutputService5ProtocolTest(config *aws.Config) *OutputService5ProtocolTest {
  309. service := &service.Service{
  310. ServiceInfo: serviceinfo.ServiceInfo{
  311. Config: defaults.DefaultConfig.Merge(config),
  312. ServiceName: "outputservice5protocoltest",
  313. APIVersion: "",
  314. },
  315. }
  316. service.Initialize()
  317. // Handlers
  318. service.Handlers.Sign.PushBack(v4.Sign)
  319. service.Handlers.Build.PushBack(restxml.Build)
  320. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  321. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  322. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  323. return &OutputService5ProtocolTest{service}
  324. }
  325. // newRequest creates a new request for a OutputService5ProtocolTest operation and runs any
  326. // custom request initialization.
  327. func (c *OutputService5ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  328. req := c.NewRequest(op, params, data)
  329. return req
  330. }
  331. const opOutputService5TestCaseOperation1 = "OperationName"
  332. // OutputService5TestCaseOperation1Request generates a request for the OutputService5TestCaseOperation1 operation.
  333. func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1Request(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (req *request.Request, output *OutputService5TestShapeOutputService5TestCaseOperation1Output) {
  334. op := &request.Operation{
  335. Name: opOutputService5TestCaseOperation1,
  336. }
  337. if input == nil {
  338. input = &OutputService5TestShapeOutputService5TestCaseOperation1Input{}
  339. }
  340. req = c.newRequest(op, input, output)
  341. output = &OutputService5TestShapeOutputService5TestCaseOperation1Output{}
  342. req.Data = output
  343. return
  344. }
  345. func (c *OutputService5ProtocolTest) OutputService5TestCaseOperation1(input *OutputService5TestShapeOutputService5TestCaseOperation1Input) (*OutputService5TestShapeOutputService5TestCaseOperation1Output, error) {
  346. req, out := c.OutputService5TestCaseOperation1Request(input)
  347. err := req.Send()
  348. return out, err
  349. }
  350. type OutputService5TestShapeOutputService5TestCaseOperation1Input struct {
  351. metadataOutputService5TestShapeOutputService5TestCaseOperation1Input `json:"-" xml:"-"`
  352. }
  353. type metadataOutputService5TestShapeOutputService5TestCaseOperation1Input struct {
  354. SDKShapeTraits bool `type:"structure"`
  355. }
  356. type OutputService5TestShapeOutputService5TestCaseOperation1Output struct {
  357. ListMember []*string `type:"list" flattened:"true"`
  358. metadataOutputService5TestShapeOutputService5TestCaseOperation1Output `json:"-" xml:"-"`
  359. }
  360. type metadataOutputService5TestShapeOutputService5TestCaseOperation1Output struct {
  361. SDKShapeTraits bool `type:"structure"`
  362. }
  363. type OutputService6ProtocolTest struct {
  364. *service.Service
  365. }
  366. // New returns a new OutputService6ProtocolTest client.
  367. func NewOutputService6ProtocolTest(config *aws.Config) *OutputService6ProtocolTest {
  368. service := &service.Service{
  369. ServiceInfo: serviceinfo.ServiceInfo{
  370. Config: defaults.DefaultConfig.Merge(config),
  371. ServiceName: "outputservice6protocoltest",
  372. APIVersion: "",
  373. },
  374. }
  375. service.Initialize()
  376. // Handlers
  377. service.Handlers.Sign.PushBack(v4.Sign)
  378. service.Handlers.Build.PushBack(restxml.Build)
  379. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  380. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  381. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  382. return &OutputService6ProtocolTest{service}
  383. }
  384. // newRequest creates a new request for a OutputService6ProtocolTest operation and runs any
  385. // custom request initialization.
  386. func (c *OutputService6ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  387. req := c.NewRequest(op, params, data)
  388. return req
  389. }
  390. const opOutputService6TestCaseOperation1 = "OperationName"
  391. // OutputService6TestCaseOperation1Request generates a request for the OutputService6TestCaseOperation1 operation.
  392. func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1Request(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (req *request.Request, output *OutputService6TestShapeOutputService6TestCaseOperation1Output) {
  393. op := &request.Operation{
  394. Name: opOutputService6TestCaseOperation1,
  395. }
  396. if input == nil {
  397. input = &OutputService6TestShapeOutputService6TestCaseOperation1Input{}
  398. }
  399. req = c.newRequest(op, input, output)
  400. output = &OutputService6TestShapeOutputService6TestCaseOperation1Output{}
  401. req.Data = output
  402. return
  403. }
  404. func (c *OutputService6ProtocolTest) OutputService6TestCaseOperation1(input *OutputService6TestShapeOutputService6TestCaseOperation1Input) (*OutputService6TestShapeOutputService6TestCaseOperation1Output, error) {
  405. req, out := c.OutputService6TestCaseOperation1Request(input)
  406. err := req.Send()
  407. return out, err
  408. }
  409. type OutputService6TestShapeOutputService6TestCaseOperation1Input struct {
  410. metadataOutputService6TestShapeOutputService6TestCaseOperation1Input `json:"-" xml:"-"`
  411. }
  412. type metadataOutputService6TestShapeOutputService6TestCaseOperation1Input struct {
  413. SDKShapeTraits bool `type:"structure"`
  414. }
  415. type OutputService6TestShapeOutputService6TestCaseOperation1Output struct {
  416. Map map[string]*OutputService6TestShapeSingleStructure `type:"map"`
  417. metadataOutputService6TestShapeOutputService6TestCaseOperation1Output `json:"-" xml:"-"`
  418. }
  419. type metadataOutputService6TestShapeOutputService6TestCaseOperation1Output struct {
  420. SDKShapeTraits bool `type:"structure"`
  421. }
  422. type OutputService6TestShapeSingleStructure struct {
  423. Foo *string `locationName:"foo" type:"string"`
  424. metadataOutputService6TestShapeSingleStructure `json:"-" xml:"-"`
  425. }
  426. type metadataOutputService6TestShapeSingleStructure struct {
  427. SDKShapeTraits bool `type:"structure"`
  428. }
  429. type OutputService7ProtocolTest struct {
  430. *service.Service
  431. }
  432. // New returns a new OutputService7ProtocolTest client.
  433. func NewOutputService7ProtocolTest(config *aws.Config) *OutputService7ProtocolTest {
  434. service := &service.Service{
  435. ServiceInfo: serviceinfo.ServiceInfo{
  436. Config: defaults.DefaultConfig.Merge(config),
  437. ServiceName: "outputservice7protocoltest",
  438. APIVersion: "",
  439. },
  440. }
  441. service.Initialize()
  442. // Handlers
  443. service.Handlers.Sign.PushBack(v4.Sign)
  444. service.Handlers.Build.PushBack(restxml.Build)
  445. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  446. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  447. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  448. return &OutputService7ProtocolTest{service}
  449. }
  450. // newRequest creates a new request for a OutputService7ProtocolTest operation and runs any
  451. // custom request initialization.
  452. func (c *OutputService7ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  453. req := c.NewRequest(op, params, data)
  454. return req
  455. }
  456. const opOutputService7TestCaseOperation1 = "OperationName"
  457. // OutputService7TestCaseOperation1Request generates a request for the OutputService7TestCaseOperation1 operation.
  458. func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1Request(input *OutputService7TestShapeOutputService7TestCaseOperation1Input) (req *request.Request, output *OutputService7TestShapeOutputService7TestCaseOperation1Output) {
  459. op := &request.Operation{
  460. Name: opOutputService7TestCaseOperation1,
  461. }
  462. if input == nil {
  463. input = &OutputService7TestShapeOutputService7TestCaseOperation1Input{}
  464. }
  465. req = c.newRequest(op, input, output)
  466. output = &OutputService7TestShapeOutputService7TestCaseOperation1Output{}
  467. req.Data = output
  468. return
  469. }
  470. func (c *OutputService7ProtocolTest) OutputService7TestCaseOperation1(input *OutputService7TestShapeOutputService7TestCaseOperation1Input) (*OutputService7TestShapeOutputService7TestCaseOperation1Output, error) {
  471. req, out := c.OutputService7TestCaseOperation1Request(input)
  472. err := req.Send()
  473. return out, err
  474. }
  475. type OutputService7TestShapeOutputService7TestCaseOperation1Input struct {
  476. metadataOutputService7TestShapeOutputService7TestCaseOperation1Input `json:"-" xml:"-"`
  477. }
  478. type metadataOutputService7TestShapeOutputService7TestCaseOperation1Input struct {
  479. SDKShapeTraits bool `type:"structure"`
  480. }
  481. type OutputService7TestShapeOutputService7TestCaseOperation1Output struct {
  482. Map map[string]*string `type:"map" flattened:"true"`
  483. metadataOutputService7TestShapeOutputService7TestCaseOperation1Output `json:"-" xml:"-"`
  484. }
  485. type metadataOutputService7TestShapeOutputService7TestCaseOperation1Output struct {
  486. SDKShapeTraits bool `type:"structure"`
  487. }
  488. type OutputService8ProtocolTest struct {
  489. *service.Service
  490. }
  491. // New returns a new OutputService8ProtocolTest client.
  492. func NewOutputService8ProtocolTest(config *aws.Config) *OutputService8ProtocolTest {
  493. service := &service.Service{
  494. ServiceInfo: serviceinfo.ServiceInfo{
  495. Config: defaults.DefaultConfig.Merge(config),
  496. ServiceName: "outputservice8protocoltest",
  497. APIVersion: "",
  498. },
  499. }
  500. service.Initialize()
  501. // Handlers
  502. service.Handlers.Sign.PushBack(v4.Sign)
  503. service.Handlers.Build.PushBack(restxml.Build)
  504. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  505. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  506. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  507. return &OutputService8ProtocolTest{service}
  508. }
  509. // newRequest creates a new request for a OutputService8ProtocolTest operation and runs any
  510. // custom request initialization.
  511. func (c *OutputService8ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  512. req := c.NewRequest(op, params, data)
  513. return req
  514. }
  515. const opOutputService8TestCaseOperation1 = "OperationName"
  516. // OutputService8TestCaseOperation1Request generates a request for the OutputService8TestCaseOperation1 operation.
  517. func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1Request(input *OutputService8TestShapeOutputService8TestCaseOperation1Input) (req *request.Request, output *OutputService8TestShapeOutputService8TestCaseOperation1Output) {
  518. op := &request.Operation{
  519. Name: opOutputService8TestCaseOperation1,
  520. }
  521. if input == nil {
  522. input = &OutputService8TestShapeOutputService8TestCaseOperation1Input{}
  523. }
  524. req = c.newRequest(op, input, output)
  525. output = &OutputService8TestShapeOutputService8TestCaseOperation1Output{}
  526. req.Data = output
  527. return
  528. }
  529. func (c *OutputService8ProtocolTest) OutputService8TestCaseOperation1(input *OutputService8TestShapeOutputService8TestCaseOperation1Input) (*OutputService8TestShapeOutputService8TestCaseOperation1Output, error) {
  530. req, out := c.OutputService8TestCaseOperation1Request(input)
  531. err := req.Send()
  532. return out, err
  533. }
  534. type OutputService8TestShapeOutputService8TestCaseOperation1Input struct {
  535. metadataOutputService8TestShapeOutputService8TestCaseOperation1Input `json:"-" xml:"-"`
  536. }
  537. type metadataOutputService8TestShapeOutputService8TestCaseOperation1Input struct {
  538. SDKShapeTraits bool `type:"structure"`
  539. }
  540. type OutputService8TestShapeOutputService8TestCaseOperation1Output struct {
  541. Map map[string]*string `locationNameKey:"foo" locationNameValue:"bar" type:"map"`
  542. metadataOutputService8TestShapeOutputService8TestCaseOperation1Output `json:"-" xml:"-"`
  543. }
  544. type metadataOutputService8TestShapeOutputService8TestCaseOperation1Output struct {
  545. SDKShapeTraits bool `type:"structure"`
  546. }
  547. type OutputService9ProtocolTest struct {
  548. *service.Service
  549. }
  550. // New returns a new OutputService9ProtocolTest client.
  551. func NewOutputService9ProtocolTest(config *aws.Config) *OutputService9ProtocolTest {
  552. service := &service.Service{
  553. ServiceInfo: serviceinfo.ServiceInfo{
  554. Config: defaults.DefaultConfig.Merge(config),
  555. ServiceName: "outputservice9protocoltest",
  556. APIVersion: "",
  557. },
  558. }
  559. service.Initialize()
  560. // Handlers
  561. service.Handlers.Sign.PushBack(v4.Sign)
  562. service.Handlers.Build.PushBack(restxml.Build)
  563. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  564. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  565. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  566. return &OutputService9ProtocolTest{service}
  567. }
  568. // newRequest creates a new request for a OutputService9ProtocolTest operation and runs any
  569. // custom request initialization.
  570. func (c *OutputService9ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  571. req := c.NewRequest(op, params, data)
  572. return req
  573. }
  574. const opOutputService9TestCaseOperation1 = "OperationName"
  575. // OutputService9TestCaseOperation1Request generates a request for the OutputService9TestCaseOperation1 operation.
  576. func (c *OutputService9ProtocolTest) OutputService9TestCaseOperation1Request(input *OutputService9TestShapeOutputService9TestCaseOperation1Input) (req *request.Request, output *OutputService9TestShapeOutputService9TestCaseOperation1Output) {
  577. op := &request.Operation{
  578. Name: opOutputService9TestCaseOperation1,
  579. }
  580. if input == nil {
  581. input = &OutputService9TestShapeOutputService9TestCaseOperation1Input{}
  582. }
  583. req = c.newRequest(op, input, output)
  584. output = &OutputService9TestShapeOutputService9TestCaseOperation1Output{}
  585. req.Data = output
  586. return
  587. }
  588. func (c *OutputService9ProtocolTest) OutputService9TestCaseOperation1(input *OutputService9TestShapeOutputService9TestCaseOperation1Input) (*OutputService9TestShapeOutputService9TestCaseOperation1Output, error) {
  589. req, out := c.OutputService9TestCaseOperation1Request(input)
  590. err := req.Send()
  591. return out, err
  592. }
  593. type OutputService9TestShapeOutputService9TestCaseOperation1Input struct {
  594. metadataOutputService9TestShapeOutputService9TestCaseOperation1Input `json:"-" xml:"-"`
  595. }
  596. type metadataOutputService9TestShapeOutputService9TestCaseOperation1Input struct {
  597. SDKShapeTraits bool `type:"structure"`
  598. }
  599. type OutputService9TestShapeOutputService9TestCaseOperation1Output struct {
  600. Data *OutputService9TestShapeSingleStructure `type:"structure"`
  601. Header *string `location:"header" locationName:"X-Foo" type:"string"`
  602. metadataOutputService9TestShapeOutputService9TestCaseOperation1Output `json:"-" xml:"-"`
  603. }
  604. type metadataOutputService9TestShapeOutputService9TestCaseOperation1Output struct {
  605. SDKShapeTraits bool `type:"structure" payload:"Data"`
  606. }
  607. type OutputService9TestShapeSingleStructure struct {
  608. Foo *string `type:"string"`
  609. metadataOutputService9TestShapeSingleStructure `json:"-" xml:"-"`
  610. }
  611. type metadataOutputService9TestShapeSingleStructure struct {
  612. SDKShapeTraits bool `type:"structure"`
  613. }
  614. type OutputService10ProtocolTest struct {
  615. *service.Service
  616. }
  617. // New returns a new OutputService10ProtocolTest client.
  618. func NewOutputService10ProtocolTest(config *aws.Config) *OutputService10ProtocolTest {
  619. service := &service.Service{
  620. ServiceInfo: serviceinfo.ServiceInfo{
  621. Config: defaults.DefaultConfig.Merge(config),
  622. ServiceName: "outputservice10protocoltest",
  623. APIVersion: "",
  624. },
  625. }
  626. service.Initialize()
  627. // Handlers
  628. service.Handlers.Sign.PushBack(v4.Sign)
  629. service.Handlers.Build.PushBack(restxml.Build)
  630. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  631. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  632. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  633. return &OutputService10ProtocolTest{service}
  634. }
  635. // newRequest creates a new request for a OutputService10ProtocolTest operation and runs any
  636. // custom request initialization.
  637. func (c *OutputService10ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  638. req := c.NewRequest(op, params, data)
  639. return req
  640. }
  641. const opOutputService10TestCaseOperation1 = "OperationName"
  642. // OutputService10TestCaseOperation1Request generates a request for the OutputService10TestCaseOperation1 operation.
  643. func (c *OutputService10ProtocolTest) OutputService10TestCaseOperation1Request(input *OutputService10TestShapeOutputService10TestCaseOperation1Input) (req *request.Request, output *OutputService10TestShapeOutputService10TestCaseOperation1Output) {
  644. op := &request.Operation{
  645. Name: opOutputService10TestCaseOperation1,
  646. }
  647. if input == nil {
  648. input = &OutputService10TestShapeOutputService10TestCaseOperation1Input{}
  649. }
  650. req = c.newRequest(op, input, output)
  651. output = &OutputService10TestShapeOutputService10TestCaseOperation1Output{}
  652. req.Data = output
  653. return
  654. }
  655. func (c *OutputService10ProtocolTest) OutputService10TestCaseOperation1(input *OutputService10TestShapeOutputService10TestCaseOperation1Input) (*OutputService10TestShapeOutputService10TestCaseOperation1Output, error) {
  656. req, out := c.OutputService10TestCaseOperation1Request(input)
  657. err := req.Send()
  658. return out, err
  659. }
  660. type OutputService10TestShapeOutputService10TestCaseOperation1Input struct {
  661. metadataOutputService10TestShapeOutputService10TestCaseOperation1Input `json:"-" xml:"-"`
  662. }
  663. type metadataOutputService10TestShapeOutputService10TestCaseOperation1Input struct {
  664. SDKShapeTraits bool `type:"structure"`
  665. }
  666. type OutputService10TestShapeOutputService10TestCaseOperation1Output struct {
  667. Stream []byte `type:"blob"`
  668. metadataOutputService10TestShapeOutputService10TestCaseOperation1Output `json:"-" xml:"-"`
  669. }
  670. type metadataOutputService10TestShapeOutputService10TestCaseOperation1Output struct {
  671. SDKShapeTraits bool `type:"structure" payload:"Stream"`
  672. }
  673. type OutputService11ProtocolTest struct {
  674. *service.Service
  675. }
  676. // New returns a new OutputService11ProtocolTest client.
  677. func NewOutputService11ProtocolTest(config *aws.Config) *OutputService11ProtocolTest {
  678. service := &service.Service{
  679. ServiceInfo: serviceinfo.ServiceInfo{
  680. Config: defaults.DefaultConfig.Merge(config),
  681. ServiceName: "outputservice11protocoltest",
  682. APIVersion: "",
  683. },
  684. }
  685. service.Initialize()
  686. // Handlers
  687. service.Handlers.Sign.PushBack(v4.Sign)
  688. service.Handlers.Build.PushBack(restxml.Build)
  689. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  690. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  691. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  692. return &OutputService11ProtocolTest{service}
  693. }
  694. // newRequest creates a new request for a OutputService11ProtocolTest operation and runs any
  695. // custom request initialization.
  696. func (c *OutputService11ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  697. req := c.NewRequest(op, params, data)
  698. return req
  699. }
  700. const opOutputService11TestCaseOperation1 = "OperationName"
  701. // OutputService11TestCaseOperation1Request generates a request for the OutputService11TestCaseOperation1 operation.
  702. func (c *OutputService11ProtocolTest) OutputService11TestCaseOperation1Request(input *OutputService11TestShapeOutputService11TestCaseOperation1Input) (req *request.Request, output *OutputService11TestShapeOutputService11TestCaseOperation1Output) {
  703. op := &request.Operation{
  704. Name: opOutputService11TestCaseOperation1,
  705. }
  706. if input == nil {
  707. input = &OutputService11TestShapeOutputService11TestCaseOperation1Input{}
  708. }
  709. req = c.newRequest(op, input, output)
  710. output = &OutputService11TestShapeOutputService11TestCaseOperation1Output{}
  711. req.Data = output
  712. return
  713. }
  714. func (c *OutputService11ProtocolTest) OutputService11TestCaseOperation1(input *OutputService11TestShapeOutputService11TestCaseOperation1Input) (*OutputService11TestShapeOutputService11TestCaseOperation1Output, error) {
  715. req, out := c.OutputService11TestCaseOperation1Request(input)
  716. err := req.Send()
  717. return out, err
  718. }
  719. type OutputService11TestShapeOutputService11TestCaseOperation1Input struct {
  720. metadataOutputService11TestShapeOutputService11TestCaseOperation1Input `json:"-" xml:"-"`
  721. }
  722. type metadataOutputService11TestShapeOutputService11TestCaseOperation1Input struct {
  723. SDKShapeTraits bool `type:"structure"`
  724. }
  725. type OutputService11TestShapeOutputService11TestCaseOperation1Output struct {
  726. Char *string `location:"header" locationName:"x-char" type:"character"`
  727. Double *float64 `location:"header" locationName:"x-double" type:"double"`
  728. FalseBool *bool `location:"header" locationName:"x-false-bool" type:"boolean"`
  729. Float *float64 `location:"header" locationName:"x-float" type:"float"`
  730. Integer *int64 `location:"header" locationName:"x-int" type:"integer"`
  731. Long *int64 `location:"header" locationName:"x-long" type:"long"`
  732. Str *string `location:"header" locationName:"x-str" type:"string"`
  733. Timestamp *time.Time `location:"header" locationName:"x-timestamp" type:"timestamp" timestampFormat:"iso8601"`
  734. TrueBool *bool `location:"header" locationName:"x-true-bool" type:"boolean"`
  735. metadataOutputService11TestShapeOutputService11TestCaseOperation1Output `json:"-" xml:"-"`
  736. }
  737. type metadataOutputService11TestShapeOutputService11TestCaseOperation1Output struct {
  738. SDKShapeTraits bool `type:"structure"`
  739. }
  740. type OutputService12ProtocolTest struct {
  741. *service.Service
  742. }
  743. // New returns a new OutputService12ProtocolTest client.
  744. func NewOutputService12ProtocolTest(config *aws.Config) *OutputService12ProtocolTest {
  745. service := &service.Service{
  746. ServiceInfo: serviceinfo.ServiceInfo{
  747. Config: defaults.DefaultConfig.Merge(config),
  748. ServiceName: "outputservice12protocoltest",
  749. APIVersion: "",
  750. },
  751. }
  752. service.Initialize()
  753. // Handlers
  754. service.Handlers.Sign.PushBack(v4.Sign)
  755. service.Handlers.Build.PushBack(restxml.Build)
  756. service.Handlers.Unmarshal.PushBack(restxml.Unmarshal)
  757. service.Handlers.UnmarshalMeta.PushBack(restxml.UnmarshalMeta)
  758. service.Handlers.UnmarshalError.PushBack(restxml.UnmarshalError)
  759. return &OutputService12ProtocolTest{service}
  760. }
  761. // newRequest creates a new request for a OutputService12ProtocolTest operation and runs any
  762. // custom request initialization.
  763. func (c *OutputService12ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  764. req := c.NewRequest(op, params, data)
  765. return req
  766. }
  767. const opOutputService12TestCaseOperation1 = "OperationName"
  768. // OutputService12TestCaseOperation1Request generates a request for the OutputService12TestCaseOperation1 operation.
  769. func (c *OutputService12ProtocolTest) OutputService12TestCaseOperation1Request(input *OutputService12TestShapeOutputService12TestCaseOperation1Input) (req *request.Request, output *OutputService12TestShapeOutputService12TestCaseOperation1Output) {
  770. op := &request.Operation{
  771. Name: opOutputService12TestCaseOperation1,
  772. }
  773. if input == nil {
  774. input = &OutputService12TestShapeOutputService12TestCaseOperation1Input{}
  775. }
  776. req = c.newRequest(op, input, output)
  777. output = &OutputService12TestShapeOutputService12TestCaseOperation1Output{}
  778. req.Data = output
  779. return
  780. }
  781. func (c *OutputService12ProtocolTest) OutputService12TestCaseOperation1(input *OutputService12TestShapeOutputService12TestCaseOperation1Input) (*OutputService12TestShapeOutputService12TestCaseOperation1Output, error) {
  782. req, out := c.OutputService12TestCaseOperation1Request(input)
  783. err := req.Send()
  784. return out, err
  785. }
  786. type OutputService12TestShapeOutputService12TestCaseOperation1Input struct {
  787. metadataOutputService12TestShapeOutputService12TestCaseOperation1Input `json:"-" xml:"-"`
  788. }
  789. type metadataOutputService12TestShapeOutputService12TestCaseOperation1Input struct {
  790. SDKShapeTraits bool `type:"structure"`
  791. }
  792. type OutputService12TestShapeOutputService12TestCaseOperation1Output struct {
  793. String *string `type:"string"`
  794. metadataOutputService12TestShapeOutputService12TestCaseOperation1Output `json:"-" xml:"-"`
  795. }
  796. type metadataOutputService12TestShapeOutputService12TestCaseOperation1Output struct {
  797. SDKShapeTraits bool `type:"structure" payload:"String"`
  798. }
  799. //
  800. // Tests begin here
  801. //
  802. func TestOutputService1ProtocolTestScalarMembersCase1(t *testing.T) {
  803. svc := NewOutputService1ProtocolTest(nil)
  804. buf := bytes.NewReader([]byte("<OperationNameResponse><Str>myname</Str><FooNum>123</FooNum><FalseBool>false</FalseBool><TrueBool>true</TrueBool><Float>1.2</Float><Double>1.3</Double><Long>200</Long><Char>a</Char><Timestamp>2015-01-25T08:00:00Z</Timestamp></OperationNameResponse>"))
  805. req, out := svc.OutputService1TestCaseOperation1Request(nil)
  806. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  807. // set headers
  808. req.HTTPResponse.Header.Set("ImaHeader", "test")
  809. req.HTTPResponse.Header.Set("X-Foo", "abc")
  810. // unmarshal response
  811. restxml.UnmarshalMeta(req)
  812. restxml.Unmarshal(req)
  813. assert.NoError(t, req.Error)
  814. // assert response
  815. assert.NotNil(t, out) // ensure out variable is used
  816. assert.Equal(t, "a", *out.Char)
  817. assert.Equal(t, 1.3, *out.Double)
  818. assert.Equal(t, false, *out.FalseBool)
  819. assert.Equal(t, 1.2, *out.Float)
  820. assert.Equal(t, "test", *out.ImaHeader)
  821. assert.Equal(t, "abc", *out.ImaHeaderLocation)
  822. assert.Equal(t, int64(200), *out.Long)
  823. assert.Equal(t, int64(123), *out.Num)
  824. assert.Equal(t, "myname", *out.Str)
  825. assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String())
  826. assert.Equal(t, true, *out.TrueBool)
  827. }
  828. func TestOutputService1ProtocolTestScalarMembersCase2(t *testing.T) {
  829. svc := NewOutputService1ProtocolTest(nil)
  830. buf := bytes.NewReader([]byte("<OperationNameResponse><Str></Str><FooNum>123</FooNum><FalseBool>false</FalseBool><TrueBool>true</TrueBool><Float>1.2</Float><Double>1.3</Double><Long>200</Long><Char>a</Char><Timestamp>2015-01-25T08:00:00Z</Timestamp></OperationNameResponse>"))
  831. req, out := svc.OutputService1TestCaseOperation2Request(nil)
  832. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  833. // set headers
  834. req.HTTPResponse.Header.Set("ImaHeader", "test")
  835. req.HTTPResponse.Header.Set("X-Foo", "abc")
  836. // unmarshal response
  837. restxml.UnmarshalMeta(req)
  838. restxml.Unmarshal(req)
  839. assert.NoError(t, req.Error)
  840. // assert response
  841. assert.NotNil(t, out) // ensure out variable is used
  842. assert.Equal(t, "a", *out.Char)
  843. assert.Equal(t, 1.3, *out.Double)
  844. assert.Equal(t, false, *out.FalseBool)
  845. assert.Equal(t, 1.2, *out.Float)
  846. assert.Equal(t, "test", *out.ImaHeader)
  847. assert.Equal(t, "abc", *out.ImaHeaderLocation)
  848. assert.Equal(t, int64(200), *out.Long)
  849. assert.Equal(t, int64(123), *out.Num)
  850. assert.Equal(t, "", *out.Str)
  851. assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String())
  852. assert.Equal(t, true, *out.TrueBool)
  853. }
  854. func TestOutputService2ProtocolTestBlobCase1(t *testing.T) {
  855. svc := NewOutputService2ProtocolTest(nil)
  856. buf := bytes.NewReader([]byte("<OperationNameResult><Blob>dmFsdWU=</Blob></OperationNameResult>"))
  857. req, out := svc.OutputService2TestCaseOperation1Request(nil)
  858. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  859. // set headers
  860. // unmarshal response
  861. restxml.UnmarshalMeta(req)
  862. restxml.Unmarshal(req)
  863. assert.NoError(t, req.Error)
  864. // assert response
  865. assert.NotNil(t, out) // ensure out variable is used
  866. assert.Equal(t, "value", string(out.Blob))
  867. }
  868. func TestOutputService3ProtocolTestListsCase1(t *testing.T) {
  869. svc := NewOutputService3ProtocolTest(nil)
  870. buf := bytes.NewReader([]byte("<OperationNameResult><ListMember><member>abc</member><member>123</member></ListMember></OperationNameResult>"))
  871. req, out := svc.OutputService3TestCaseOperation1Request(nil)
  872. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  873. // set headers
  874. // unmarshal response
  875. restxml.UnmarshalMeta(req)
  876. restxml.Unmarshal(req)
  877. assert.NoError(t, req.Error)
  878. // assert response
  879. assert.NotNil(t, out) // ensure out variable is used
  880. assert.Equal(t, "abc", *out.ListMember[0])
  881. assert.Equal(t, "123", *out.ListMember[1])
  882. }
  883. func TestOutputService4ProtocolTestListWithCustomMemberNameCase1(t *testing.T) {
  884. svc := NewOutputService4ProtocolTest(nil)
  885. buf := bytes.NewReader([]byte("<OperationNameResult><ListMember><item>abc</item><item>123</item></ListMember></OperationNameResult>"))
  886. req, out := svc.OutputService4TestCaseOperation1Request(nil)
  887. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  888. // set headers
  889. // unmarshal response
  890. restxml.UnmarshalMeta(req)
  891. restxml.Unmarshal(req)
  892. assert.NoError(t, req.Error)
  893. // assert response
  894. assert.NotNil(t, out) // ensure out variable is used
  895. assert.Equal(t, "abc", *out.ListMember[0])
  896. assert.Equal(t, "123", *out.ListMember[1])
  897. }
  898. func TestOutputService5ProtocolTestFlattenedListCase1(t *testing.T) {
  899. svc := NewOutputService5ProtocolTest(nil)
  900. buf := bytes.NewReader([]byte("<OperationNameResult><ListMember>abc</ListMember><ListMember>123</ListMember></OperationNameResult>"))
  901. req, out := svc.OutputService5TestCaseOperation1Request(nil)
  902. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  903. // set headers
  904. // unmarshal response
  905. restxml.UnmarshalMeta(req)
  906. restxml.Unmarshal(req)
  907. assert.NoError(t, req.Error)
  908. // assert response
  909. assert.NotNil(t, out) // ensure out variable is used
  910. assert.Equal(t, "abc", *out.ListMember[0])
  911. assert.Equal(t, "123", *out.ListMember[1])
  912. }
  913. func TestOutputService6ProtocolTestNormalMapCase1(t *testing.T) {
  914. svc := NewOutputService6ProtocolTest(nil)
  915. buf := bytes.NewReader([]byte("<OperationNameResult><Map><entry><key>qux</key><value><foo>bar</foo></value></entry><entry><key>baz</key><value><foo>bam</foo></value></entry></Map></OperationNameResult>"))
  916. req, out := svc.OutputService6TestCaseOperation1Request(nil)
  917. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  918. // set headers
  919. // unmarshal response
  920. restxml.UnmarshalMeta(req)
  921. restxml.Unmarshal(req)
  922. assert.NoError(t, req.Error)
  923. // assert response
  924. assert.NotNil(t, out) // ensure out variable is used
  925. assert.Equal(t, "bam", *out.Map["baz"].Foo)
  926. assert.Equal(t, "bar", *out.Map["qux"].Foo)
  927. }
  928. func TestOutputService7ProtocolTestFlattenedMapCase1(t *testing.T) {
  929. svc := NewOutputService7ProtocolTest(nil)
  930. buf := bytes.NewReader([]byte("<OperationNameResult><Map><key>qux</key><value>bar</value></Map><Map><key>baz</key><value>bam</value></Map></OperationNameResult>"))
  931. req, out := svc.OutputService7TestCaseOperation1Request(nil)
  932. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  933. // set headers
  934. // unmarshal response
  935. restxml.UnmarshalMeta(req)
  936. restxml.Unmarshal(req)
  937. assert.NoError(t, req.Error)
  938. // assert response
  939. assert.NotNil(t, out) // ensure out variable is used
  940. assert.Equal(t, "bam", *out.Map["baz"])
  941. assert.Equal(t, "bar", *out.Map["qux"])
  942. }
  943. func TestOutputService8ProtocolTestNamedMapCase1(t *testing.T) {
  944. svc := NewOutputService8ProtocolTest(nil)
  945. buf := bytes.NewReader([]byte("<OperationNameResult><Map><entry><foo>qux</foo><bar>bar</bar></entry><entry><foo>baz</foo><bar>bam</bar></entry></Map></OperationNameResult>"))
  946. req, out := svc.OutputService8TestCaseOperation1Request(nil)
  947. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  948. // set headers
  949. // unmarshal response
  950. restxml.UnmarshalMeta(req)
  951. restxml.Unmarshal(req)
  952. assert.NoError(t, req.Error)
  953. // assert response
  954. assert.NotNil(t, out) // ensure out variable is used
  955. assert.Equal(t, "bam", *out.Map["baz"])
  956. assert.Equal(t, "bar", *out.Map["qux"])
  957. }
  958. func TestOutputService9ProtocolTestXMLPayloadCase1(t *testing.T) {
  959. svc := NewOutputService9ProtocolTest(nil)
  960. buf := bytes.NewReader([]byte("<OperationNameResponse><Foo>abc</Foo></OperationNameResponse>"))
  961. req, out := svc.OutputService9TestCaseOperation1Request(nil)
  962. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  963. // set headers
  964. req.HTTPResponse.Header.Set("X-Foo", "baz")
  965. // unmarshal response
  966. restxml.UnmarshalMeta(req)
  967. restxml.Unmarshal(req)
  968. assert.NoError(t, req.Error)
  969. // assert response
  970. assert.NotNil(t, out) // ensure out variable is used
  971. assert.Equal(t, "abc", *out.Data.Foo)
  972. assert.Equal(t, "baz", *out.Header)
  973. }
  974. func TestOutputService10ProtocolTestStreamingPayloadCase1(t *testing.T) {
  975. svc := NewOutputService10ProtocolTest(nil)
  976. buf := bytes.NewReader([]byte("abc"))
  977. req, out := svc.OutputService10TestCaseOperation1Request(nil)
  978. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  979. // set headers
  980. // unmarshal response
  981. restxml.UnmarshalMeta(req)
  982. restxml.Unmarshal(req)
  983. assert.NoError(t, req.Error)
  984. // assert response
  985. assert.NotNil(t, out) // ensure out variable is used
  986. assert.Equal(t, "abc", string(out.Stream))
  987. }
  988. func TestOutputService11ProtocolTestScalarMembersInHeadersCase1(t *testing.T) {
  989. svc := NewOutputService11ProtocolTest(nil)
  990. buf := bytes.NewReader([]byte(""))
  991. req, out := svc.OutputService11TestCaseOperation1Request(nil)
  992. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  993. // set headers
  994. req.HTTPResponse.Header.Set("x-char", "a")
  995. req.HTTPResponse.Header.Set("x-double", "1.5")
  996. req.HTTPResponse.Header.Set("x-false-bool", "false")
  997. req.HTTPResponse.Header.Set("x-float", "1.5")
  998. req.HTTPResponse.Header.Set("x-int", "1")
  999. req.HTTPResponse.Header.Set("x-long", "100")
  1000. req.HTTPResponse.Header.Set("x-str", "string")
  1001. req.HTTPResponse.Header.Set("x-timestamp", "Sun, 25 Jan 2015 08:00:00 GMT")
  1002. req.HTTPResponse.Header.Set("x-true-bool", "true")
  1003. // unmarshal response
  1004. restxml.UnmarshalMeta(req)
  1005. restxml.Unmarshal(req)
  1006. assert.NoError(t, req.Error)
  1007. // assert response
  1008. assert.NotNil(t, out) // ensure out variable is used
  1009. assert.Equal(t, "a", *out.Char)
  1010. assert.Equal(t, 1.5, *out.Double)
  1011. assert.Equal(t, false, *out.FalseBool)
  1012. assert.Equal(t, 1.5, *out.Float)
  1013. assert.Equal(t, int64(1), *out.Integer)
  1014. assert.Equal(t, int64(100), *out.Long)
  1015. assert.Equal(t, "string", *out.Str)
  1016. assert.Equal(t, time.Unix(1.4221728e+09, 0).UTC().String(), out.Timestamp.String())
  1017. assert.Equal(t, true, *out.TrueBool)
  1018. }
  1019. func TestOutputService12ProtocolTestStringCase1(t *testing.T) {
  1020. svc := NewOutputService12ProtocolTest(nil)
  1021. buf := bytes.NewReader([]byte("operation result string"))
  1022. req, out := svc.OutputService12TestCaseOperation1Request(nil)
  1023. req.HTTPResponse = &http.Response{StatusCode: 200, Body: ioutil.NopCloser(buf), Header: http.Header{}}
  1024. // set headers
  1025. // unmarshal response
  1026. restxml.UnmarshalMeta(req)
  1027. restxml.Unmarshal(req)
  1028. assert.NoError(t, req.Error)
  1029. // assert response
  1030. assert.NotNil(t, out) // ensure out variable is used
  1031. assert.Equal(t, "operation result string", *out.String)
  1032. }