build_test.go 48 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504
  1. package query_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/query"
  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 InputService1ProtocolTest struct {
  34. *service.Service
  35. }
  36. // New returns a new InputService1ProtocolTest client.
  37. func NewInputService1ProtocolTest(config *aws.Config) *InputService1ProtocolTest {
  38. service := &service.Service{
  39. ServiceInfo: serviceinfo.ServiceInfo{
  40. Config: defaults.DefaultConfig.Merge(config),
  41. ServiceName: "inputservice1protocoltest",
  42. APIVersion: "2014-01-01",
  43. },
  44. }
  45. service.Initialize()
  46. // Handlers
  47. service.Handlers.Sign.PushBack(v4.Sign)
  48. service.Handlers.Build.PushBack(query.Build)
  49. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  50. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  51. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  52. return &InputService1ProtocolTest{service}
  53. }
  54. // newRequest creates a new request for a InputService1ProtocolTest operation and runs any
  55. // custom request initialization.
  56. func (c *InputService1ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  57. req := c.NewRequest(op, params, data)
  58. return req
  59. }
  60. const opInputService1TestCaseOperation1 = "OperationName"
  61. // InputService1TestCaseOperation1Request generates a request for the InputService1TestCaseOperation1 operation.
  62. func (c *InputService1ProtocolTest) InputService1TestCaseOperation1Request(input *InputService1TestShapeInputService1TestCaseOperation1Input) (req *request.Request, output *InputService1TestShapeInputService1TestCaseOperation1Output) {
  63. op := &request.Operation{
  64. Name: opInputService1TestCaseOperation1,
  65. }
  66. if input == nil {
  67. input = &InputService1TestShapeInputService1TestCaseOperation1Input{}
  68. }
  69. req = c.newRequest(op, input, output)
  70. output = &InputService1TestShapeInputService1TestCaseOperation1Output{}
  71. req.Data = output
  72. return
  73. }
  74. func (c *InputService1ProtocolTest) InputService1TestCaseOperation1(input *InputService1TestShapeInputService1TestCaseOperation1Input) (*InputService1TestShapeInputService1TestCaseOperation1Output, error) {
  75. req, out := c.InputService1TestCaseOperation1Request(input)
  76. err := req.Send()
  77. return out, err
  78. }
  79. type InputService1TestShapeInputService1TestCaseOperation1Input struct {
  80. Bar *string `type:"string"`
  81. Foo *string `type:"string"`
  82. metadataInputService1TestShapeInputService1TestCaseOperation1Input `json:"-" xml:"-"`
  83. }
  84. type metadataInputService1TestShapeInputService1TestCaseOperation1Input struct {
  85. SDKShapeTraits bool `type:"structure"`
  86. }
  87. type InputService1TestShapeInputService1TestCaseOperation1Output struct {
  88. metadataInputService1TestShapeInputService1TestCaseOperation1Output `json:"-" xml:"-"`
  89. }
  90. type metadataInputService1TestShapeInputService1TestCaseOperation1Output struct {
  91. SDKShapeTraits bool `type:"structure"`
  92. }
  93. type InputService2ProtocolTest struct {
  94. *service.Service
  95. }
  96. // New returns a new InputService2ProtocolTest client.
  97. func NewInputService2ProtocolTest(config *aws.Config) *InputService2ProtocolTest {
  98. service := &service.Service{
  99. ServiceInfo: serviceinfo.ServiceInfo{
  100. Config: defaults.DefaultConfig.Merge(config),
  101. ServiceName: "inputservice2protocoltest",
  102. APIVersion: "2014-01-01",
  103. },
  104. }
  105. service.Initialize()
  106. // Handlers
  107. service.Handlers.Sign.PushBack(v4.Sign)
  108. service.Handlers.Build.PushBack(query.Build)
  109. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  110. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  111. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  112. return &InputService2ProtocolTest{service}
  113. }
  114. // newRequest creates a new request for a InputService2ProtocolTest operation and runs any
  115. // custom request initialization.
  116. func (c *InputService2ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  117. req := c.NewRequest(op, params, data)
  118. return req
  119. }
  120. const opInputService2TestCaseOperation1 = "OperationName"
  121. // InputService2TestCaseOperation1Request generates a request for the InputService2TestCaseOperation1 operation.
  122. func (c *InputService2ProtocolTest) InputService2TestCaseOperation1Request(input *InputService2TestShapeInputService2TestCaseOperation1Input) (req *request.Request, output *InputService2TestShapeInputService2TestCaseOperation1Output) {
  123. op := &request.Operation{
  124. Name: opInputService2TestCaseOperation1,
  125. }
  126. if input == nil {
  127. input = &InputService2TestShapeInputService2TestCaseOperation1Input{}
  128. }
  129. req = c.newRequest(op, input, output)
  130. output = &InputService2TestShapeInputService2TestCaseOperation1Output{}
  131. req.Data = output
  132. return
  133. }
  134. func (c *InputService2ProtocolTest) InputService2TestCaseOperation1(input *InputService2TestShapeInputService2TestCaseOperation1Input) (*InputService2TestShapeInputService2TestCaseOperation1Output, error) {
  135. req, out := c.InputService2TestCaseOperation1Request(input)
  136. err := req.Send()
  137. return out, err
  138. }
  139. type InputService2TestShapeInputService2TestCaseOperation1Input struct {
  140. StructArg *InputService2TestShapeStructType `type:"structure"`
  141. metadataInputService2TestShapeInputService2TestCaseOperation1Input `json:"-" xml:"-"`
  142. }
  143. type metadataInputService2TestShapeInputService2TestCaseOperation1Input struct {
  144. SDKShapeTraits bool `type:"structure"`
  145. }
  146. type InputService2TestShapeInputService2TestCaseOperation1Output struct {
  147. metadataInputService2TestShapeInputService2TestCaseOperation1Output `json:"-" xml:"-"`
  148. }
  149. type metadataInputService2TestShapeInputService2TestCaseOperation1Output struct {
  150. SDKShapeTraits bool `type:"structure"`
  151. }
  152. type InputService2TestShapeStructType struct {
  153. ScalarArg *string `type:"string"`
  154. metadataInputService2TestShapeStructType `json:"-" xml:"-"`
  155. }
  156. type metadataInputService2TestShapeStructType struct {
  157. SDKShapeTraits bool `type:"structure"`
  158. }
  159. type InputService3ProtocolTest struct {
  160. *service.Service
  161. }
  162. // New returns a new InputService3ProtocolTest client.
  163. func NewInputService3ProtocolTest(config *aws.Config) *InputService3ProtocolTest {
  164. service := &service.Service{
  165. ServiceInfo: serviceinfo.ServiceInfo{
  166. Config: defaults.DefaultConfig.Merge(config),
  167. ServiceName: "inputservice3protocoltest",
  168. APIVersion: "2014-01-01",
  169. },
  170. }
  171. service.Initialize()
  172. // Handlers
  173. service.Handlers.Sign.PushBack(v4.Sign)
  174. service.Handlers.Build.PushBack(query.Build)
  175. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  176. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  177. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  178. return &InputService3ProtocolTest{service}
  179. }
  180. // newRequest creates a new request for a InputService3ProtocolTest operation and runs any
  181. // custom request initialization.
  182. func (c *InputService3ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  183. req := c.NewRequest(op, params, data)
  184. return req
  185. }
  186. const opInputService3TestCaseOperation1 = "OperationName"
  187. // InputService3TestCaseOperation1Request generates a request for the InputService3TestCaseOperation1 operation.
  188. func (c *InputService3ProtocolTest) InputService3TestCaseOperation1Request(input *InputService3TestShapeInputShape) (req *request.Request, output *InputService3TestShapeInputService3TestCaseOperation1Output) {
  189. op := &request.Operation{
  190. Name: opInputService3TestCaseOperation1,
  191. }
  192. if input == nil {
  193. input = &InputService3TestShapeInputShape{}
  194. }
  195. req = c.newRequest(op, input, output)
  196. output = &InputService3TestShapeInputService3TestCaseOperation1Output{}
  197. req.Data = output
  198. return
  199. }
  200. func (c *InputService3ProtocolTest) InputService3TestCaseOperation1(input *InputService3TestShapeInputShape) (*InputService3TestShapeInputService3TestCaseOperation1Output, error) {
  201. req, out := c.InputService3TestCaseOperation1Request(input)
  202. err := req.Send()
  203. return out, err
  204. }
  205. const opInputService3TestCaseOperation2 = "OperationName"
  206. // InputService3TestCaseOperation2Request generates a request for the InputService3TestCaseOperation2 operation.
  207. func (c *InputService3ProtocolTest) InputService3TestCaseOperation2Request(input *InputService3TestShapeInputShape) (req *request.Request, output *InputService3TestShapeInputService3TestCaseOperation2Output) {
  208. op := &request.Operation{
  209. Name: opInputService3TestCaseOperation2,
  210. }
  211. if input == nil {
  212. input = &InputService3TestShapeInputShape{}
  213. }
  214. req = c.newRequest(op, input, output)
  215. output = &InputService3TestShapeInputService3TestCaseOperation2Output{}
  216. req.Data = output
  217. return
  218. }
  219. func (c *InputService3ProtocolTest) InputService3TestCaseOperation2(input *InputService3TestShapeInputShape) (*InputService3TestShapeInputService3TestCaseOperation2Output, error) {
  220. req, out := c.InputService3TestCaseOperation2Request(input)
  221. err := req.Send()
  222. return out, err
  223. }
  224. type InputService3TestShapeInputService3TestCaseOperation1Output struct {
  225. metadataInputService3TestShapeInputService3TestCaseOperation1Output `json:"-" xml:"-"`
  226. }
  227. type metadataInputService3TestShapeInputService3TestCaseOperation1Output struct {
  228. SDKShapeTraits bool `type:"structure"`
  229. }
  230. type InputService3TestShapeInputService3TestCaseOperation2Output struct {
  231. metadataInputService3TestShapeInputService3TestCaseOperation2Output `json:"-" xml:"-"`
  232. }
  233. type metadataInputService3TestShapeInputService3TestCaseOperation2Output struct {
  234. SDKShapeTraits bool `type:"structure"`
  235. }
  236. type InputService3TestShapeInputShape struct {
  237. ListArg []*string `type:"list"`
  238. metadataInputService3TestShapeInputShape `json:"-" xml:"-"`
  239. }
  240. type metadataInputService3TestShapeInputShape struct {
  241. SDKShapeTraits bool `type:"structure"`
  242. }
  243. type InputService4ProtocolTest struct {
  244. *service.Service
  245. }
  246. // New returns a new InputService4ProtocolTest client.
  247. func NewInputService4ProtocolTest(config *aws.Config) *InputService4ProtocolTest {
  248. service := &service.Service{
  249. ServiceInfo: serviceinfo.ServiceInfo{
  250. Config: defaults.DefaultConfig.Merge(config),
  251. ServiceName: "inputservice4protocoltest",
  252. APIVersion: "2014-01-01",
  253. },
  254. }
  255. service.Initialize()
  256. // Handlers
  257. service.Handlers.Sign.PushBack(v4.Sign)
  258. service.Handlers.Build.PushBack(query.Build)
  259. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  260. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  261. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  262. return &InputService4ProtocolTest{service}
  263. }
  264. // newRequest creates a new request for a InputService4ProtocolTest operation and runs any
  265. // custom request initialization.
  266. func (c *InputService4ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  267. req := c.NewRequest(op, params, data)
  268. return req
  269. }
  270. const opInputService4TestCaseOperation1 = "OperationName"
  271. // InputService4TestCaseOperation1Request generates a request for the InputService4TestCaseOperation1 operation.
  272. func (c *InputService4ProtocolTest) InputService4TestCaseOperation1Request(input *InputService4TestShapeInputShape) (req *request.Request, output *InputService4TestShapeInputService4TestCaseOperation1Output) {
  273. op := &request.Operation{
  274. Name: opInputService4TestCaseOperation1,
  275. }
  276. if input == nil {
  277. input = &InputService4TestShapeInputShape{}
  278. }
  279. req = c.newRequest(op, input, output)
  280. output = &InputService4TestShapeInputService4TestCaseOperation1Output{}
  281. req.Data = output
  282. return
  283. }
  284. func (c *InputService4ProtocolTest) InputService4TestCaseOperation1(input *InputService4TestShapeInputShape) (*InputService4TestShapeInputService4TestCaseOperation1Output, error) {
  285. req, out := c.InputService4TestCaseOperation1Request(input)
  286. err := req.Send()
  287. return out, err
  288. }
  289. const opInputService4TestCaseOperation2 = "OperationName"
  290. // InputService4TestCaseOperation2Request generates a request for the InputService4TestCaseOperation2 operation.
  291. func (c *InputService4ProtocolTest) InputService4TestCaseOperation2Request(input *InputService4TestShapeInputShape) (req *request.Request, output *InputService4TestShapeInputService4TestCaseOperation2Output) {
  292. op := &request.Operation{
  293. Name: opInputService4TestCaseOperation2,
  294. }
  295. if input == nil {
  296. input = &InputService4TestShapeInputShape{}
  297. }
  298. req = c.newRequest(op, input, output)
  299. output = &InputService4TestShapeInputService4TestCaseOperation2Output{}
  300. req.Data = output
  301. return
  302. }
  303. func (c *InputService4ProtocolTest) InputService4TestCaseOperation2(input *InputService4TestShapeInputShape) (*InputService4TestShapeInputService4TestCaseOperation2Output, error) {
  304. req, out := c.InputService4TestCaseOperation2Request(input)
  305. err := req.Send()
  306. return out, err
  307. }
  308. type InputService4TestShapeInputService4TestCaseOperation1Output struct {
  309. metadataInputService4TestShapeInputService4TestCaseOperation1Output `json:"-" xml:"-"`
  310. }
  311. type metadataInputService4TestShapeInputService4TestCaseOperation1Output struct {
  312. SDKShapeTraits bool `type:"structure"`
  313. }
  314. type InputService4TestShapeInputService4TestCaseOperation2Output struct {
  315. metadataInputService4TestShapeInputService4TestCaseOperation2Output `json:"-" xml:"-"`
  316. }
  317. type metadataInputService4TestShapeInputService4TestCaseOperation2Output struct {
  318. SDKShapeTraits bool `type:"structure"`
  319. }
  320. type InputService4TestShapeInputShape struct {
  321. ListArg []*string `type:"list" flattened:"true"`
  322. ScalarArg *string `type:"string"`
  323. metadataInputService4TestShapeInputShape `json:"-" xml:"-"`
  324. }
  325. type metadataInputService4TestShapeInputShape struct {
  326. SDKShapeTraits bool `type:"structure"`
  327. }
  328. type InputService5ProtocolTest struct {
  329. *service.Service
  330. }
  331. // New returns a new InputService5ProtocolTest client.
  332. func NewInputService5ProtocolTest(config *aws.Config) *InputService5ProtocolTest {
  333. service := &service.Service{
  334. ServiceInfo: serviceinfo.ServiceInfo{
  335. Config: defaults.DefaultConfig.Merge(config),
  336. ServiceName: "inputservice5protocoltest",
  337. APIVersion: "2014-01-01",
  338. },
  339. }
  340. service.Initialize()
  341. // Handlers
  342. service.Handlers.Sign.PushBack(v4.Sign)
  343. service.Handlers.Build.PushBack(query.Build)
  344. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  345. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  346. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  347. return &InputService5ProtocolTest{service}
  348. }
  349. // newRequest creates a new request for a InputService5ProtocolTest operation and runs any
  350. // custom request initialization.
  351. func (c *InputService5ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  352. req := c.NewRequest(op, params, data)
  353. return req
  354. }
  355. const opInputService5TestCaseOperation1 = "OperationName"
  356. // InputService5TestCaseOperation1Request generates a request for the InputService5TestCaseOperation1 operation.
  357. func (c *InputService5ProtocolTest) InputService5TestCaseOperation1Request(input *InputService5TestShapeInputShape) (req *request.Request, output *InputService5TestShapeInputService5TestCaseOperation1Output) {
  358. op := &request.Operation{
  359. Name: opInputService5TestCaseOperation1,
  360. }
  361. if input == nil {
  362. input = &InputService5TestShapeInputShape{}
  363. }
  364. req = c.newRequest(op, input, output)
  365. output = &InputService5TestShapeInputService5TestCaseOperation1Output{}
  366. req.Data = output
  367. return
  368. }
  369. func (c *InputService5ProtocolTest) InputService5TestCaseOperation1(input *InputService5TestShapeInputShape) (*InputService5TestShapeInputService5TestCaseOperation1Output, error) {
  370. req, out := c.InputService5TestCaseOperation1Request(input)
  371. err := req.Send()
  372. return out, err
  373. }
  374. const opInputService5TestCaseOperation2 = "OperationName"
  375. // InputService5TestCaseOperation2Request generates a request for the InputService5TestCaseOperation2 operation.
  376. func (c *InputService5ProtocolTest) InputService5TestCaseOperation2Request(input *InputService5TestShapeInputShape) (req *request.Request, output *InputService5TestShapeInputService5TestCaseOperation2Output) {
  377. op := &request.Operation{
  378. Name: opInputService5TestCaseOperation2,
  379. }
  380. if input == nil {
  381. input = &InputService5TestShapeInputShape{}
  382. }
  383. req = c.newRequest(op, input, output)
  384. output = &InputService5TestShapeInputService5TestCaseOperation2Output{}
  385. req.Data = output
  386. return
  387. }
  388. func (c *InputService5ProtocolTest) InputService5TestCaseOperation2(input *InputService5TestShapeInputShape) (*InputService5TestShapeInputService5TestCaseOperation2Output, error) {
  389. req, out := c.InputService5TestCaseOperation2Request(input)
  390. err := req.Send()
  391. return out, err
  392. }
  393. type InputService5TestShapeInputService5TestCaseOperation1Output struct {
  394. metadataInputService5TestShapeInputService5TestCaseOperation1Output `json:"-" xml:"-"`
  395. }
  396. type metadataInputService5TestShapeInputService5TestCaseOperation1Output struct {
  397. SDKShapeTraits bool `type:"structure"`
  398. }
  399. type InputService5TestShapeInputService5TestCaseOperation2Output struct {
  400. metadataInputService5TestShapeInputService5TestCaseOperation2Output `json:"-" xml:"-"`
  401. }
  402. type metadataInputService5TestShapeInputService5TestCaseOperation2Output struct {
  403. SDKShapeTraits bool `type:"structure"`
  404. }
  405. type InputService5TestShapeInputShape struct {
  406. MapArg map[string]*string `type:"map"`
  407. metadataInputService5TestShapeInputShape `json:"-" xml:"-"`
  408. }
  409. type metadataInputService5TestShapeInputShape struct {
  410. SDKShapeTraits bool `type:"structure"`
  411. }
  412. type InputService6ProtocolTest struct {
  413. *service.Service
  414. }
  415. // New returns a new InputService6ProtocolTest client.
  416. func NewInputService6ProtocolTest(config *aws.Config) *InputService6ProtocolTest {
  417. service := &service.Service{
  418. ServiceInfo: serviceinfo.ServiceInfo{
  419. Config: defaults.DefaultConfig.Merge(config),
  420. ServiceName: "inputservice6protocoltest",
  421. APIVersion: "2014-01-01",
  422. },
  423. }
  424. service.Initialize()
  425. // Handlers
  426. service.Handlers.Sign.PushBack(v4.Sign)
  427. service.Handlers.Build.PushBack(query.Build)
  428. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  429. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  430. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  431. return &InputService6ProtocolTest{service}
  432. }
  433. // newRequest creates a new request for a InputService6ProtocolTest operation and runs any
  434. // custom request initialization.
  435. func (c *InputService6ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  436. req := c.NewRequest(op, params, data)
  437. return req
  438. }
  439. const opInputService6TestCaseOperation1 = "OperationName"
  440. // InputService6TestCaseOperation1Request generates a request for the InputService6TestCaseOperation1 operation.
  441. func (c *InputService6ProtocolTest) InputService6TestCaseOperation1Request(input *InputService6TestShapeInputService6TestCaseOperation1Input) (req *request.Request, output *InputService6TestShapeInputService6TestCaseOperation1Output) {
  442. op := &request.Operation{
  443. Name: opInputService6TestCaseOperation1,
  444. }
  445. if input == nil {
  446. input = &InputService6TestShapeInputService6TestCaseOperation1Input{}
  447. }
  448. req = c.newRequest(op, input, output)
  449. output = &InputService6TestShapeInputService6TestCaseOperation1Output{}
  450. req.Data = output
  451. return
  452. }
  453. func (c *InputService6ProtocolTest) InputService6TestCaseOperation1(input *InputService6TestShapeInputService6TestCaseOperation1Input) (*InputService6TestShapeInputService6TestCaseOperation1Output, error) {
  454. req, out := c.InputService6TestCaseOperation1Request(input)
  455. err := req.Send()
  456. return out, err
  457. }
  458. type InputService6TestShapeInputService6TestCaseOperation1Input struct {
  459. MapArg map[string]*string `locationNameKey:"TheKey" locationNameValue:"TheValue" type:"map"`
  460. metadataInputService6TestShapeInputService6TestCaseOperation1Input `json:"-" xml:"-"`
  461. }
  462. type metadataInputService6TestShapeInputService6TestCaseOperation1Input struct {
  463. SDKShapeTraits bool `type:"structure"`
  464. }
  465. type InputService6TestShapeInputService6TestCaseOperation1Output struct {
  466. metadataInputService6TestShapeInputService6TestCaseOperation1Output `json:"-" xml:"-"`
  467. }
  468. type metadataInputService6TestShapeInputService6TestCaseOperation1Output struct {
  469. SDKShapeTraits bool `type:"structure"`
  470. }
  471. type InputService7ProtocolTest struct {
  472. *service.Service
  473. }
  474. // New returns a new InputService7ProtocolTest client.
  475. func NewInputService7ProtocolTest(config *aws.Config) *InputService7ProtocolTest {
  476. service := &service.Service{
  477. ServiceInfo: serviceinfo.ServiceInfo{
  478. Config: defaults.DefaultConfig.Merge(config),
  479. ServiceName: "inputservice7protocoltest",
  480. APIVersion: "2014-01-01",
  481. },
  482. }
  483. service.Initialize()
  484. // Handlers
  485. service.Handlers.Sign.PushBack(v4.Sign)
  486. service.Handlers.Build.PushBack(query.Build)
  487. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  488. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  489. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  490. return &InputService7ProtocolTest{service}
  491. }
  492. // newRequest creates a new request for a InputService7ProtocolTest operation and runs any
  493. // custom request initialization.
  494. func (c *InputService7ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  495. req := c.NewRequest(op, params, data)
  496. return req
  497. }
  498. const opInputService7TestCaseOperation1 = "OperationName"
  499. // InputService7TestCaseOperation1Request generates a request for the InputService7TestCaseOperation1 operation.
  500. func (c *InputService7ProtocolTest) InputService7TestCaseOperation1Request(input *InputService7TestShapeInputService7TestCaseOperation1Input) (req *request.Request, output *InputService7TestShapeInputService7TestCaseOperation1Output) {
  501. op := &request.Operation{
  502. Name: opInputService7TestCaseOperation1,
  503. }
  504. if input == nil {
  505. input = &InputService7TestShapeInputService7TestCaseOperation1Input{}
  506. }
  507. req = c.newRequest(op, input, output)
  508. output = &InputService7TestShapeInputService7TestCaseOperation1Output{}
  509. req.Data = output
  510. return
  511. }
  512. func (c *InputService7ProtocolTest) InputService7TestCaseOperation1(input *InputService7TestShapeInputService7TestCaseOperation1Input) (*InputService7TestShapeInputService7TestCaseOperation1Output, error) {
  513. req, out := c.InputService7TestCaseOperation1Request(input)
  514. err := req.Send()
  515. return out, err
  516. }
  517. type InputService7TestShapeInputService7TestCaseOperation1Input struct {
  518. BlobArg []byte `type:"blob"`
  519. metadataInputService7TestShapeInputService7TestCaseOperation1Input `json:"-" xml:"-"`
  520. }
  521. type metadataInputService7TestShapeInputService7TestCaseOperation1Input struct {
  522. SDKShapeTraits bool `type:"structure"`
  523. }
  524. type InputService7TestShapeInputService7TestCaseOperation1Output struct {
  525. metadataInputService7TestShapeInputService7TestCaseOperation1Output `json:"-" xml:"-"`
  526. }
  527. type metadataInputService7TestShapeInputService7TestCaseOperation1Output struct {
  528. SDKShapeTraits bool `type:"structure"`
  529. }
  530. type InputService8ProtocolTest struct {
  531. *service.Service
  532. }
  533. // New returns a new InputService8ProtocolTest client.
  534. func NewInputService8ProtocolTest(config *aws.Config) *InputService8ProtocolTest {
  535. service := &service.Service{
  536. ServiceInfo: serviceinfo.ServiceInfo{
  537. Config: defaults.DefaultConfig.Merge(config),
  538. ServiceName: "inputservice8protocoltest",
  539. APIVersion: "2014-01-01",
  540. },
  541. }
  542. service.Initialize()
  543. // Handlers
  544. service.Handlers.Sign.PushBack(v4.Sign)
  545. service.Handlers.Build.PushBack(query.Build)
  546. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  547. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  548. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  549. return &InputService8ProtocolTest{service}
  550. }
  551. // newRequest creates a new request for a InputService8ProtocolTest operation and runs any
  552. // custom request initialization.
  553. func (c *InputService8ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  554. req := c.NewRequest(op, params, data)
  555. return req
  556. }
  557. const opInputService8TestCaseOperation1 = "OperationName"
  558. // InputService8TestCaseOperation1Request generates a request for the InputService8TestCaseOperation1 operation.
  559. func (c *InputService8ProtocolTest) InputService8TestCaseOperation1Request(input *InputService8TestShapeInputService8TestCaseOperation1Input) (req *request.Request, output *InputService8TestShapeInputService8TestCaseOperation1Output) {
  560. op := &request.Operation{
  561. Name: opInputService8TestCaseOperation1,
  562. }
  563. if input == nil {
  564. input = &InputService8TestShapeInputService8TestCaseOperation1Input{}
  565. }
  566. req = c.newRequest(op, input, output)
  567. output = &InputService8TestShapeInputService8TestCaseOperation1Output{}
  568. req.Data = output
  569. return
  570. }
  571. func (c *InputService8ProtocolTest) InputService8TestCaseOperation1(input *InputService8TestShapeInputService8TestCaseOperation1Input) (*InputService8TestShapeInputService8TestCaseOperation1Output, error) {
  572. req, out := c.InputService8TestCaseOperation1Request(input)
  573. err := req.Send()
  574. return out, err
  575. }
  576. type InputService8TestShapeInputService8TestCaseOperation1Input struct {
  577. TimeArg *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  578. metadataInputService8TestShapeInputService8TestCaseOperation1Input `json:"-" xml:"-"`
  579. }
  580. type metadataInputService8TestShapeInputService8TestCaseOperation1Input struct {
  581. SDKShapeTraits bool `type:"structure"`
  582. }
  583. type InputService8TestShapeInputService8TestCaseOperation1Output struct {
  584. metadataInputService8TestShapeInputService8TestCaseOperation1Output `json:"-" xml:"-"`
  585. }
  586. type metadataInputService8TestShapeInputService8TestCaseOperation1Output struct {
  587. SDKShapeTraits bool `type:"structure"`
  588. }
  589. type InputService9ProtocolTest struct {
  590. *service.Service
  591. }
  592. // New returns a new InputService9ProtocolTest client.
  593. func NewInputService9ProtocolTest(config *aws.Config) *InputService9ProtocolTest {
  594. service := &service.Service{
  595. ServiceInfo: serviceinfo.ServiceInfo{
  596. Config: defaults.DefaultConfig.Merge(config),
  597. ServiceName: "inputservice9protocoltest",
  598. APIVersion: "2014-01-01",
  599. },
  600. }
  601. service.Initialize()
  602. // Handlers
  603. service.Handlers.Sign.PushBack(v4.Sign)
  604. service.Handlers.Build.PushBack(query.Build)
  605. service.Handlers.Unmarshal.PushBack(query.Unmarshal)
  606. service.Handlers.UnmarshalMeta.PushBack(query.UnmarshalMeta)
  607. service.Handlers.UnmarshalError.PushBack(query.UnmarshalError)
  608. return &InputService9ProtocolTest{service}
  609. }
  610. // newRequest creates a new request for a InputService9ProtocolTest operation and runs any
  611. // custom request initialization.
  612. func (c *InputService9ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  613. req := c.NewRequest(op, params, data)
  614. return req
  615. }
  616. const opInputService9TestCaseOperation1 = "OperationName"
  617. // InputService9TestCaseOperation1Request generates a request for the InputService9TestCaseOperation1 operation.
  618. func (c *InputService9ProtocolTest) InputService9TestCaseOperation1Request(input *InputService9TestShapeInputShape) (req *request.Request, output *InputService9TestShapeInputService9TestCaseOperation1Output) {
  619. op := &request.Operation{
  620. Name: opInputService9TestCaseOperation1,
  621. }
  622. if input == nil {
  623. input = &InputService9TestShapeInputShape{}
  624. }
  625. req = c.newRequest(op, input, output)
  626. output = &InputService9TestShapeInputService9TestCaseOperation1Output{}
  627. req.Data = output
  628. return
  629. }
  630. func (c *InputService9ProtocolTest) InputService9TestCaseOperation1(input *InputService9TestShapeInputShape) (*InputService9TestShapeInputService9TestCaseOperation1Output, error) {
  631. req, out := c.InputService9TestCaseOperation1Request(input)
  632. err := req.Send()
  633. return out, err
  634. }
  635. const opInputService9TestCaseOperation2 = "OperationName"
  636. // InputService9TestCaseOperation2Request generates a request for the InputService9TestCaseOperation2 operation.
  637. func (c *InputService9ProtocolTest) InputService9TestCaseOperation2Request(input *InputService9TestShapeInputShape) (req *request.Request, output *InputService9TestShapeInputService9TestCaseOperation2Output) {
  638. op := &request.Operation{
  639. Name: opInputService9TestCaseOperation2,
  640. }
  641. if input == nil {
  642. input = &InputService9TestShapeInputShape{}
  643. }
  644. req = c.newRequest(op, input, output)
  645. output = &InputService9TestShapeInputService9TestCaseOperation2Output{}
  646. req.Data = output
  647. return
  648. }
  649. func (c *InputService9ProtocolTest) InputService9TestCaseOperation2(input *InputService9TestShapeInputShape) (*InputService9TestShapeInputService9TestCaseOperation2Output, error) {
  650. req, out := c.InputService9TestCaseOperation2Request(input)
  651. err := req.Send()
  652. return out, err
  653. }
  654. const opInputService9TestCaseOperation3 = "OperationName"
  655. // InputService9TestCaseOperation3Request generates a request for the InputService9TestCaseOperation3 operation.
  656. func (c *InputService9ProtocolTest) InputService9TestCaseOperation3Request(input *InputService9TestShapeInputShape) (req *request.Request, output *InputService9TestShapeInputService9TestCaseOperation3Output) {
  657. op := &request.Operation{
  658. Name: opInputService9TestCaseOperation3,
  659. }
  660. if input == nil {
  661. input = &InputService9TestShapeInputShape{}
  662. }
  663. req = c.newRequest(op, input, output)
  664. output = &InputService9TestShapeInputService9TestCaseOperation3Output{}
  665. req.Data = output
  666. return
  667. }
  668. func (c *InputService9ProtocolTest) InputService9TestCaseOperation3(input *InputService9TestShapeInputShape) (*InputService9TestShapeInputService9TestCaseOperation3Output, error) {
  669. req, out := c.InputService9TestCaseOperation3Request(input)
  670. err := req.Send()
  671. return out, err
  672. }
  673. const opInputService9TestCaseOperation4 = "OperationName"
  674. // InputService9TestCaseOperation4Request generates a request for the InputService9TestCaseOperation4 operation.
  675. func (c *InputService9ProtocolTest) InputService9TestCaseOperation4Request(input *InputService9TestShapeInputShape) (req *request.Request, output *InputService9TestShapeInputService9TestCaseOperation4Output) {
  676. op := &request.Operation{
  677. Name: opInputService9TestCaseOperation4,
  678. }
  679. if input == nil {
  680. input = &InputService9TestShapeInputShape{}
  681. }
  682. req = c.newRequest(op, input, output)
  683. output = &InputService9TestShapeInputService9TestCaseOperation4Output{}
  684. req.Data = output
  685. return
  686. }
  687. func (c *InputService9ProtocolTest) InputService9TestCaseOperation4(input *InputService9TestShapeInputShape) (*InputService9TestShapeInputService9TestCaseOperation4Output, error) {
  688. req, out := c.InputService9TestCaseOperation4Request(input)
  689. err := req.Send()
  690. return out, err
  691. }
  692. const opInputService9TestCaseOperation5 = "OperationName"
  693. // InputService9TestCaseOperation5Request generates a request for the InputService9TestCaseOperation5 operation.
  694. func (c *InputService9ProtocolTest) InputService9TestCaseOperation5Request(input *InputService9TestShapeInputShape) (req *request.Request, output *InputService9TestShapeInputService9TestCaseOperation5Output) {
  695. op := &request.Operation{
  696. Name: opInputService9TestCaseOperation5,
  697. }
  698. if input == nil {
  699. input = &InputService9TestShapeInputShape{}
  700. }
  701. req = c.newRequest(op, input, output)
  702. output = &InputService9TestShapeInputService9TestCaseOperation5Output{}
  703. req.Data = output
  704. return
  705. }
  706. func (c *InputService9ProtocolTest) InputService9TestCaseOperation5(input *InputService9TestShapeInputShape) (*InputService9TestShapeInputService9TestCaseOperation5Output, error) {
  707. req, out := c.InputService9TestCaseOperation5Request(input)
  708. err := req.Send()
  709. return out, err
  710. }
  711. const opInputService9TestCaseOperation6 = "OperationName"
  712. // InputService9TestCaseOperation6Request generates a request for the InputService9TestCaseOperation6 operation.
  713. func (c *InputService9ProtocolTest) InputService9TestCaseOperation6Request(input *InputService9TestShapeInputShape) (req *request.Request, output *InputService9TestShapeInputService9TestCaseOperation6Output) {
  714. op := &request.Operation{
  715. Name: opInputService9TestCaseOperation6,
  716. }
  717. if input == nil {
  718. input = &InputService9TestShapeInputShape{}
  719. }
  720. req = c.newRequest(op, input, output)
  721. output = &InputService9TestShapeInputService9TestCaseOperation6Output{}
  722. req.Data = output
  723. return
  724. }
  725. func (c *InputService9ProtocolTest) InputService9TestCaseOperation6(input *InputService9TestShapeInputShape) (*InputService9TestShapeInputService9TestCaseOperation6Output, error) {
  726. req, out := c.InputService9TestCaseOperation6Request(input)
  727. err := req.Send()
  728. return out, err
  729. }
  730. type InputService9TestShapeInputService9TestCaseOperation1Output struct {
  731. metadataInputService9TestShapeInputService9TestCaseOperation1Output `json:"-" xml:"-"`
  732. }
  733. type metadataInputService9TestShapeInputService9TestCaseOperation1Output struct {
  734. SDKShapeTraits bool `type:"structure"`
  735. }
  736. type InputService9TestShapeInputService9TestCaseOperation2Output struct {
  737. metadataInputService9TestShapeInputService9TestCaseOperation2Output `json:"-" xml:"-"`
  738. }
  739. type metadataInputService9TestShapeInputService9TestCaseOperation2Output struct {
  740. SDKShapeTraits bool `type:"structure"`
  741. }
  742. type InputService9TestShapeInputService9TestCaseOperation3Output struct {
  743. metadataInputService9TestShapeInputService9TestCaseOperation3Output `json:"-" xml:"-"`
  744. }
  745. type metadataInputService9TestShapeInputService9TestCaseOperation3Output struct {
  746. SDKShapeTraits bool `type:"structure"`
  747. }
  748. type InputService9TestShapeInputService9TestCaseOperation4Output struct {
  749. metadataInputService9TestShapeInputService9TestCaseOperation4Output `json:"-" xml:"-"`
  750. }
  751. type metadataInputService9TestShapeInputService9TestCaseOperation4Output struct {
  752. SDKShapeTraits bool `type:"structure"`
  753. }
  754. type InputService9TestShapeInputService9TestCaseOperation5Output struct {
  755. metadataInputService9TestShapeInputService9TestCaseOperation5Output `json:"-" xml:"-"`
  756. }
  757. type metadataInputService9TestShapeInputService9TestCaseOperation5Output struct {
  758. SDKShapeTraits bool `type:"structure"`
  759. }
  760. type InputService9TestShapeInputService9TestCaseOperation6Output struct {
  761. metadataInputService9TestShapeInputService9TestCaseOperation6Output `json:"-" xml:"-"`
  762. }
  763. type metadataInputService9TestShapeInputService9TestCaseOperation6Output struct {
  764. SDKShapeTraits bool `type:"structure"`
  765. }
  766. type InputService9TestShapeInputShape struct {
  767. RecursiveStruct *InputService9TestShapeRecursiveStructType `type:"structure"`
  768. metadataInputService9TestShapeInputShape `json:"-" xml:"-"`
  769. }
  770. type metadataInputService9TestShapeInputShape struct {
  771. SDKShapeTraits bool `type:"structure"`
  772. }
  773. type InputService9TestShapeRecursiveStructType struct {
  774. NoRecurse *string `type:"string"`
  775. RecursiveList []*InputService9TestShapeRecursiveStructType `type:"list"`
  776. RecursiveMap map[string]*InputService9TestShapeRecursiveStructType `type:"map"`
  777. RecursiveStruct *InputService9TestShapeRecursiveStructType `type:"structure"`
  778. metadataInputService9TestShapeRecursiveStructType `json:"-" xml:"-"`
  779. }
  780. type metadataInputService9TestShapeRecursiveStructType struct {
  781. SDKShapeTraits bool `type:"structure"`
  782. }
  783. //
  784. // Tests begin here
  785. //
  786. func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) {
  787. svc := NewInputService1ProtocolTest(nil)
  788. svc.Endpoint = "https://test"
  789. input := &InputService1TestShapeInputService1TestCaseOperation1Input{
  790. Bar: aws.String("val2"),
  791. Foo: aws.String("val1"),
  792. }
  793. req, _ := svc.InputService1TestCaseOperation1Request(input)
  794. r := req.HTTPRequest
  795. // build request
  796. query.Build(req)
  797. assert.NoError(t, req.Error)
  798. // assert body
  799. assert.NotNil(t, r.Body)
  800. body, _ := ioutil.ReadAll(r.Body)
  801. assert.Equal(t, util.Trim(`Action=OperationName&Bar=val2&Foo=val1&Version=2014-01-01`), util.Trim(string(body)))
  802. // assert URL
  803. assert.Equal(t, "https://test/", r.URL.String())
  804. // assert headers
  805. }
  806. func TestInputService2ProtocolTestNestedStructureMembersCase1(t *testing.T) {
  807. svc := NewInputService2ProtocolTest(nil)
  808. svc.Endpoint = "https://test"
  809. input := &InputService2TestShapeInputService2TestCaseOperation1Input{
  810. StructArg: &InputService2TestShapeStructType{
  811. ScalarArg: aws.String("foo"),
  812. },
  813. }
  814. req, _ := svc.InputService2TestCaseOperation1Request(input)
  815. r := req.HTTPRequest
  816. // build request
  817. query.Build(req)
  818. assert.NoError(t, req.Error)
  819. // assert body
  820. assert.NotNil(t, r.Body)
  821. body, _ := ioutil.ReadAll(r.Body)
  822. assert.Equal(t, util.Trim(`Action=OperationName&StructArg.ScalarArg=foo&Version=2014-01-01`), util.Trim(string(body)))
  823. // assert URL
  824. assert.Equal(t, "https://test/", r.URL.String())
  825. // assert headers
  826. }
  827. func TestInputService3ProtocolTestListTypesCase1(t *testing.T) {
  828. svc := NewInputService3ProtocolTest(nil)
  829. svc.Endpoint = "https://test"
  830. input := &InputService3TestShapeInputShape{
  831. ListArg: []*string{
  832. aws.String("foo"),
  833. aws.String("bar"),
  834. aws.String("baz"),
  835. },
  836. }
  837. req, _ := svc.InputService3TestCaseOperation1Request(input)
  838. r := req.HTTPRequest
  839. // build request
  840. query.Build(req)
  841. assert.NoError(t, req.Error)
  842. // assert body
  843. assert.NotNil(t, r.Body)
  844. body, _ := ioutil.ReadAll(r.Body)
  845. assert.Equal(t, util.Trim(`Action=OperationName&ListArg.member.1=foo&ListArg.member.2=bar&ListArg.member.3=baz&Version=2014-01-01`), util.Trim(string(body)))
  846. // assert URL
  847. assert.Equal(t, "https://test/", r.URL.String())
  848. // assert headers
  849. }
  850. func TestInputService3ProtocolTestListTypesCase2(t *testing.T) {
  851. svc := NewInputService3ProtocolTest(nil)
  852. svc.Endpoint = "https://test"
  853. input := &InputService3TestShapeInputShape{
  854. ListArg: []*string{},
  855. }
  856. req, _ := svc.InputService3TestCaseOperation2Request(input)
  857. r := req.HTTPRequest
  858. // build request
  859. query.Build(req)
  860. assert.NoError(t, req.Error)
  861. // assert body
  862. assert.NotNil(t, r.Body)
  863. body, _ := ioutil.ReadAll(r.Body)
  864. assert.Equal(t, util.Trim(`Action=OperationName&ListArg=&Version=2014-01-01`), util.Trim(string(body)))
  865. // assert URL
  866. assert.Equal(t, "https://test/", r.URL.String())
  867. // assert headers
  868. }
  869. func TestInputService4ProtocolTestFlattenedListCase1(t *testing.T) {
  870. svc := NewInputService4ProtocolTest(nil)
  871. svc.Endpoint = "https://test"
  872. input := &InputService4TestShapeInputShape{
  873. ListArg: []*string{
  874. aws.String("a"),
  875. aws.String("b"),
  876. aws.String("c"),
  877. },
  878. ScalarArg: aws.String("foo"),
  879. }
  880. req, _ := svc.InputService4TestCaseOperation1Request(input)
  881. r := req.HTTPRequest
  882. // build request
  883. query.Build(req)
  884. assert.NoError(t, req.Error)
  885. // assert body
  886. assert.NotNil(t, r.Body)
  887. body, _ := ioutil.ReadAll(r.Body)
  888. assert.Equal(t, util.Trim(`Action=OperationName&ListArg.1=a&ListArg.2=b&ListArg.3=c&ScalarArg=foo&Version=2014-01-01`), util.Trim(string(body)))
  889. // assert URL
  890. assert.Equal(t, "https://test/", r.URL.String())
  891. // assert headers
  892. }
  893. func TestInputService4ProtocolTestFlattenedListCase2(t *testing.T) {
  894. svc := NewInputService4ProtocolTest(nil)
  895. svc.Endpoint = "https://test"
  896. input := &InputService4TestShapeInputShape{
  897. ListArg: []*string{},
  898. ScalarArg: aws.String("foo"),
  899. }
  900. req, _ := svc.InputService4TestCaseOperation2Request(input)
  901. r := req.HTTPRequest
  902. // build request
  903. query.Build(req)
  904. assert.NoError(t, req.Error)
  905. // assert body
  906. assert.NotNil(t, r.Body)
  907. body, _ := ioutil.ReadAll(r.Body)
  908. assert.Equal(t, util.Trim(`Action=OperationName&ListArg=&ScalarArg=foo&Version=2014-01-01`), util.Trim(string(body)))
  909. // assert URL
  910. assert.Equal(t, "https://test/", r.URL.String())
  911. // assert headers
  912. }
  913. func TestInputService5ProtocolTestSerializeMapTypeCase1(t *testing.T) {
  914. svc := NewInputService5ProtocolTest(nil)
  915. svc.Endpoint = "https://test"
  916. input := &InputService5TestShapeInputShape{
  917. MapArg: map[string]*string{
  918. "key1": aws.String("val1"),
  919. "key2": aws.String("val2"),
  920. },
  921. }
  922. req, _ := svc.InputService5TestCaseOperation1Request(input)
  923. r := req.HTTPRequest
  924. // build request
  925. query.Build(req)
  926. assert.NoError(t, req.Error)
  927. // assert body
  928. assert.NotNil(t, r.Body)
  929. body, _ := ioutil.ReadAll(r.Body)
  930. assert.Equal(t, util.Trim(`Action=OperationName&MapArg.entry.1.key=key1&MapArg.entry.1.value=val1&MapArg.entry.2.key=key2&MapArg.entry.2.value=val2&Version=2014-01-01`), util.Trim(string(body)))
  931. // assert URL
  932. assert.Equal(t, "https://test/", r.URL.String())
  933. // assert headers
  934. }
  935. func TestInputService5ProtocolTestSerializeMapTypeCase2(t *testing.T) {
  936. svc := NewInputService5ProtocolTest(nil)
  937. svc.Endpoint = "https://test"
  938. input := &InputService5TestShapeInputShape{
  939. MapArg: map[string]*string{},
  940. }
  941. req, _ := svc.InputService5TestCaseOperation2Request(input)
  942. r := req.HTTPRequest
  943. // build request
  944. query.Build(req)
  945. assert.NoError(t, req.Error)
  946. // assert body
  947. assert.NotNil(t, r.Body)
  948. body, _ := ioutil.ReadAll(r.Body)
  949. assert.Equal(t, util.Trim(`Action=OperationName&MapArg=&Version=2014-01-01`), util.Trim(string(body)))
  950. // assert URL
  951. assert.Equal(t, "https://test/", r.URL.String())
  952. // assert headers
  953. }
  954. func TestInputService6ProtocolTestSerializeMapTypeWithLocationNameCase1(t *testing.T) {
  955. svc := NewInputService6ProtocolTest(nil)
  956. svc.Endpoint = "https://test"
  957. input := &InputService6TestShapeInputService6TestCaseOperation1Input{
  958. MapArg: map[string]*string{
  959. "key1": aws.String("val1"),
  960. "key2": aws.String("val2"),
  961. },
  962. }
  963. req, _ := svc.InputService6TestCaseOperation1Request(input)
  964. r := req.HTTPRequest
  965. // build request
  966. query.Build(req)
  967. assert.NoError(t, req.Error)
  968. // assert body
  969. assert.NotNil(t, r.Body)
  970. body, _ := ioutil.ReadAll(r.Body)
  971. assert.Equal(t, util.Trim(`Action=OperationName&MapArg.entry.1.TheKey=key1&MapArg.entry.1.TheValue=val1&MapArg.entry.2.TheKey=key2&MapArg.entry.2.TheValue=val2&Version=2014-01-01`), util.Trim(string(body)))
  972. // assert URL
  973. assert.Equal(t, "https://test/", r.URL.String())
  974. // assert headers
  975. }
  976. func TestInputService7ProtocolTestBase64EncodedBlobsCase1(t *testing.T) {
  977. svc := NewInputService7ProtocolTest(nil)
  978. svc.Endpoint = "https://test"
  979. input := &InputService7TestShapeInputService7TestCaseOperation1Input{
  980. BlobArg: []byte("foo"),
  981. }
  982. req, _ := svc.InputService7TestCaseOperation1Request(input)
  983. r := req.HTTPRequest
  984. // build request
  985. query.Build(req)
  986. assert.NoError(t, req.Error)
  987. // assert body
  988. assert.NotNil(t, r.Body)
  989. body, _ := ioutil.ReadAll(r.Body)
  990. assert.Equal(t, util.Trim(`Action=OperationName&BlobArg=Zm9v&Version=2014-01-01`), util.Trim(string(body)))
  991. // assert URL
  992. assert.Equal(t, "https://test/", r.URL.String())
  993. // assert headers
  994. }
  995. func TestInputService8ProtocolTestTimestampValuesCase1(t *testing.T) {
  996. svc := NewInputService8ProtocolTest(nil)
  997. svc.Endpoint = "https://test"
  998. input := &InputService8TestShapeInputService8TestCaseOperation1Input{
  999. TimeArg: aws.Time(time.Unix(1422172800, 0)),
  1000. }
  1001. req, _ := svc.InputService8TestCaseOperation1Request(input)
  1002. r := req.HTTPRequest
  1003. // build request
  1004. query.Build(req)
  1005. assert.NoError(t, req.Error)
  1006. // assert body
  1007. assert.NotNil(t, r.Body)
  1008. body, _ := ioutil.ReadAll(r.Body)
  1009. assert.Equal(t, util.Trim(`Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`), util.Trim(string(body)))
  1010. // assert URL
  1011. assert.Equal(t, "https://test/", r.URL.String())
  1012. // assert headers
  1013. }
  1014. func TestInputService9ProtocolTestRecursiveShapesCase1(t *testing.T) {
  1015. svc := NewInputService9ProtocolTest(nil)
  1016. svc.Endpoint = "https://test"
  1017. input := &InputService9TestShapeInputShape{
  1018. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1019. NoRecurse: aws.String("foo"),
  1020. },
  1021. }
  1022. req, _ := svc.InputService9TestCaseOperation1Request(input)
  1023. r := req.HTTPRequest
  1024. // build request
  1025. query.Build(req)
  1026. assert.NoError(t, req.Error)
  1027. // assert body
  1028. assert.NotNil(t, r.Body)
  1029. body, _ := ioutil.ReadAll(r.Body)
  1030. assert.Equal(t, util.Trim(`Action=OperationName&RecursiveStruct.NoRecurse=foo&Version=2014-01-01`), util.Trim(string(body)))
  1031. // assert URL
  1032. assert.Equal(t, "https://test/", r.URL.String())
  1033. // assert headers
  1034. }
  1035. func TestInputService9ProtocolTestRecursiveShapesCase2(t *testing.T) {
  1036. svc := NewInputService9ProtocolTest(nil)
  1037. svc.Endpoint = "https://test"
  1038. input := &InputService9TestShapeInputShape{
  1039. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1040. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1041. NoRecurse: aws.String("foo"),
  1042. },
  1043. },
  1044. }
  1045. req, _ := svc.InputService9TestCaseOperation2Request(input)
  1046. r := req.HTTPRequest
  1047. // build request
  1048. query.Build(req)
  1049. assert.NoError(t, req.Error)
  1050. // assert body
  1051. assert.NotNil(t, r.Body)
  1052. body, _ := ioutil.ReadAll(r.Body)
  1053. assert.Equal(t, util.Trim(`Action=OperationName&RecursiveStruct.RecursiveStruct.NoRecurse=foo&Version=2014-01-01`), util.Trim(string(body)))
  1054. // assert URL
  1055. assert.Equal(t, "https://test/", r.URL.String())
  1056. // assert headers
  1057. }
  1058. func TestInputService9ProtocolTestRecursiveShapesCase3(t *testing.T) {
  1059. svc := NewInputService9ProtocolTest(nil)
  1060. svc.Endpoint = "https://test"
  1061. input := &InputService9TestShapeInputShape{
  1062. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1063. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1064. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1065. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1066. NoRecurse: aws.String("foo"),
  1067. },
  1068. },
  1069. },
  1070. },
  1071. }
  1072. req, _ := svc.InputService9TestCaseOperation3Request(input)
  1073. r := req.HTTPRequest
  1074. // build request
  1075. query.Build(req)
  1076. assert.NoError(t, req.Error)
  1077. // assert body
  1078. assert.NotNil(t, r.Body)
  1079. body, _ := ioutil.ReadAll(r.Body)
  1080. assert.Equal(t, util.Trim(`Action=OperationName&RecursiveStruct.RecursiveStruct.RecursiveStruct.RecursiveStruct.NoRecurse=foo&Version=2014-01-01`), util.Trim(string(body)))
  1081. // assert URL
  1082. assert.Equal(t, "https://test/", r.URL.String())
  1083. // assert headers
  1084. }
  1085. func TestInputService9ProtocolTestRecursiveShapesCase4(t *testing.T) {
  1086. svc := NewInputService9ProtocolTest(nil)
  1087. svc.Endpoint = "https://test"
  1088. input := &InputService9TestShapeInputShape{
  1089. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1090. RecursiveList: []*InputService9TestShapeRecursiveStructType{
  1091. {
  1092. NoRecurse: aws.String("foo"),
  1093. },
  1094. {
  1095. NoRecurse: aws.String("bar"),
  1096. },
  1097. },
  1098. },
  1099. }
  1100. req, _ := svc.InputService9TestCaseOperation4Request(input)
  1101. r := req.HTTPRequest
  1102. // build request
  1103. query.Build(req)
  1104. assert.NoError(t, req.Error)
  1105. // assert body
  1106. assert.NotNil(t, r.Body)
  1107. body, _ := ioutil.ReadAll(r.Body)
  1108. assert.Equal(t, util.Trim(`Action=OperationName&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.NoRecurse=bar&Version=2014-01-01`), util.Trim(string(body)))
  1109. // assert URL
  1110. assert.Equal(t, "https://test/", r.URL.String())
  1111. // assert headers
  1112. }
  1113. func TestInputService9ProtocolTestRecursiveShapesCase5(t *testing.T) {
  1114. svc := NewInputService9ProtocolTest(nil)
  1115. svc.Endpoint = "https://test"
  1116. input := &InputService9TestShapeInputShape{
  1117. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1118. RecursiveList: []*InputService9TestShapeRecursiveStructType{
  1119. {
  1120. NoRecurse: aws.String("foo"),
  1121. },
  1122. {
  1123. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1124. NoRecurse: aws.String("bar"),
  1125. },
  1126. },
  1127. },
  1128. },
  1129. }
  1130. req, _ := svc.InputService9TestCaseOperation5Request(input)
  1131. r := req.HTTPRequest
  1132. // build request
  1133. query.Build(req)
  1134. assert.NoError(t, req.Error)
  1135. // assert body
  1136. assert.NotNil(t, r.Body)
  1137. body, _ := ioutil.ReadAll(r.Body)
  1138. assert.Equal(t, util.Trim(`Action=OperationName&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.RecursiveStruct.NoRecurse=bar&Version=2014-01-01`), util.Trim(string(body)))
  1139. // assert URL
  1140. assert.Equal(t, "https://test/", r.URL.String())
  1141. // assert headers
  1142. }
  1143. func TestInputService9ProtocolTestRecursiveShapesCase6(t *testing.T) {
  1144. svc := NewInputService9ProtocolTest(nil)
  1145. svc.Endpoint = "https://test"
  1146. input := &InputService9TestShapeInputShape{
  1147. RecursiveStruct: &InputService9TestShapeRecursiveStructType{
  1148. RecursiveMap: map[string]*InputService9TestShapeRecursiveStructType{
  1149. "bar": {
  1150. NoRecurse: aws.String("bar"),
  1151. },
  1152. "foo": {
  1153. NoRecurse: aws.String("foo"),
  1154. },
  1155. },
  1156. },
  1157. }
  1158. req, _ := svc.InputService9TestCaseOperation6Request(input)
  1159. r := req.HTTPRequest
  1160. // build request
  1161. query.Build(req)
  1162. assert.NoError(t, req.Error)
  1163. // assert body
  1164. assert.NotNil(t, r.Body)
  1165. body, _ := ioutil.ReadAll(r.Body)
  1166. assert.Equal(t, util.Trim(`Action=OperationName&RecursiveStruct.RecursiveMap.entry.1.key=bar&RecursiveStruct.RecursiveMap.entry.1.value.NoRecurse=bar&RecursiveStruct.RecursiveMap.entry.2.key=foo&RecursiveStruct.RecursiveMap.entry.2.value.NoRecurse=foo&Version=2014-01-01`), util.Trim(string(body)))
  1167. // assert URL
  1168. assert.Equal(t, "https://test/", r.URL.String())
  1169. // assert headers
  1170. }