build_test.go 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880
  1. package ec2query_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/ec2query"
  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(ec2query.Build)
  49. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  50. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  51. service.Handlers.UnmarshalError.PushBack(ec2query.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(ec2query.Build)
  109. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  110. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  111. service.Handlers.UnmarshalError.PushBack(ec2query.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. Bar *string `locationName:"barLocationName" type:"string"`
  141. Foo *string `type:"string"`
  142. Yuck *string `locationName:"yuckLocationName" queryName:"yuckQueryName" type:"string"`
  143. metadataInputService2TestShapeInputService2TestCaseOperation1Input `json:"-" xml:"-"`
  144. }
  145. type metadataInputService2TestShapeInputService2TestCaseOperation1Input struct {
  146. SDKShapeTraits bool `type:"structure"`
  147. }
  148. type InputService2TestShapeInputService2TestCaseOperation1Output struct {
  149. metadataInputService2TestShapeInputService2TestCaseOperation1Output `json:"-" xml:"-"`
  150. }
  151. type metadataInputService2TestShapeInputService2TestCaseOperation1Output struct {
  152. SDKShapeTraits bool `type:"structure"`
  153. }
  154. type InputService3ProtocolTest struct {
  155. *service.Service
  156. }
  157. // New returns a new InputService3ProtocolTest client.
  158. func NewInputService3ProtocolTest(config *aws.Config) *InputService3ProtocolTest {
  159. service := &service.Service{
  160. ServiceInfo: serviceinfo.ServiceInfo{
  161. Config: defaults.DefaultConfig.Merge(config),
  162. ServiceName: "inputservice3protocoltest",
  163. APIVersion: "2014-01-01",
  164. },
  165. }
  166. service.Initialize()
  167. // Handlers
  168. service.Handlers.Sign.PushBack(v4.Sign)
  169. service.Handlers.Build.PushBack(ec2query.Build)
  170. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  171. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  172. service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
  173. return &InputService3ProtocolTest{service}
  174. }
  175. // newRequest creates a new request for a InputService3ProtocolTest operation and runs any
  176. // custom request initialization.
  177. func (c *InputService3ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  178. req := c.NewRequest(op, params, data)
  179. return req
  180. }
  181. const opInputService3TestCaseOperation1 = "OperationName"
  182. // InputService3TestCaseOperation1Request generates a request for the InputService3TestCaseOperation1 operation.
  183. func (c *InputService3ProtocolTest) InputService3TestCaseOperation1Request(input *InputService3TestShapeInputService3TestCaseOperation1Input) (req *request.Request, output *InputService3TestShapeInputService3TestCaseOperation1Output) {
  184. op := &request.Operation{
  185. Name: opInputService3TestCaseOperation1,
  186. }
  187. if input == nil {
  188. input = &InputService3TestShapeInputService3TestCaseOperation1Input{}
  189. }
  190. req = c.newRequest(op, input, output)
  191. output = &InputService3TestShapeInputService3TestCaseOperation1Output{}
  192. req.Data = output
  193. return
  194. }
  195. func (c *InputService3ProtocolTest) InputService3TestCaseOperation1(input *InputService3TestShapeInputService3TestCaseOperation1Input) (*InputService3TestShapeInputService3TestCaseOperation1Output, error) {
  196. req, out := c.InputService3TestCaseOperation1Request(input)
  197. err := req.Send()
  198. return out, err
  199. }
  200. type InputService3TestShapeInputService3TestCaseOperation1Input struct {
  201. StructArg *InputService3TestShapeStructType `locationName:"Struct" type:"structure"`
  202. metadataInputService3TestShapeInputService3TestCaseOperation1Input `json:"-" xml:"-"`
  203. }
  204. type metadataInputService3TestShapeInputService3TestCaseOperation1Input struct {
  205. SDKShapeTraits bool `type:"structure"`
  206. }
  207. type InputService3TestShapeInputService3TestCaseOperation1Output struct {
  208. metadataInputService3TestShapeInputService3TestCaseOperation1Output `json:"-" xml:"-"`
  209. }
  210. type metadataInputService3TestShapeInputService3TestCaseOperation1Output struct {
  211. SDKShapeTraits bool `type:"structure"`
  212. }
  213. type InputService3TestShapeStructType struct {
  214. ScalarArg *string `locationName:"Scalar" type:"string"`
  215. metadataInputService3TestShapeStructType `json:"-" xml:"-"`
  216. }
  217. type metadataInputService3TestShapeStructType struct {
  218. SDKShapeTraits bool `type:"structure"`
  219. }
  220. type InputService4ProtocolTest struct {
  221. *service.Service
  222. }
  223. // New returns a new InputService4ProtocolTest client.
  224. func NewInputService4ProtocolTest(config *aws.Config) *InputService4ProtocolTest {
  225. service := &service.Service{
  226. ServiceInfo: serviceinfo.ServiceInfo{
  227. Config: defaults.DefaultConfig.Merge(config),
  228. ServiceName: "inputservice4protocoltest",
  229. APIVersion: "2014-01-01",
  230. },
  231. }
  232. service.Initialize()
  233. // Handlers
  234. service.Handlers.Sign.PushBack(v4.Sign)
  235. service.Handlers.Build.PushBack(ec2query.Build)
  236. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  237. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  238. service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
  239. return &InputService4ProtocolTest{service}
  240. }
  241. // newRequest creates a new request for a InputService4ProtocolTest operation and runs any
  242. // custom request initialization.
  243. func (c *InputService4ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  244. req := c.NewRequest(op, params, data)
  245. return req
  246. }
  247. const opInputService4TestCaseOperation1 = "OperationName"
  248. // InputService4TestCaseOperation1Request generates a request for the InputService4TestCaseOperation1 operation.
  249. func (c *InputService4ProtocolTest) InputService4TestCaseOperation1Request(input *InputService4TestShapeInputService4TestCaseOperation1Input) (req *request.Request, output *InputService4TestShapeInputService4TestCaseOperation1Output) {
  250. op := &request.Operation{
  251. Name: opInputService4TestCaseOperation1,
  252. }
  253. if input == nil {
  254. input = &InputService4TestShapeInputService4TestCaseOperation1Input{}
  255. }
  256. req = c.newRequest(op, input, output)
  257. output = &InputService4TestShapeInputService4TestCaseOperation1Output{}
  258. req.Data = output
  259. return
  260. }
  261. func (c *InputService4ProtocolTest) InputService4TestCaseOperation1(input *InputService4TestShapeInputService4TestCaseOperation1Input) (*InputService4TestShapeInputService4TestCaseOperation1Output, error) {
  262. req, out := c.InputService4TestCaseOperation1Request(input)
  263. err := req.Send()
  264. return out, err
  265. }
  266. type InputService4TestShapeInputService4TestCaseOperation1Input struct {
  267. ListArg []*string `type:"list"`
  268. metadataInputService4TestShapeInputService4TestCaseOperation1Input `json:"-" xml:"-"`
  269. }
  270. type metadataInputService4TestShapeInputService4TestCaseOperation1Input struct {
  271. SDKShapeTraits bool `type:"structure"`
  272. }
  273. type InputService4TestShapeInputService4TestCaseOperation1Output struct {
  274. metadataInputService4TestShapeInputService4TestCaseOperation1Output `json:"-" xml:"-"`
  275. }
  276. type metadataInputService4TestShapeInputService4TestCaseOperation1Output struct {
  277. SDKShapeTraits bool `type:"structure"`
  278. }
  279. type InputService5ProtocolTest struct {
  280. *service.Service
  281. }
  282. // New returns a new InputService5ProtocolTest client.
  283. func NewInputService5ProtocolTest(config *aws.Config) *InputService5ProtocolTest {
  284. service := &service.Service{
  285. ServiceInfo: serviceinfo.ServiceInfo{
  286. Config: defaults.DefaultConfig.Merge(config),
  287. ServiceName: "inputservice5protocoltest",
  288. APIVersion: "2014-01-01",
  289. },
  290. }
  291. service.Initialize()
  292. // Handlers
  293. service.Handlers.Sign.PushBack(v4.Sign)
  294. service.Handlers.Build.PushBack(ec2query.Build)
  295. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  296. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  297. service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
  298. return &InputService5ProtocolTest{service}
  299. }
  300. // newRequest creates a new request for a InputService5ProtocolTest operation and runs any
  301. // custom request initialization.
  302. func (c *InputService5ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  303. req := c.NewRequest(op, params, data)
  304. return req
  305. }
  306. const opInputService5TestCaseOperation1 = "OperationName"
  307. // InputService5TestCaseOperation1Request generates a request for the InputService5TestCaseOperation1 operation.
  308. func (c *InputService5ProtocolTest) InputService5TestCaseOperation1Request(input *InputService5TestShapeInputService5TestCaseOperation1Input) (req *request.Request, output *InputService5TestShapeInputService5TestCaseOperation1Output) {
  309. op := &request.Operation{
  310. Name: opInputService5TestCaseOperation1,
  311. }
  312. if input == nil {
  313. input = &InputService5TestShapeInputService5TestCaseOperation1Input{}
  314. }
  315. req = c.newRequest(op, input, output)
  316. output = &InputService5TestShapeInputService5TestCaseOperation1Output{}
  317. req.Data = output
  318. return
  319. }
  320. func (c *InputService5ProtocolTest) InputService5TestCaseOperation1(input *InputService5TestShapeInputService5TestCaseOperation1Input) (*InputService5TestShapeInputService5TestCaseOperation1Output, error) {
  321. req, out := c.InputService5TestCaseOperation1Request(input)
  322. err := req.Send()
  323. return out, err
  324. }
  325. type InputService5TestShapeInputService5TestCaseOperation1Input struct {
  326. ListArg []*string `locationName:"ListMemberName" locationNameList:"item" type:"list"`
  327. metadataInputService5TestShapeInputService5TestCaseOperation1Input `json:"-" xml:"-"`
  328. }
  329. type metadataInputService5TestShapeInputService5TestCaseOperation1Input struct {
  330. SDKShapeTraits bool `type:"structure"`
  331. }
  332. type InputService5TestShapeInputService5TestCaseOperation1Output struct {
  333. metadataInputService5TestShapeInputService5TestCaseOperation1Output `json:"-" xml:"-"`
  334. }
  335. type metadataInputService5TestShapeInputService5TestCaseOperation1Output struct {
  336. SDKShapeTraits bool `type:"structure"`
  337. }
  338. type InputService6ProtocolTest struct {
  339. *service.Service
  340. }
  341. // New returns a new InputService6ProtocolTest client.
  342. func NewInputService6ProtocolTest(config *aws.Config) *InputService6ProtocolTest {
  343. service := &service.Service{
  344. ServiceInfo: serviceinfo.ServiceInfo{
  345. Config: defaults.DefaultConfig.Merge(config),
  346. ServiceName: "inputservice6protocoltest",
  347. APIVersion: "2014-01-01",
  348. },
  349. }
  350. service.Initialize()
  351. // Handlers
  352. service.Handlers.Sign.PushBack(v4.Sign)
  353. service.Handlers.Build.PushBack(ec2query.Build)
  354. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  355. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  356. service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
  357. return &InputService6ProtocolTest{service}
  358. }
  359. // newRequest creates a new request for a InputService6ProtocolTest operation and runs any
  360. // custom request initialization.
  361. func (c *InputService6ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  362. req := c.NewRequest(op, params, data)
  363. return req
  364. }
  365. const opInputService6TestCaseOperation1 = "OperationName"
  366. // InputService6TestCaseOperation1Request generates a request for the InputService6TestCaseOperation1 operation.
  367. func (c *InputService6ProtocolTest) InputService6TestCaseOperation1Request(input *InputService6TestShapeInputService6TestCaseOperation1Input) (req *request.Request, output *InputService6TestShapeInputService6TestCaseOperation1Output) {
  368. op := &request.Operation{
  369. Name: opInputService6TestCaseOperation1,
  370. }
  371. if input == nil {
  372. input = &InputService6TestShapeInputService6TestCaseOperation1Input{}
  373. }
  374. req = c.newRequest(op, input, output)
  375. output = &InputService6TestShapeInputService6TestCaseOperation1Output{}
  376. req.Data = output
  377. return
  378. }
  379. func (c *InputService6ProtocolTest) InputService6TestCaseOperation1(input *InputService6TestShapeInputService6TestCaseOperation1Input) (*InputService6TestShapeInputService6TestCaseOperation1Output, error) {
  380. req, out := c.InputService6TestCaseOperation1Request(input)
  381. err := req.Send()
  382. return out, err
  383. }
  384. type InputService6TestShapeInputService6TestCaseOperation1Input struct {
  385. ListArg []*string `locationName:"ListMemberName" queryName:"ListQueryName" locationNameList:"item" type:"list"`
  386. metadataInputService6TestShapeInputService6TestCaseOperation1Input `json:"-" xml:"-"`
  387. }
  388. type metadataInputService6TestShapeInputService6TestCaseOperation1Input struct {
  389. SDKShapeTraits bool `type:"structure"`
  390. }
  391. type InputService6TestShapeInputService6TestCaseOperation1Output struct {
  392. metadataInputService6TestShapeInputService6TestCaseOperation1Output `json:"-" xml:"-"`
  393. }
  394. type metadataInputService6TestShapeInputService6TestCaseOperation1Output struct {
  395. SDKShapeTraits bool `type:"structure"`
  396. }
  397. type InputService7ProtocolTest struct {
  398. *service.Service
  399. }
  400. // New returns a new InputService7ProtocolTest client.
  401. func NewInputService7ProtocolTest(config *aws.Config) *InputService7ProtocolTest {
  402. service := &service.Service{
  403. ServiceInfo: serviceinfo.ServiceInfo{
  404. Config: defaults.DefaultConfig.Merge(config),
  405. ServiceName: "inputservice7protocoltest",
  406. APIVersion: "2014-01-01",
  407. },
  408. }
  409. service.Initialize()
  410. // Handlers
  411. service.Handlers.Sign.PushBack(v4.Sign)
  412. service.Handlers.Build.PushBack(ec2query.Build)
  413. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  414. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  415. service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
  416. return &InputService7ProtocolTest{service}
  417. }
  418. // newRequest creates a new request for a InputService7ProtocolTest operation and runs any
  419. // custom request initialization.
  420. func (c *InputService7ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  421. req := c.NewRequest(op, params, data)
  422. return req
  423. }
  424. const opInputService7TestCaseOperation1 = "OperationName"
  425. // InputService7TestCaseOperation1Request generates a request for the InputService7TestCaseOperation1 operation.
  426. func (c *InputService7ProtocolTest) InputService7TestCaseOperation1Request(input *InputService7TestShapeInputService7TestCaseOperation1Input) (req *request.Request, output *InputService7TestShapeInputService7TestCaseOperation1Output) {
  427. op := &request.Operation{
  428. Name: opInputService7TestCaseOperation1,
  429. }
  430. if input == nil {
  431. input = &InputService7TestShapeInputService7TestCaseOperation1Input{}
  432. }
  433. req = c.newRequest(op, input, output)
  434. output = &InputService7TestShapeInputService7TestCaseOperation1Output{}
  435. req.Data = output
  436. return
  437. }
  438. func (c *InputService7ProtocolTest) InputService7TestCaseOperation1(input *InputService7TestShapeInputService7TestCaseOperation1Input) (*InputService7TestShapeInputService7TestCaseOperation1Output, error) {
  439. req, out := c.InputService7TestCaseOperation1Request(input)
  440. err := req.Send()
  441. return out, err
  442. }
  443. type InputService7TestShapeInputService7TestCaseOperation1Input struct {
  444. BlobArg []byte `type:"blob"`
  445. metadataInputService7TestShapeInputService7TestCaseOperation1Input `json:"-" xml:"-"`
  446. }
  447. type metadataInputService7TestShapeInputService7TestCaseOperation1Input struct {
  448. SDKShapeTraits bool `type:"structure"`
  449. }
  450. type InputService7TestShapeInputService7TestCaseOperation1Output struct {
  451. metadataInputService7TestShapeInputService7TestCaseOperation1Output `json:"-" xml:"-"`
  452. }
  453. type metadataInputService7TestShapeInputService7TestCaseOperation1Output struct {
  454. SDKShapeTraits bool `type:"structure"`
  455. }
  456. type InputService8ProtocolTest struct {
  457. *service.Service
  458. }
  459. // New returns a new InputService8ProtocolTest client.
  460. func NewInputService8ProtocolTest(config *aws.Config) *InputService8ProtocolTest {
  461. service := &service.Service{
  462. ServiceInfo: serviceinfo.ServiceInfo{
  463. Config: defaults.DefaultConfig.Merge(config),
  464. ServiceName: "inputservice8protocoltest",
  465. APIVersion: "2014-01-01",
  466. },
  467. }
  468. service.Initialize()
  469. // Handlers
  470. service.Handlers.Sign.PushBack(v4.Sign)
  471. service.Handlers.Build.PushBack(ec2query.Build)
  472. service.Handlers.Unmarshal.PushBack(ec2query.Unmarshal)
  473. service.Handlers.UnmarshalMeta.PushBack(ec2query.UnmarshalMeta)
  474. service.Handlers.UnmarshalError.PushBack(ec2query.UnmarshalError)
  475. return &InputService8ProtocolTest{service}
  476. }
  477. // newRequest creates a new request for a InputService8ProtocolTest operation and runs any
  478. // custom request initialization.
  479. func (c *InputService8ProtocolTest) newRequest(op *request.Operation, params, data interface{}) *request.Request {
  480. req := c.NewRequest(op, params, data)
  481. return req
  482. }
  483. const opInputService8TestCaseOperation1 = "OperationName"
  484. // InputService8TestCaseOperation1Request generates a request for the InputService8TestCaseOperation1 operation.
  485. func (c *InputService8ProtocolTest) InputService8TestCaseOperation1Request(input *InputService8TestShapeInputService8TestCaseOperation1Input) (req *request.Request, output *InputService8TestShapeInputService8TestCaseOperation1Output) {
  486. op := &request.Operation{
  487. Name: opInputService8TestCaseOperation1,
  488. }
  489. if input == nil {
  490. input = &InputService8TestShapeInputService8TestCaseOperation1Input{}
  491. }
  492. req = c.newRequest(op, input, output)
  493. output = &InputService8TestShapeInputService8TestCaseOperation1Output{}
  494. req.Data = output
  495. return
  496. }
  497. func (c *InputService8ProtocolTest) InputService8TestCaseOperation1(input *InputService8TestShapeInputService8TestCaseOperation1Input) (*InputService8TestShapeInputService8TestCaseOperation1Output, error) {
  498. req, out := c.InputService8TestCaseOperation1Request(input)
  499. err := req.Send()
  500. return out, err
  501. }
  502. type InputService8TestShapeInputService8TestCaseOperation1Input struct {
  503. TimeArg *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  504. metadataInputService8TestShapeInputService8TestCaseOperation1Input `json:"-" xml:"-"`
  505. }
  506. type metadataInputService8TestShapeInputService8TestCaseOperation1Input struct {
  507. SDKShapeTraits bool `type:"structure"`
  508. }
  509. type InputService8TestShapeInputService8TestCaseOperation1Output struct {
  510. metadataInputService8TestShapeInputService8TestCaseOperation1Output `json:"-" xml:"-"`
  511. }
  512. type metadataInputService8TestShapeInputService8TestCaseOperation1Output struct {
  513. SDKShapeTraits bool `type:"structure"`
  514. }
  515. //
  516. // Tests begin here
  517. //
  518. func TestInputService1ProtocolTestScalarMembersCase1(t *testing.T) {
  519. svc := NewInputService1ProtocolTest(nil)
  520. svc.Endpoint = "https://test"
  521. input := &InputService1TestShapeInputService1TestCaseOperation1Input{
  522. Bar: aws.String("val2"),
  523. Foo: aws.String("val1"),
  524. }
  525. req, _ := svc.InputService1TestCaseOperation1Request(input)
  526. r := req.HTTPRequest
  527. // build request
  528. ec2query.Build(req)
  529. assert.NoError(t, req.Error)
  530. // assert body
  531. assert.NotNil(t, r.Body)
  532. body, _ := ioutil.ReadAll(r.Body)
  533. assert.Equal(t, util.Trim(`Action=OperationName&Bar=val2&Foo=val1&Version=2014-01-01`), util.Trim(string(body)))
  534. // assert URL
  535. assert.Equal(t, "https://test/", r.URL.String())
  536. // assert headers
  537. }
  538. func TestInputService2ProtocolTestStructureWithLocationNameAndQueryNameAppliedToMembersCase1(t *testing.T) {
  539. svc := NewInputService2ProtocolTest(nil)
  540. svc.Endpoint = "https://test"
  541. input := &InputService2TestShapeInputService2TestCaseOperation1Input{
  542. Bar: aws.String("val2"),
  543. Foo: aws.String("val1"),
  544. Yuck: aws.String("val3"),
  545. }
  546. req, _ := svc.InputService2TestCaseOperation1Request(input)
  547. r := req.HTTPRequest
  548. // build request
  549. ec2query.Build(req)
  550. assert.NoError(t, req.Error)
  551. // assert body
  552. assert.NotNil(t, r.Body)
  553. body, _ := ioutil.ReadAll(r.Body)
  554. assert.Equal(t, util.Trim(`Action=OperationName&BarLocationName=val2&Foo=val1&Version=2014-01-01&yuckQueryName=val3`), util.Trim(string(body)))
  555. // assert URL
  556. assert.Equal(t, "https://test/", r.URL.String())
  557. // assert headers
  558. }
  559. func TestInputService3ProtocolTestNestedStructureMembersCase1(t *testing.T) {
  560. svc := NewInputService3ProtocolTest(nil)
  561. svc.Endpoint = "https://test"
  562. input := &InputService3TestShapeInputService3TestCaseOperation1Input{
  563. StructArg: &InputService3TestShapeStructType{
  564. ScalarArg: aws.String("foo"),
  565. },
  566. }
  567. req, _ := svc.InputService3TestCaseOperation1Request(input)
  568. r := req.HTTPRequest
  569. // build request
  570. ec2query.Build(req)
  571. assert.NoError(t, req.Error)
  572. // assert body
  573. assert.NotNil(t, r.Body)
  574. body, _ := ioutil.ReadAll(r.Body)
  575. assert.Equal(t, util.Trim(`Action=OperationName&Struct.Scalar=foo&Version=2014-01-01`), util.Trim(string(body)))
  576. // assert URL
  577. assert.Equal(t, "https://test/", r.URL.String())
  578. // assert headers
  579. }
  580. func TestInputService4ProtocolTestListTypesCase1(t *testing.T) {
  581. svc := NewInputService4ProtocolTest(nil)
  582. svc.Endpoint = "https://test"
  583. input := &InputService4TestShapeInputService4TestCaseOperation1Input{
  584. ListArg: []*string{
  585. aws.String("foo"),
  586. aws.String("bar"),
  587. aws.String("baz"),
  588. },
  589. }
  590. req, _ := svc.InputService4TestCaseOperation1Request(input)
  591. r := req.HTTPRequest
  592. // build request
  593. ec2query.Build(req)
  594. assert.NoError(t, req.Error)
  595. // assert body
  596. assert.NotNil(t, r.Body)
  597. body, _ := ioutil.ReadAll(r.Body)
  598. assert.Equal(t, util.Trim(`Action=OperationName&ListArg.1=foo&ListArg.2=bar&ListArg.3=baz&Version=2014-01-01`), util.Trim(string(body)))
  599. // assert URL
  600. assert.Equal(t, "https://test/", r.URL.String())
  601. // assert headers
  602. }
  603. func TestInputService5ProtocolTestListWithLocationNameAppliedToMemberCase1(t *testing.T) {
  604. svc := NewInputService5ProtocolTest(nil)
  605. svc.Endpoint = "https://test"
  606. input := &InputService5TestShapeInputService5TestCaseOperation1Input{
  607. ListArg: []*string{
  608. aws.String("a"),
  609. aws.String("b"),
  610. aws.String("c"),
  611. },
  612. }
  613. req, _ := svc.InputService5TestCaseOperation1Request(input)
  614. r := req.HTTPRequest
  615. // build request
  616. ec2query.Build(req)
  617. assert.NoError(t, req.Error)
  618. // assert body
  619. assert.NotNil(t, r.Body)
  620. body, _ := ioutil.ReadAll(r.Body)
  621. assert.Equal(t, util.Trim(`Action=OperationName&ListMemberName.1=a&ListMemberName.2=b&ListMemberName.3=c&Version=2014-01-01`), util.Trim(string(body)))
  622. // assert URL
  623. assert.Equal(t, "https://test/", r.URL.String())
  624. // assert headers
  625. }
  626. func TestInputService6ProtocolTestListWithLocationNameAndQueryNameCase1(t *testing.T) {
  627. svc := NewInputService6ProtocolTest(nil)
  628. svc.Endpoint = "https://test"
  629. input := &InputService6TestShapeInputService6TestCaseOperation1Input{
  630. ListArg: []*string{
  631. aws.String("a"),
  632. aws.String("b"),
  633. aws.String("c"),
  634. },
  635. }
  636. req, _ := svc.InputService6TestCaseOperation1Request(input)
  637. r := req.HTTPRequest
  638. // build request
  639. ec2query.Build(req)
  640. assert.NoError(t, req.Error)
  641. // assert body
  642. assert.NotNil(t, r.Body)
  643. body, _ := ioutil.ReadAll(r.Body)
  644. assert.Equal(t, util.Trim(`Action=OperationName&ListQueryName.1=a&ListQueryName.2=b&ListQueryName.3=c&Version=2014-01-01`), util.Trim(string(body)))
  645. // assert URL
  646. assert.Equal(t, "https://test/", r.URL.String())
  647. // assert headers
  648. }
  649. func TestInputService7ProtocolTestBase64EncodedBlobsCase1(t *testing.T) {
  650. svc := NewInputService7ProtocolTest(nil)
  651. svc.Endpoint = "https://test"
  652. input := &InputService7TestShapeInputService7TestCaseOperation1Input{
  653. BlobArg: []byte("foo"),
  654. }
  655. req, _ := svc.InputService7TestCaseOperation1Request(input)
  656. r := req.HTTPRequest
  657. // build request
  658. ec2query.Build(req)
  659. assert.NoError(t, req.Error)
  660. // assert body
  661. assert.NotNil(t, r.Body)
  662. body, _ := ioutil.ReadAll(r.Body)
  663. assert.Equal(t, util.Trim(`Action=OperationName&BlobArg=Zm9v&Version=2014-01-01`), util.Trim(string(body)))
  664. // assert URL
  665. assert.Equal(t, "https://test/", r.URL.String())
  666. // assert headers
  667. }
  668. func TestInputService8ProtocolTestTimestampValuesCase1(t *testing.T) {
  669. svc := NewInputService8ProtocolTest(nil)
  670. svc.Endpoint = "https://test"
  671. input := &InputService8TestShapeInputService8TestCaseOperation1Input{
  672. TimeArg: aws.Time(time.Unix(1422172800, 0)),
  673. }
  674. req, _ := svc.InputService8TestCaseOperation1Request(input)
  675. r := req.HTTPRequest
  676. // build request
  677. ec2query.Build(req)
  678. assert.NoError(t, req.Error)
  679. // assert body
  680. assert.NotNil(t, r.Body)
  681. body, _ := ioutil.ReadAll(r.Body)
  682. assert.Equal(t, util.Trim(`Action=OperationName&TimeArg=2015-01-25T08%3A00%3A00Z&Version=2014-01-01`), util.Trim(string(body)))
  683. // assert URL
  684. assert.Equal(t, "https://test/", r.URL.String())
  685. // assert headers
  686. }