build_test.go 48 KB

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