wsdl-mapper 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (617) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +21 -0
  3. data/.gitignore +13 -0
  4. data/.rubocop.yml +1156 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/.yardopts +3 -0
  8. data/Gemfile +4 -0
  9. data/Guardfile +49 -0
  10. data/LICENSE +21 -0
  11. data/README.md +76 -0
  12. data/Rakefile +18 -0
  13. data/bin/wsdl-mapper +7 -0
  14. data/doc/WsdlMapper.html +129 -0
  15. data/doc/WsdlMapper/Cli.html +124 -0
  16. data/doc/WsdlMapper/Cli/Cli.html +132 -0
  17. data/doc/WsdlMapper/Cli/Generate.html +482 -0
  18. data/doc/WsdlMapper/CoreExt.html +115 -0
  19. data/doc/WsdlMapper/CoreExt/TimeDuration.html +1476 -0
  20. data/doc/WsdlMapper/D10rGeneration.html +117 -0
  21. data/doc/WsdlMapper/D10rGeneration/D10rGenerator.html +473 -0
  22. data/doc/WsdlMapper/D10rGeneration/Facade.html +208 -0
  23. data/doc/WsdlMapper/Deserializers.html +119 -0
  24. data/doc/WsdlMapper/Deserializers/AttrMapping.html +617 -0
  25. data/doc/WsdlMapper/Deserializers/ClassMapping.html +1157 -0
  26. data/doc/WsdlMapper/Deserializers/ClassMapping/Delegate.html +303 -0
  27. data/doc/WsdlMapper/Deserializers/Deserializer.html +760 -0
  28. data/doc/WsdlMapper/Deserializers/ElementDirectory.html +554 -0
  29. data/doc/WsdlMapper/Deserializers/ElementDirectory/ElementItem.html +541 -0
  30. data/doc/WsdlMapper/Deserializers/Errors.html +115 -0
  31. data/doc/WsdlMapper/Deserializers/Errors/UnknownAttributeError.html +147 -0
  32. data/doc/WsdlMapper/Deserializers/Errors/UnknownElementError.html +147 -0
  33. data/doc/WsdlMapper/Deserializers/Errors/UnknownError.html +415 -0
  34. data/doc/WsdlMapper/Deserializers/Errors/UnknownTypeError.html +147 -0
  35. data/doc/WsdlMapper/Deserializers/Frame.html +1038 -0
  36. data/doc/WsdlMapper/Deserializers/LazyLoadingDeserializer.html +287 -0
  37. data/doc/WsdlMapper/Deserializers/PropMapping.html +365 -0
  38. data/doc/WsdlMapper/Deserializers/SaxDocument.html +773 -0
  39. data/doc/WsdlMapper/Deserializers/SoapArrayMapping.html +452 -0
  40. data/doc/WsdlMapper/Deserializers/TypeDirectory.html +386 -0
  41. data/doc/WsdlMapper/Dom.html +123 -0
  42. data/doc/WsdlMapper/Dom/Attribute.html +1156 -0
  43. data/doc/WsdlMapper/Dom/Attribute/Ref.html +222 -0
  44. data/doc/WsdlMapper/Dom/Bounds.html +472 -0
  45. data/doc/WsdlMapper/Dom/Builder.html +696 -0
  46. data/doc/WsdlMapper/Dom/BuiltinType.html +246 -0
  47. data/doc/WsdlMapper/Dom/ComplexType.html +1448 -0
  48. data/doc/WsdlMapper/Dom/Directory.html +735 -0
  49. data/doc/WsdlMapper/Dom/Documentation.html +428 -0
  50. data/doc/WsdlMapper/Dom/Element.html +486 -0
  51. data/doc/WsdlMapper/Dom/EnumerationValue.html +213 -0
  52. data/doc/WsdlMapper/Dom/Name.html +908 -0
  53. data/doc/WsdlMapper/Dom/Namespaces.html +618 -0
  54. data/doc/WsdlMapper/Dom/Property.html +1372 -0
  55. data/doc/WsdlMapper/Dom/Property/Ref.html +724 -0
  56. data/doc/WsdlMapper/Dom/Schema.html +1480 -0
  57. data/doc/WsdlMapper/Dom/ShallowSchema.html +499 -0
  58. data/doc/WsdlMapper/Dom/SimpleType.html +1254 -0
  59. data/doc/WsdlMapper/Dom/SoapEncodingType.html +177 -0
  60. data/doc/WsdlMapper/Dom/TypeBase.html +605 -0
  61. data/doc/WsdlMapper/Dom/Validator.html +334 -0
  62. data/doc/WsdlMapper/Dom/Validator/Error.html +352 -0
  63. data/doc/WsdlMapper/DomGeneration.html +117 -0
  64. data/doc/WsdlMapper/DomGeneration/DefaultClassGenerator.html +251 -0
  65. data/doc/WsdlMapper/DomGeneration/DefaultCtrGenerator.html +404 -0
  66. data/doc/WsdlMapper/DomGeneration/DefaultEnumGenerator.html +321 -0
  67. data/doc/WsdlMapper/DomGeneration/DefaultValueDefaultsGenerator.html +368 -0
  68. data/doc/WsdlMapper/DomGeneration/DefaultValueGenerator.html +811 -0
  69. data/doc/WsdlMapper/DomGeneration/DefaultWrappingTypeGenerator.html +249 -0
  70. data/doc/WsdlMapper/DomGeneration/DocumentedClassGenerator.html +165 -0
  71. data/doc/WsdlMapper/DomGeneration/DocumentedCtrGenerator.html +336 -0
  72. data/doc/WsdlMapper/DomGeneration/DocumentedEnumGenerator.html +171 -0
  73. data/doc/WsdlMapper/DomGeneration/DocumentedSchemaGenerator.html +327 -0
  74. data/doc/WsdlMapper/DomGeneration/DocumentedWrappingTypeGenerator.html +165 -0
  75. data/doc/WsdlMapper/DomGeneration/Facade.html +260 -0
  76. data/doc/WsdlMapper/DomGeneration/GeneratorBase.html +234 -0
  77. data/doc/WsdlMapper/DomGeneration/NullCtrGenerator.html +356 -0
  78. data/doc/WsdlMapper/DomGeneration/SchemaGenerator.html +1407 -0
  79. data/doc/WsdlMapper/DomParsing.html +119 -0
  80. data/doc/WsdlMapper/DomParsing/AbstractResolver.html +228 -0
  81. data/doc/WsdlMapper/DomParsing/AnnotationParser.html +331 -0
  82. data/doc/WsdlMapper/DomParsing/AttributeParser.html +395 -0
  83. data/doc/WsdlMapper/DomParsing/ComplexTypeParser.html +1267 -0
  84. data/doc/WsdlMapper/DomParsing/DefaultResolver.html +278 -0
  85. data/doc/WsdlMapper/DomParsing/ElementParser.html +303 -0
  86. data/doc/WsdlMapper/DomParsing/ImportParser.html +341 -0
  87. data/doc/WsdlMapper/DomParsing/Linker.html +292 -0
  88. data/doc/WsdlMapper/DomParsing/LocalFileResolver.html +270 -0
  89. data/doc/WsdlMapper/DomParsing/Parser.html +1009 -0
  90. data/doc/WsdlMapper/DomParsing/Parser/InvalidNsException.html +131 -0
  91. data/doc/WsdlMapper/DomParsing/Parser/InvalidRootException.html +131 -0
  92. data/doc/WsdlMapper/DomParsing/Parser/ParserException.html +127 -0
  93. data/doc/WsdlMapper/DomParsing/ParserBase.html +190 -0
  94. data/doc/WsdlMapper/DomParsing/SimpleTypeParser.html +275 -0
  95. data/doc/WsdlMapper/DomParsing/UrlResolver.html +199 -0
  96. data/doc/WsdlMapper/DomParsing/Xsd.html +279 -0
  97. data/doc/WsdlMapper/Generation.html +121 -0
  98. data/doc/WsdlMapper/Generation/AbstractFormatter.html +2143 -0
  99. data/doc/WsdlMapper/Generation/Base.html +707 -0
  100. data/doc/WsdlMapper/Generation/Context.html +430 -0
  101. data/doc/WsdlMapper/Generation/DefaultFormatter.html +1803 -0
  102. data/doc/WsdlMapper/Generation/DefaultModuleGenerator.html +295 -0
  103. data/doc/WsdlMapper/Generation/Facade.html +379 -0
  104. data/doc/WsdlMapper/Generation/Result.html +749 -0
  105. data/doc/WsdlMapper/Generation/Result/ModuleTreeNode.html +432 -0
  106. data/doc/WsdlMapper/Generation/TypeToGenerate.html +352 -0
  107. data/doc/WsdlMapper/Generation/YardDocFormatter.html +902 -0
  108. data/doc/WsdlMapper/Naming.html +119 -0
  109. data/doc/WsdlMapper/Naming/AbstractNamer.html +890 -0
  110. data/doc/WsdlMapper/Naming/AbstractServiceNamer.html +2148 -0
  111. data/doc/WsdlMapper/Naming/DefaultNamer.html +1512 -0
  112. data/doc/WsdlMapper/Naming/DefaultNamer/InlineType.html +218 -0
  113. data/doc/WsdlMapper/Naming/DefaultServiceNamer.html +1605 -0
  114. data/doc/WsdlMapper/Naming/EnumerationValueName.html +397 -0
  115. data/doc/WsdlMapper/Naming/Inflector.html +408 -0
  116. data/doc/WsdlMapper/Naming/NamerBase.html +373 -0
  117. data/doc/WsdlMapper/Naming/PropertyName.html +397 -0
  118. data/doc/WsdlMapper/Naming/SeparatingNamer.html +376 -0
  119. data/doc/WsdlMapper/Naming/TypeName.html +1040 -0
  120. data/doc/WsdlMapper/Parsing.html +119 -0
  121. data/doc/WsdlMapper/Parsing/Base.html +359 -0
  122. data/doc/WsdlMapper/Parsing/Logging.html +305 -0
  123. data/doc/WsdlMapper/Parsing/Logging/LogMsg.html +264 -0
  124. data/doc/WsdlMapper/Runtime.html +119 -0
  125. data/doc/WsdlMapper/Runtime/Api.html +628 -0
  126. data/doc/WsdlMapper/Runtime/AsyncHttpBackend.html +674 -0
  127. data/doc/WsdlMapper/Runtime/BackendBase.html +351 -0
  128. data/doc/WsdlMapper/Runtime/Body.html +209 -0
  129. data/doc/WsdlMapper/Runtime/Errors.html +119 -0
  130. data/doc/WsdlMapper/Runtime/Errors/Error.html +289 -0
  131. data/doc/WsdlMapper/Runtime/Errors/HTTPError.html +370 -0
  132. data/doc/WsdlMapper/Runtime/Errors/SoapFault.html +298 -0
  133. data/doc/WsdlMapper/Runtime/Errors/TransportError.html +298 -0
  134. data/doc/WsdlMapper/Runtime/Header.html +120 -0
  135. data/doc/WsdlMapper/Runtime/InputS8r.html +139 -0
  136. data/doc/WsdlMapper/Runtime/Message.html +488 -0
  137. data/doc/WsdlMapper/Runtime/MiddlewareStack.html +1266 -0
  138. data/doc/WsdlMapper/Runtime/Middlewares.html +149 -0
  139. data/doc/WsdlMapper/Runtime/Middlewares/AbstractLogger.html +206 -0
  140. data/doc/WsdlMapper/Runtime/Middlewares/AsyncDispatcher.html +270 -0
  141. data/doc/WsdlMapper/Runtime/Middlewares/AsyncMessageFactory.html +205 -0
  142. data/doc/WsdlMapper/Runtime/Middlewares/AsyncRequestFactory.html +205 -0
  143. data/doc/WsdlMapper/Runtime/Middlewares/AsyncRequestLogger.html +224 -0
  144. data/doc/WsdlMapper/Runtime/Middlewares/AsyncResponseFactory.html +205 -0
  145. data/doc/WsdlMapper/Runtime/Middlewares/AsyncResponseLogger.html +224 -0
  146. data/doc/WsdlMapper/Runtime/Middlewares/Noop.html +189 -0
  147. data/doc/WsdlMapper/Runtime/Middlewares/SimpleDispatcher.html +628 -0
  148. data/doc/WsdlMapper/Runtime/Middlewares/SimpleMessageFactory.html +263 -0
  149. data/doc/WsdlMapper/Runtime/Middlewares/SimpleRequestFactory.html +254 -0
  150. data/doc/WsdlMapper/Runtime/Middlewares/SimpleRequestLogger.html +222 -0
  151. data/doc/WsdlMapper/Runtime/Middlewares/SimpleResponseFactory.html +250 -0
  152. data/doc/WsdlMapper/Runtime/Middlewares/SimpleResponseLogger.html +218 -0
  153. data/doc/WsdlMapper/Runtime/Operation.html +1231 -0
  154. data/doc/WsdlMapper/Runtime/OutputS8r.html +139 -0
  155. data/doc/WsdlMapper/Runtime/Port.html +504 -0
  156. data/doc/WsdlMapper/Runtime/Proxy.html +228 -0
  157. data/doc/WsdlMapper/Runtime/Request.html +736 -0
  158. data/doc/WsdlMapper/Runtime/Response.html +585 -0
  159. data/doc/WsdlMapper/Runtime/S8rBase.html +753 -0
  160. data/doc/WsdlMapper/Runtime/Service.html +396 -0
  161. data/doc/WsdlMapper/Runtime/SimpleHttpBackend.html +260 -0
  162. data/doc/WsdlMapper/Runtime/SimplerInspect.html +205 -0
  163. data/doc/WsdlMapper/S8rGeneration.html +117 -0
  164. data/doc/WsdlMapper/S8rGeneration/Facade.html +208 -0
  165. data/doc/WsdlMapper/S8rGeneration/S8rGenerator.html +415 -0
  166. data/doc/WsdlMapper/Serializers.html +117 -0
  167. data/doc/WsdlMapper/Serializers/AbstractResolver.html +224 -0
  168. data/doc/WsdlMapper/Serializers/SerializerCore.html +710 -0
  169. data/doc/WsdlMapper/Serializers/SerializerFactory.html +326 -0
  170. data/doc/WsdlMapper/Serializers/TypeDirectory.html +556 -0
  171. data/doc/WsdlMapper/Serializers/TypeDirectory/TypeItem.html +388 -0
  172. data/doc/WsdlMapper/SvcDesc.html +158 -0
  173. data/doc/WsdlMapper/SvcDesc/Envelope.html +348 -0
  174. data/doc/WsdlMapper/SvcDesc/Fault.html +580 -0
  175. data/doc/WsdlMapper/SvcDesc/Wsdl11.html +121 -0
  176. data/doc/WsdlMapper/SvcDesc/Wsdl11/Base.html +352 -0
  177. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding.html +873 -0
  178. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Body.html +708 -0
  179. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Fault.html +358 -0
  180. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Header.html +408 -0
  181. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/HeaderBase.html +775 -0
  182. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/HeaderFault.html +138 -0
  183. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/InputOutput.html +539 -0
  184. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/Operation.html +727 -0
  185. data/doc/WsdlMapper/SvcDesc/Wsdl11/Binding/SoapFault.html +387 -0
  186. data/doc/WsdlMapper/SvcDesc/Wsdl11/Description.html +1272 -0
  187. data/doc/WsdlMapper/SvcDesc/Wsdl11/Message.html +467 -0
  188. data/doc/WsdlMapper/SvcDesc/Wsdl11/Message/Part.html +426 -0
  189. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType.html +499 -0
  190. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType/InputOutput.html +290 -0
  191. data/doc/WsdlMapper/SvcDesc/Wsdl11/PortType/Operation.html +659 -0
  192. data/doc/WsdlMapper/SvcDesc/Wsdl11/Service.html +335 -0
  193. data/doc/WsdlMapper/SvcDesc/Wsdl11/Service/Port.html +358 -0
  194. data/doc/WsdlMapper/SvcDescParsing.html +119 -0
  195. data/doc/WsdlMapper/SvcDescParsing/BindingParser.html +1271 -0
  196. data/doc/WsdlMapper/SvcDescParsing/Linker.html +308 -0
  197. data/doc/WsdlMapper/SvcDescParsing/MessageParser.html +419 -0
  198. data/doc/WsdlMapper/SvcDescParsing/Parser.html +972 -0
  199. data/doc/WsdlMapper/SvcDescParsing/ParserBase.html +215 -0
  200. data/doc/WsdlMapper/SvcDescParsing/PortTypeParser.html +757 -0
  201. data/doc/WsdlMapper/SvcDescParsing/ServiceParser.html +541 -0
  202. data/doc/WsdlMapper/SvcDescParsing/Soap.html +162 -0
  203. data/doc/WsdlMapper/SvcDescParsing/SoapEnc.html +137 -0
  204. data/doc/WsdlMapper/SvcDescParsing/SoapHttp.html +127 -0
  205. data/doc/WsdlMapper/SvcDescParsing/TypesParser.html +397 -0
  206. data/doc/WsdlMapper/SvcDescParsing/Wsdl11.html +201 -0
  207. data/doc/WsdlMapper/SvcGeneration.html +117 -0
  208. data/doc/WsdlMapper/SvcGeneration/DocumentedOperationGenerator.html +828 -0
  209. data/doc/WsdlMapper/SvcGeneration/DocumentedPortGenerator.html +256 -0
  210. data/doc/WsdlMapper/SvcGeneration/DocumentedProxyGenerator.html +332 -0
  211. data/doc/WsdlMapper/SvcGeneration/DocumentedServiceGenerator.html +258 -0
  212. data/doc/WsdlMapper/SvcGeneration/DocumentedSvcGenerator.html +331 -0
  213. data/doc/WsdlMapper/SvcGeneration/Facade.html +814 -0
  214. data/doc/WsdlMapper/SvcGeneration/GeneratorBase.html +239 -0
  215. data/doc/WsdlMapper/SvcGeneration/GeneratorBase/HeaderToGenerate.html +123 -0
  216. data/doc/WsdlMapper/SvcGeneration/GeneratorBase/PartToGenerate.html +123 -0
  217. data/doc/WsdlMapper/SvcGeneration/OperationD10rGenerator.html +1327 -0
  218. data/doc/WsdlMapper/SvcGeneration/OperationGenerator.html +1487 -0
  219. data/doc/WsdlMapper/SvcGeneration/OperationGeneratorBase.html +162 -0
  220. data/doc/WsdlMapper/SvcGeneration/OperationS8rGenerator.html +2247 -0
  221. data/doc/WsdlMapper/SvcGeneration/PortGenerator.html +453 -0
  222. data/doc/WsdlMapper/SvcGeneration/ProxyGenerator.html +487 -0
  223. data/doc/WsdlMapper/SvcGeneration/ServiceGenerator.html +437 -0
  224. data/doc/WsdlMapper/SvcGeneration/SvcGenerator.html +2055 -0
  225. data/doc/WsdlMapper/SvcGeneration/TypeToGenerate.html +388 -0
  226. data/doc/WsdlMapper/TypeMapping.html +543 -0
  227. data/doc/WsdlMapper/TypeMapping/Base.html +706 -0
  228. data/doc/WsdlMapper/TypeMapping/DateParts.html +209 -0
  229. data/doc/WsdlMapper/TypeMapping/DateParts/Base.html +265 -0
  230. data/doc/WsdlMapper/TypeMapping/MappingSet.html +770 -0
  231. data/doc/WsdlMapperTesting.html +119 -0
  232. data/doc/WsdlMapperTesting/FakeD10r.html +310 -0
  233. data/doc/WsdlMapperTesting/FakeOperation.html +706 -0
  234. data/doc/WsdlMapperTesting/FakeS8r.html +310 -0
  235. data/doc/WsdlMapperTesting/GenerationTest.html +646 -0
  236. data/doc/WsdlMapperTesting/ImplementationTest.html +221 -0
  237. data/doc/WsdlMapperTesting/Middlewares.html +117 -0
  238. data/doc/WsdlMapperTesting/Middlewares/FakeDispatcher.html +310 -0
  239. data/doc/WsdlMapperTesting/Middlewares/FakeMessageFactory.html +414 -0
  240. data/doc/WsdlMapperTesting/Middlewares/FakeRequestFactory.html +271 -0
  241. data/doc/WsdlMapperTesting/Middlewares/FakeResponseFactory.html +271 -0
  242. data/doc/WsdlMapperTesting/SchemaTest.html +209 -0
  243. data/doc/WsdlMapperTesting/StubConnection.html +547 -0
  244. data/doc/WsdlMapperTesting/Test.html +200 -0
  245. data/doc/WsdlMapperTesting/TestHelper.html +394 -0
  246. data/doc/WsdlMapperTesting/TmpPath.html +364 -0
  247. data/doc/WsdlMapperTesting/Vcr.html +196 -0
  248. data/doc/_index.html +1913 -0
  249. data/doc/class_list.html +58 -0
  250. data/doc/concepts/wrapping_types.md +3 -0
  251. data/doc/css/common.css +1 -0
  252. data/doc/css/full_list.css +57 -0
  253. data/doc/css/style.css +339 -0
  254. data/doc/diag/async_backend.gliffy +1 -0
  255. data/doc/diag/async_backend.png +0 -0
  256. data/doc/diag/simple_http_backend.gliffy +1 -0
  257. data/doc/diag/simple_http_backend.md +1 -0
  258. data/doc/diag/simple_http_backend.png +0 -0
  259. data/doc/file.README.html +151 -0
  260. data/doc/file_list.html +60 -0
  261. data/doc/frames.html +26 -0
  262. data/doc/index.html +151 -0
  263. data/doc/js/app.js +219 -0
  264. data/doc/js/full_list.js +181 -0
  265. data/doc/js/jquery.js +4 -0
  266. data/doc/method_list.html +6561 -0
  267. data/doc/top-level-namespace.html +112 -0
  268. data/examples/blz_service/.gitignore +3 -0
  269. data/examples/blz_service/Gemfile +4 -0
  270. data/examples/blz_service/README.md +11 -0
  271. data/examples/blz_service/blz_service.wsdl +86 -0
  272. data/examples/blz_service/example.rb +28 -0
  273. data/examples/calculator/.gitignore +3 -0
  274. data/examples/calculator/Gemfile +4 -0
  275. data/examples/calculator/README.md +11 -0
  276. data/examples/calculator/calculator.wsdl +196 -0
  277. data/examples/calculator/example.rb +25 -0
  278. data/lib/wsdl-mapper.rb +1 -0
  279. data/lib/wsdl_mapper.rb +4 -0
  280. data/lib/wsdl_mapper/cli/cli.rb +90 -0
  281. data/lib/wsdl_mapper/core_ext/time_duration.rb +112 -0
  282. data/lib/wsdl_mapper/d10r_generation/d10r_generator.rb +195 -0
  283. data/lib/wsdl_mapper/d10r_generation/facade.rb +12 -0
  284. data/lib/wsdl_mapper/deserializers/attr_mapping.rb +21 -0
  285. data/lib/wsdl_mapper/deserializers/class_mapping.rb +122 -0
  286. data/lib/wsdl_mapper/deserializers/deserializer.rb +83 -0
  287. data/lib/wsdl_mapper/deserializers/element_directory.rb +66 -0
  288. data/lib/wsdl_mapper/deserializers/errors.rb +28 -0
  289. data/lib/wsdl_mapper/deserializers/frame.rb +31 -0
  290. data/lib/wsdl_mapper/deserializers/lazy_loading_deserializer.rb +39 -0
  291. data/lib/wsdl_mapper/deserializers/prop_mapping.rb +26 -0
  292. data/lib/wsdl_mapper/deserializers/sax_document.rb +156 -0
  293. data/lib/wsdl_mapper/deserializers/soap_array_mapping.rb +34 -0
  294. data/lib/wsdl_mapper/deserializers/type_directory.rb +39 -0
  295. data/lib/wsdl_mapper/dom/attribute.rb +42 -0
  296. data/lib/wsdl_mapper/dom/bounds.rb +15 -0
  297. data/lib/wsdl_mapper/dom/builder.rb +77 -0
  298. data/lib/wsdl_mapper/dom/builtin_type.rb +17 -0
  299. data/lib/wsdl_mapper/dom/complex_type.rb +63 -0
  300. data/lib/wsdl_mapper/dom/directory.rb +74 -0
  301. data/lib/wsdl_mapper/dom/documentation.rb +16 -0
  302. data/lib/wsdl_mapper/dom/element.rb +15 -0
  303. data/lib/wsdl_mapper/dom/enumeration_value.rb +11 -0
  304. data/lib/wsdl_mapper/dom/name.rb +69 -0
  305. data/lib/wsdl_mapper/dom/namespaces.rb +88 -0
  306. data/lib/wsdl_mapper/dom/property.rb +56 -0
  307. data/lib/wsdl_mapper/dom/schema.rb +120 -0
  308. data/lib/wsdl_mapper/dom/shallow_schema.rb +34 -0
  309. data/lib/wsdl_mapper/dom/simple_type.rb +28 -0
  310. data/lib/wsdl_mapper/dom/soap_encoding_type.rb +13 -0
  311. data/lib/wsdl_mapper/dom/type_base.rb +31 -0
  312. data/lib/wsdl_mapper/dom/validator.rb +36 -0
  313. data/lib/wsdl_mapper/dom_generation/default_class_generator.rb +78 -0
  314. data/lib/wsdl_mapper/dom_generation/default_ctr_generator.rb +99 -0
  315. data/lib/wsdl_mapper/dom_generation/default_enum_generator.rb +59 -0
  316. data/lib/wsdl_mapper/dom_generation/default_value_defaults_generator.rb +52 -0
  317. data/lib/wsdl_mapper/dom_generation/default_value_generator.rb +82 -0
  318. data/lib/wsdl_mapper/dom_generation/default_wrapping_type_generator.rb +44 -0
  319. data/lib/wsdl_mapper/dom_generation/documented_class_generator.rb +58 -0
  320. data/lib/wsdl_mapper/dom_generation/documented_ctr_generator.rb +54 -0
  321. data/lib/wsdl_mapper/dom_generation/documented_enum_generator.rb +30 -0
  322. data/lib/wsdl_mapper/dom_generation/documented_schema_generator.rb +51 -0
  323. data/lib/wsdl_mapper/dom_generation/documented_wrapping_type_generator.rb +17 -0
  324. data/lib/wsdl_mapper/dom_generation/facade.rb +18 -0
  325. data/lib/wsdl_mapper/dom_generation/generator_base.rb +66 -0
  326. data/lib/wsdl_mapper/dom_generation/null_ctr_generator.rb +20 -0
  327. data/lib/wsdl_mapper/dom_generation/schema_generator.rb +134 -0
  328. data/lib/wsdl_mapper/dom_parsing/abstract_resolver.rb +10 -0
  329. data/lib/wsdl_mapper/dom_parsing/annotation_parser.rb +25 -0
  330. data/lib/wsdl_mapper/dom_parsing/attribute_parser.rb +47 -0
  331. data/lib/wsdl_mapper/dom_parsing/complex_type_parser.rb +213 -0
  332. data/lib/wsdl_mapper/dom_parsing/default_resolver.rb +30 -0
  333. data/lib/wsdl_mapper/dom_parsing/element_parser.rb +43 -0
  334. data/lib/wsdl_mapper/dom_parsing/import_parser.rb +31 -0
  335. data/lib/wsdl_mapper/dom_parsing/linker.rb +108 -0
  336. data/lib/wsdl_mapper/dom_parsing/local_file_resolver.rb +19 -0
  337. data/lib/wsdl_mapper/dom_parsing/parser.rb +127 -0
  338. data/lib/wsdl_mapper/dom_parsing/parser_base.rb +41 -0
  339. data/lib/wsdl_mapper/dom_parsing/simple_type_parser.rb +99 -0
  340. data/lib/wsdl_mapper/dom_parsing/url_resolver.rb +16 -0
  341. data/lib/wsdl_mapper/dom_parsing/xsd.rb +47 -0
  342. data/lib/wsdl_mapper/generation/abstract_formatter.rb +115 -0
  343. data/lib/wsdl_mapper/generation/base.rb +69 -0
  344. data/lib/wsdl_mapper/generation/context.rb +35 -0
  345. data/lib/wsdl_mapper/generation/default_formatter.rb +237 -0
  346. data/lib/wsdl_mapper/generation/default_module_generator.rb +32 -0
  347. data/lib/wsdl_mapper/generation/facade.rb +59 -0
  348. data/lib/wsdl_mapper/generation/result.rb +61 -0
  349. data/lib/wsdl_mapper/generation/type_to_generate.rb +12 -0
  350. data/lib/wsdl_mapper/generation/yard_doc_formatter.rb +105 -0
  351. data/lib/wsdl_mapper/naming/abstract_namer.rb +53 -0
  352. data/lib/wsdl_mapper/naming/abstract_service_namer.rb +115 -0
  353. data/lib/wsdl_mapper/naming/default_namer.rb +183 -0
  354. data/lib/wsdl_mapper/naming/default_service_namer.rb +147 -0
  355. data/lib/wsdl_mapper/naming/enumeration_value_name.rb +16 -0
  356. data/lib/wsdl_mapper/naming/inflector.rb +42 -0
  357. data/lib/wsdl_mapper/naming/namer_base.rb +115 -0
  358. data/lib/wsdl_mapper/naming/property_name.rb +16 -0
  359. data/lib/wsdl_mapper/naming/separating_namer.rb +122 -0
  360. data/lib/wsdl_mapper/naming/type_name.rb +77 -0
  361. data/lib/wsdl_mapper/parsing/base.rb +148 -0
  362. data/lib/wsdl_mapper/parsing/logging.rb +33 -0
  363. data/lib/wsdl_mapper/runtime.rb +4 -0
  364. data/lib/wsdl_mapper/runtime/api.rb +42 -0
  365. data/lib/wsdl_mapper/runtime/async_http_backend.rb +72 -0
  366. data/lib/wsdl_mapper/runtime/backend_base.rb +21 -0
  367. data/lib/wsdl_mapper/runtime/body.rb +10 -0
  368. data/lib/wsdl_mapper/runtime/errors.rb +42 -0
  369. data/lib/wsdl_mapper/runtime/header.rb +6 -0
  370. data/lib/wsdl_mapper/runtime/input_s8r.rb +8 -0
  371. data/lib/wsdl_mapper/runtime/message.rb +23 -0
  372. data/lib/wsdl_mapper/runtime/middleware_stack.rb +104 -0
  373. data/lib/wsdl_mapper/runtime/middlewares.rb +19 -0
  374. data/lib/wsdl_mapper/runtime/middlewares/abstract_logger.rb +19 -0
  375. data/lib/wsdl_mapper/runtime/middlewares/async_dispatcher.rb +21 -0
  376. data/lib/wsdl_mapper/runtime/middlewares/async_message_factory.rb +17 -0
  377. data/lib/wsdl_mapper/runtime/middlewares/async_request_factory.rb +17 -0
  378. data/lib/wsdl_mapper/runtime/middlewares/async_request_logger.rb +17 -0
  379. data/lib/wsdl_mapper/runtime/middlewares/async_response_factory.rb +17 -0
  380. data/lib/wsdl_mapper/runtime/middlewares/async_response_logger.rb +17 -0
  381. data/lib/wsdl_mapper/runtime/middlewares/noop.rb +11 -0
  382. data/lib/wsdl_mapper/runtime/middlewares/simple_dispatcher.rb +69 -0
  383. data/lib/wsdl_mapper/runtime/middlewares/simple_message_factory.rb +19 -0
  384. data/lib/wsdl_mapper/runtime/middlewares/simple_request_factory.rb +37 -0
  385. data/lib/wsdl_mapper/runtime/middlewares/simple_request_logger.rb +18 -0
  386. data/lib/wsdl_mapper/runtime/middlewares/simple_response_factory.rb +26 -0
  387. data/lib/wsdl_mapper/runtime/middlewares/simple_response_logger.rb +16 -0
  388. data/lib/wsdl_mapper/runtime/operation.rb +90 -0
  389. data/lib/wsdl_mapper/runtime/output_s8r.rb +9 -0
  390. data/lib/wsdl_mapper/runtime/port.rb +30 -0
  391. data/lib/wsdl_mapper/runtime/proxy.rb +12 -0
  392. data/lib/wsdl_mapper/runtime/request.rb +35 -0
  393. data/lib/wsdl_mapper/runtime/response.rb +27 -0
  394. data/lib/wsdl_mapper/runtime/s8r_base.rb +57 -0
  395. data/lib/wsdl_mapper/runtime/service.rb +25 -0
  396. data/lib/wsdl_mapper/runtime/simple_http_backend.rb +34 -0
  397. data/lib/wsdl_mapper/runtime/simpler_inspect.rb +19 -0
  398. data/lib/wsdl_mapper/s8r_generation/facade.rb +12 -0
  399. data/lib/wsdl_mapper/s8r_generation/s8r_generator.rb +276 -0
  400. data/lib/wsdl_mapper/serializers/abstract_resolver.rb +11 -0
  401. data/lib/wsdl_mapper/serializers/serializer_core.rb +111 -0
  402. data/lib/wsdl_mapper/serializers/serializer_factory.rb +27 -0
  403. data/lib/wsdl_mapper/serializers/type_directory.rb +75 -0
  404. data/lib/wsdl_mapper/svc_desc/envelope.rb +12 -0
  405. data/lib/wsdl_mapper/svc_desc/fault.rb +27 -0
  406. data/lib/wsdl_mapper/svc_desc/soap_element_directory.rb +13 -0
  407. data/lib/wsdl_mapper/svc_desc/soap_type_directory.rb +21 -0
  408. data/lib/wsdl_mapper/svc_desc/wsdl11/base.rb +16 -0
  409. data/lib/wsdl_mapper/svc_desc/wsdl11/binding.rb +148 -0
  410. data/lib/wsdl_mapper/svc_desc/wsdl11/description.rb +86 -0
  411. data/lib/wsdl_mapper/svc_desc/wsdl11/message.rb +32 -0
  412. data/lib/wsdl_mapper/svc_desc/wsdl11/port_type.rb +63 -0
  413. data/lib/wsdl_mapper/svc_desc/wsdl11/service.rb +27 -0
  414. data/lib/wsdl_mapper/svc_desc_parsing/binding_parser.rb +198 -0
  415. data/lib/wsdl_mapper/svc_desc_parsing/http.rb +14 -0
  416. data/lib/wsdl_mapper/svc_desc_parsing/linker.rb +126 -0
  417. data/lib/wsdl_mapper/svc_desc_parsing/message_parser.rb +42 -0
  418. data/lib/wsdl_mapper/svc_desc_parsing/parser.rb +94 -0
  419. data/lib/wsdl_mapper/svc_desc_parsing/parser_base.rb +24 -0
  420. data/lib/wsdl_mapper/svc_desc_parsing/port_type_parser.rb +101 -0
  421. data/lib/wsdl_mapper/svc_desc_parsing/service_parser.rb +66 -0
  422. data/lib/wsdl_mapper/svc_desc_parsing/soap.rb +18 -0
  423. data/lib/wsdl_mapper/svc_desc_parsing/soap12.rb +18 -0
  424. data/lib/wsdl_mapper/svc_desc_parsing/soap_enc.rb +13 -0
  425. data/lib/wsdl_mapper/svc_desc_parsing/soap_http.rb +11 -0
  426. data/lib/wsdl_mapper/svc_desc_parsing/types_parser.rb +31 -0
  427. data/lib/wsdl_mapper/svc_desc_parsing/wsdl11.rb +27 -0
  428. data/lib/wsdl_mapper/svc_generation/documented_operation_generator.rb +104 -0
  429. data/lib/wsdl_mapper/svc_generation/documented_port_generator.rb +19 -0
  430. data/lib/wsdl_mapper/svc_generation/documented_proxy_generator.rb +36 -0
  431. data/lib/wsdl_mapper/svc_generation/documented_service_generator.rb +20 -0
  432. data/lib/wsdl_mapper/svc_generation/documented_svc_generator.rb +38 -0
  433. data/lib/wsdl_mapper/svc_generation/facade.rb +78 -0
  434. data/lib/wsdl_mapper/svc_generation/generator_base.rb +111 -0
  435. data/lib/wsdl_mapper/svc_generation/operation_d10r_generator.rb +171 -0
  436. data/lib/wsdl_mapper/svc_generation/operation_generator.rb +217 -0
  437. data/lib/wsdl_mapper/svc_generation/operation_generator_base.rb +8 -0
  438. data/lib/wsdl_mapper/svc_generation/operation_s8r_generator.rb +260 -0
  439. data/lib/wsdl_mapper/svc_generation/port_generator.rb +56 -0
  440. data/lib/wsdl_mapper/svc_generation/proxy_generator.rb +51 -0
  441. data/lib/wsdl_mapper/svc_generation/service_generator.rb +49 -0
  442. data/lib/wsdl_mapper/svc_generation/svc_generator.rb +172 -0
  443. data/lib/wsdl_mapper/svc_generation/type_to_generate.rb +6 -0
  444. data/lib/wsdl_mapper/type_mapping.rb +21 -0
  445. data/lib/wsdl_mapper/type_mapping/base.rb +48 -0
  446. data/lib/wsdl_mapper/type_mapping/base64_binary.rb +31 -0
  447. data/lib/wsdl_mapper/type_mapping/boolean.rb +31 -0
  448. data/lib/wsdl_mapper/type_mapping/date.rb +28 -0
  449. data/lib/wsdl_mapper/type_mapping/date_parts.rb +92 -0
  450. data/lib/wsdl_mapper/type_mapping/date_time.rb +28 -0
  451. data/lib/wsdl_mapper/type_mapping/decimal.rb +30 -0
  452. data/lib/wsdl_mapper/type_mapping/duration.rb +115 -0
  453. data/lib/wsdl_mapper/type_mapping/float.rb +30 -0
  454. data/lib/wsdl_mapper/type_mapping/hex_binary.rb +30 -0
  455. data/lib/wsdl_mapper/type_mapping/integer.rb +36 -0
  456. data/lib/wsdl_mapper/type_mapping/mapping_set.rb +64 -0
  457. data/lib/wsdl_mapper/type_mapping/string.rb +38 -0
  458. data/lib/wsdl_mapper/type_mapping/time.rb +29 -0
  459. data/lib/wsdl_mapper/type_mapping/uri.rb +35 -0
  460. data/lib/wsdl_mapper/version.rb +3 -0
  461. data/lib/wsdl_mapper_testing/fake_d10r.rb +15 -0
  462. data/lib/wsdl_mapper_testing/fake_operation.rb +33 -0
  463. data/lib/wsdl_mapper_testing/fake_s8r.rb +15 -0
  464. data/lib/wsdl_mapper_testing/generation_test.rb +47 -0
  465. data/lib/wsdl_mapper_testing/implementation_test.rb +17 -0
  466. data/lib/wsdl_mapper_testing/middlewares/fake_dispatcher.rb +17 -0
  467. data/lib/wsdl_mapper_testing/middlewares/fake_message_factory.rb +23 -0
  468. data/lib/wsdl_mapper_testing/middlewares/fake_request_factory.rb +20 -0
  469. data/lib/wsdl_mapper_testing/middlewares/fake_response_factory.rb +20 -0
  470. data/lib/wsdl_mapper_testing/schema_test.rb +9 -0
  471. data/lib/wsdl_mapper_testing/stub_connection.rb +52 -0
  472. data/lib/wsdl_mapper_testing/test.rb +9 -0
  473. data/lib/wsdl_mapper_testing/test_helper.rb +29 -0
  474. data/lib/wsdl_mapper_testing/tmp_path.rb +20 -0
  475. data/lib/wsdl_mapper_testing/vcr.rb +19 -0
  476. data/test/compatibility/dom_compatibility_test.rb +56 -0
  477. data/test/compatibility/svc_compatibility_test.rb +47 -0
  478. data/test/fixtures/address_type_enumeration.xsd +9 -0
  479. data/test/fixtures/address_type_enumeration_with_documentation.xsd +16 -0
  480. data/test/fixtures/address_type_enumeration_with_value_documentation.xsd +21 -0
  481. data/test/fixtures/attachment_type_for_import.xsd +9 -0
  482. data/test/fixtures/basic_credentials_type.xsd +9 -0
  483. data/test/fixtures/basic_note_inline_type.xsd +13 -0
  484. data/test/fixtures/basic_note_type.xsd +11 -0
  485. data/test/fixtures/basic_note_type_and_fancy_note_type_extension.xsd +21 -0
  486. data/test/fixtures/basic_note_type_and_fancy_note_type_extension_with_namespace.xsd +21 -0
  487. data/test/fixtures/basic_note_type_with_an_invalid_root_node.xsd +11 -0
  488. data/test/fixtures/basic_note_type_with_attachments.xsd +12 -0
  489. data/test/fixtures/basic_note_type_with_attachments_simple_type.xsd +16 -0
  490. data/test/fixtures/basic_note_type_with_attribute.xsd +12 -0
  491. data/test/fixtures/basic_note_type_with_boolean_property.xsd +12 -0
  492. data/test/fixtures/basic_note_type_with_boolean_property_and_documentation.xsd +24 -0
  493. data/test/fixtures/basic_note_type_with_complex_attachments.xsd +22 -0
  494. data/test/fixtures/basic_note_type_with_date.xsd +12 -0
  495. data/test/fixtures/basic_note_type_with_defaults.xsd +12 -0
  496. data/test/fixtures/basic_note_type_with_documentation_and_bounds.xsd +19 -0
  497. data/test/fixtures/basic_note_type_with_element.xsd +12 -0
  498. data/test/fixtures/basic_note_type_with_element_inline_complex_type.xsd +13 -0
  499. data/test/fixtures/basic_note_type_with_import.xsd +13 -0
  500. data/test/fixtures/basic_note_type_with_inline_complex_type.xsd +20 -0
  501. data/test/fixtures/basic_note_type_with_inline_simple_type.xsd +17 -0
  502. data/test/fixtures/basic_note_type_with_invalid_xsd_namespace.xsd +11 -0
  503. data/test/fixtures/basic_note_type_with_missing_xsd_namespace.xsd +11 -0
  504. data/test/fixtures/basic_note_type_with_property_and_attribute.xsd +15 -0
  505. data/test/fixtures/basic_note_type_with_property_and_attribute_documentation.xsd +30 -0
  506. data/test/fixtures/basic_note_type_with_ref_attribute.xsd +13 -0
  507. data/test/fixtures/basic_note_type_with_referenced_simple_email_address_type.xsd +15 -0
  508. data/test/fixtures/basic_note_type_with_soap_array.xsd +26 -0
  509. data/test/fixtures/basic_note_type_with_soap_array_builtin.xsd +20 -0
  510. data/test/fixtures/basic_note_type_with_soap_array_simple.xsd +25 -0
  511. data/test/fixtures/basic_note_type_with_target_namespace.xsd +11 -0
  512. data/test/fixtures/basic_order_type_with_referenced_address_type_enum.xsd +17 -0
  513. data/test/fixtures/basic_order_type_with_required_address_type_enum.xsd +17 -0
  514. data/test/fixtures/element_inline_simple_type.xsd +8 -0
  515. data/test/fixtures/empty_note_type.xsd +8 -0
  516. data/test/fixtures/empty_note_type_with_multiline_documentation.xsd +13 -0
  517. data/test/fixtures/empty_note_type_with_target_namespace.xsd +7 -0
  518. data/test/fixtures/empty_note_with_documentaion_and_target_namespace.xsd +12 -0
  519. data/test/fixtures/ms_cust_order_example.xsd +77 -0
  520. data/test/fixtures/services/cdiscount.wsdl +4034 -0
  521. data/test/fixtures/services/ebaySvc.wsdl +144554 -0
  522. data/test/fixtures/services/ebaySvc.xsd +140654 -0
  523. data/test/fixtures/services/magento_v2.wsdl +5477 -0
  524. data/test/fixtures/services/magento_v2.xsd +2152 -0
  525. data/test/fixtures/services/plenty_114.wsdl +11954 -0
  526. data/test/fixtures/services/plenty_114.xsd +7948 -0
  527. data/test/fixtures/services/tb-cat_1_2_import.xsd +1769 -0
  528. data/test/fixtures/services/tb-stock_all_in_one.xsd +936 -0
  529. data/test/fixtures/simple_email_address_type.xsd +6 -0
  530. data/test/fixtures/simple_email_address_type_with_documentation.xsd +11 -0
  531. data/test/fixtures/simple_money_type_with_currency_attribute.xsd +10 -0
  532. data/test/fixtures/super_fancy_note_type.xsd +31 -0
  533. data/test/fixtures/w3_example.xsd +15 -0
  534. data/test/fixtures/wsdls/price_service.wsdl +88 -0
  535. data/test/fixtures/wsdls/price_service_doc_encoded.wsdl +87 -0
  536. data/test/fixtures/wsdls/price_service_doc_literal.wsdl +89 -0
  537. data/test/fixtures/wsdls/price_service_doc_literal2.wsdl +88 -0
  538. data/test/fixtures/wsdls/price_service_doc_literal_type.wsdl +84 -0
  539. data/test/fixtures/wsdls/price_service_rpc_encoded.wsdl +85 -0
  540. data/test/fixtures/wsdls/price_service_rpc_encoded2.wsdl +86 -0
  541. data/test/fixtures/wsdls/price_service_rpc_literal.wsdl +88 -0
  542. data/test/fixtures/wsdls/price_service_rpc_literal2.wsdl +86 -0
  543. data/test/fixtures/wsdls/simple_service.wsdl +93 -0
  544. data/test/fixtures/wsdls/simple_service_with_overload.wsdl +123 -0
  545. data/test/fixtures/wsdls/w3_example.wsdl +64 -0
  546. data/test/test_helper.rb +29 -0
  547. data/test/wsdl_mapper/cli/cli_test.rb +10 -0
  548. data/test/wsdl_mapper/core_ext/time_duration_test.rb +82 -0
  549. data/test/wsdl_mapper/d10r_generation/d10r_generator_test.rb +227 -0
  550. data/test/wsdl_mapper/deserializers/benchmark_test.rb +906 -0
  551. data/test/wsdl_mapper/deserializers/deserializer_integration_test.rb +115 -0
  552. data/test/wsdl_mapper/deserializers/deserializer_test.rb +343 -0
  553. data/test/wsdl_mapper/deserializers/deserializer_with_ns_test.rb +188 -0
  554. data/test/wsdl_mapper/deserializers/operation_deserializer_test.rb +342 -0
  555. data/test/wsdl_mapper/dom/builtin_type_test.rb +25 -0
  556. data/test/wsdl_mapper/dom/enumeration_value_test.rb +14 -0
  557. data/test/wsdl_mapper/dom/name_test.rb +31 -0
  558. data/test/wsdl_mapper/dom/namespaces_test.rb +96 -0
  559. data/test/wsdl_mapper/dom/simple_type_test.rb +26 -0
  560. data/test/wsdl_mapper/dom/validator_test.rb +30 -0
  561. data/test/wsdl_mapper/dom_generation/default_class_generator_test.rb +213 -0
  562. data/test/wsdl_mapper/dom_generation/default_ctr_generator_test.rb +166 -0
  563. data/test/wsdl_mapper/dom_generation/default_enum_generator_test.rb +35 -0
  564. data/test/wsdl_mapper/dom_generation/default_value_generator_test.rb +72 -0
  565. data/test/wsdl_mapper/dom_generation/default_wrapping_type_generator_test.rb +65 -0
  566. data/test/wsdl_mapper/dom_generation/documented_class_generator_test.rb +151 -0
  567. data/test/wsdl_mapper/dom_generation/documented_ctr_generator_test.rb +84 -0
  568. data/test/wsdl_mapper/dom_generation/documented_enum_generator_test.rb +66 -0
  569. data/test/wsdl_mapper/dom_generation/documented_schema_generator_test.rb +73 -0
  570. data/test/wsdl_mapper/dom_generation/documented_wrapping_type_generator_test.rb +34 -0
  571. data/test/wsdl_mapper/dom_generation/schema_generator_test.rb +53 -0
  572. data/test/wsdl_mapper/dom_parsing/parser_test.rb +300 -0
  573. data/test/wsdl_mapper/generation/default_formatter_test.rb +104 -0
  574. data/test/wsdl_mapper/naming/default_namer_test.rb +127 -0
  575. data/test/wsdl_mapper/naming/default_service_namer_test.rb +15 -0
  576. data/test/wsdl_mapper/naming/inflector_test.rb +37 -0
  577. data/test/wsdl_mapper/naming/separating_namer_test.rb +53 -0
  578. data/test/wsdl_mapper/naming/type_name_test.rb +50 -0
  579. data/test/wsdl_mapper/runtime/async_http_backend_test.rb +57 -0
  580. data/test/wsdl_mapper/runtime/middleware_stack_test.rb +130 -0
  581. data/test/wsdl_mapper/runtime/middlewares/simple_dispatcher_test.rb +45 -0
  582. data/test/wsdl_mapper/runtime/operation_test.rb +79 -0
  583. data/test/wsdl_mapper/runtime/simple_http_backend_test.rb +49 -0
  584. data/test/wsdl_mapper/s8r_generation/s8r_generator_test.rb +450 -0
  585. data/test/wsdl_mapper/serializers/serializer_core_test.rb +293 -0
  586. data/test/wsdl_mapper/serializers/serializer_factory_test.rb +46 -0
  587. data/test/wsdl_mapper/serializers/type_directory_test.rb +31 -0
  588. data/test/wsdl_mapper/svc_desc_parsing/parser_test.rb +269 -0
  589. data/test/wsdl_mapper/svc_generation/documented_operation_generator_test.rb +226 -0
  590. data/test/wsdl_mapper/svc_generation/documented_port_generator_test.rb +46 -0
  591. data/test/wsdl_mapper/svc_generation/documented_service_generator_test.rb +42 -0
  592. data/test/wsdl_mapper/svc_generation/documented_svc_generator_test.rb +41 -0
  593. data/test/wsdl_mapper/svc_generation/operation_d10r_generator_test.rb +134 -0
  594. data/test/wsdl_mapper/svc_generation/operation_generator_test.rb +261 -0
  595. data/test/wsdl_mapper/svc_generation/operation_s8r_generator_test.rb +165 -0
  596. data/test/wsdl_mapper/svc_generation/port_generator_test.rb +43 -0
  597. data/test/wsdl_mapper/svc_generation/proxy_generator_test.rb +40 -0
  598. data/test/wsdl_mapper/svc_generation/service_generator_test.rb +38 -0
  599. data/test/wsdl_mapper/svc_generation/svc_generator_test.rb +38 -0
  600. data/test/wsdl_mapper/type_mapping/base64_binary_test.rb +27 -0
  601. data/test/wsdl_mapper/type_mapping/base_test.rb +37 -0
  602. data/test/wsdl_mapper/type_mapping/boolean_test.rb +25 -0
  603. data/test/wsdl_mapper/type_mapping/date_parts_test.rb +81 -0
  604. data/test/wsdl_mapper/type_mapping/date_test.rb +23 -0
  605. data/test/wsdl_mapper/type_mapping/date_time_test.rb +23 -0
  606. data/test/wsdl_mapper/type_mapping/decimal_test.rb +21 -0
  607. data/test/wsdl_mapper/type_mapping/duration_test.rb +34 -0
  608. data/test/wsdl_mapper/type_mapping/float_test.rb +27 -0
  609. data/test/wsdl_mapper/type_mapping/hex_binary_test.rb +27 -0
  610. data/test/wsdl_mapper/type_mapping/integer_test.rb +36 -0
  611. data/test/wsdl_mapper/type_mapping/string_test.rb +24 -0
  612. data/test/wsdl_mapper/type_mapping/time_test.rb +29 -0
  613. data/test/wsdl_mapper/type_mapping/uri_test.rb +28 -0
  614. data/test/wsdl_mapper/type_mapping_test.rb +70 -0
  615. data/test/wsdl_mapper_testing/stub_connection_test.rb +55 -0
  616. data/wsdl-mapper.gemspec +39 -0
  617. metadata +1038 -0
@@ -0,0 +1,293 @@
1
+ require 'test_helper'
2
+
3
+ require 'wsdl_mapper/dom/name'
4
+ require 'wsdl_mapper/serializers/serializer_core'
5
+ require 'wsdl_mapper/core_ext/time_duration'
6
+
7
+ module SerializersTests
8
+ class SerializerCoreTest < ::WsdlMapperTesting::Test
9
+ include WsdlMapper::CoreExt
10
+ include WsdlMapper::Serializers
11
+ include WsdlMapper::Dom
12
+
13
+ class MockResolver
14
+ def initialize
15
+ @serializers = {}
16
+ end
17
+
18
+ def resolve(name)
19
+ serializers[name]
20
+ end
21
+
22
+ def serializers
23
+ @serializers ||= {}
24
+ end
25
+ end
26
+
27
+ class NoteType < Struct.new(:attachments)
28
+ end
29
+
30
+ class Attachment < String
31
+ end
32
+
33
+ class NoteTypeSerializer
34
+ def build(x, obj, name)
35
+ x.complex [nil, 'noteType'], name, [] do |x|
36
+ obj.attachments.each do |attachment|
37
+ x.get(Attachment.name).build(x, attachment, [nil, 'attachment'])
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ class AttachmentSerializer
44
+ def build(x, obj, name)
45
+ x.simple [nil, 'attachment'], name do |x|
46
+ x.text_builtin obj, 'string'
47
+ end
48
+ end
49
+ end
50
+
51
+ def test_resolving
52
+ resolver = MockResolver.new
53
+ resolver.serializers[Attachment.name] = AttachmentSerializer.new
54
+
55
+ base = SerializerCore.new resolver: resolver
56
+
57
+ obj = NoteType.new([Attachment.new('This is an attachment.')])
58
+
59
+ NoteTypeSerializer.new.build base, obj, [nil, 'note']
60
+
61
+ assert_equal <<XML, base.to_xml
62
+ <?xml version="1.0" encoding="UTF-8"?>
63
+ <note>
64
+ <attachment>This is an attachment.</attachment>
65
+ </note>
66
+ XML
67
+ end
68
+
69
+ def test_simple_example_with_namespace
70
+ base = SerializerCore.new resolver: nil
71
+
72
+ base.complex ['urn:WsdlMapper', 'noteType'], ['urn:WsdlMapper', 'note'], [] do |x|
73
+ x.value_builtin ['urn:WsdlMapper', 'to'], 'to@example.org', :string
74
+ x.value_builtin ['urn:WsdlMapper', 'from'], 'from@example.org', :string
75
+ x.value_builtin ['urn:WsdlMapper', 'date'], DateTime.new(2010, 11, 10, 9, 8, 7, '+02:00'), :dateTime
76
+ x.value_builtin ['urn:WsdlMapper', 'valid_for'], TimeDuration.new(days: 20), :gDay
77
+ x.value_builtin ['urn:WsdlMapper', 'heading'], 'Important Note!', :string
78
+ x.value_builtin ['urn:WsdlMapper', 'body'], 'Just kidding', :string
79
+ end
80
+
81
+ assert_equal <<XML, base.to_xml
82
+ <?xml version="1.0" encoding="UTF-8"?>
83
+ <ns0:note xmlns:ns0="urn:WsdlMapper">
84
+ <ns0:to>to@example.org</ns0:to>
85
+ <ns0:from>from@example.org</ns0:from>
86
+ <ns0:date>2010-11-10T09:08:07+02:00</ns0:date>
87
+ <ns0:valid_for>20</ns0:valid_for>
88
+ <ns0:heading>Important Note!</ns0:heading>
89
+ <ns0:body>Just kidding</ns0:body>
90
+ </ns0:note>
91
+ XML
92
+ end
93
+
94
+ def test_simple_example_with_namespace_and_default
95
+ base = SerializerCore.new resolver: nil, default_namespace: 'urn:WsdlMapper'
96
+
97
+ base.complex ['urn:WsdlMapper', 'noteType'], ['urn:WsdlMapper', 'note'], [] do |x|
98
+ x.value_builtin ['urn:WsdlMapper', 'to'], 'to@example.org', :string
99
+ x.value_builtin ['urn:WsdlMapper', 'from'], 'from@example.org', :string
100
+ x.value_builtin ['urn:WsdlMapper', 'date'], DateTime.new(2010, 11, 10, 9, 8, 7, '+02:00'), :dateTime
101
+ x.value_builtin ['urn:WsdlMapper', 'valid_for'], TimeDuration.new(days: 20), :gDay
102
+ x.value_builtin ['urn:WsdlMapper', 'heading'], 'Important Note!', :string
103
+ x.value_builtin ['urn:WsdlMapper', 'body'], 'Just kidding', :string
104
+ end
105
+
106
+ assert_equal <<XML, base.to_xml
107
+ <?xml version="1.0" encoding="UTF-8"?>
108
+ <note xmlns="urn:WsdlMapper">
109
+ <to>to@example.org</to>
110
+ <from>from@example.org</from>
111
+ <date>2010-11-10T09:08:07+02:00</date>
112
+ <valid_for>20</valid_for>
113
+ <heading>Important Note!</heading>
114
+ <body>Just kidding</body>
115
+ </note>
116
+ XML
117
+ end
118
+
119
+ def test_simple_example_with_namespace_and_custom_prefix
120
+ namespaces = WsdlMapper::Dom::Namespaces.new
121
+ namespaces[:wm] = 'urn:WsdlMapper'
122
+ base = SerializerCore.new resolver: nil, namespaces: namespaces
123
+
124
+ base.complex ['urn:WsdlMapper', 'noteType'], ['urn:WsdlMapper', 'note'], [] do |x|
125
+ x.value_builtin ['urn:WsdlMapper', 'to'], 'to@example.org', :string
126
+ x.value_builtin ['urn:WsdlMapper', 'from'], 'from@example.org', :string
127
+ x.value_builtin ['urn:WsdlMapper', 'date'], DateTime.new(2010, 11, 10, 9, 8, 7, '+02:00'), :dateTime
128
+ x.value_builtin ['urn:WsdlMapper', 'valid_for'], TimeDuration.new(days: 20), :gDay
129
+ x.value_builtin ['urn:WsdlMapper', 'heading'], 'Important Note!', :string
130
+ x.value_builtin ['urn:WsdlMapper', 'body'], 'Just kidding', :string
131
+ end
132
+
133
+ assert_equal <<XML, base.to_xml
134
+ <?xml version="1.0" encoding="UTF-8"?>
135
+ <wm:note xmlns:wm="urn:WsdlMapper">
136
+ <wm:to>to@example.org</wm:to>
137
+ <wm:from>from@example.org</wm:from>
138
+ <wm:date>2010-11-10T09:08:07+02:00</wm:date>
139
+ <wm:valid_for>20</wm:valid_for>
140
+ <wm:heading>Important Note!</wm:heading>
141
+ <wm:body>Just kidding</wm:body>
142
+ </wm:note>
143
+ XML
144
+ end
145
+
146
+ def test_simple_example_without_namespace
147
+ base = SerializerCore.new resolver: nil
148
+
149
+ base.complex [nil, 'noteType'], [nil, 'note'], [] do |x|
150
+ x.value_builtin [nil, 'to'], 'to@example.org', :string
151
+ x.value_builtin [nil, 'from'], 'from@example.org', :string
152
+ x.value_builtin [nil, 'date'], DateTime.new(2010, 11, 10, 9, 8, 7, '+02:00'), :dateTime
153
+ x.value_builtin [nil, 'valid_for'], TimeDuration.new(days: 20), :gDay
154
+ x.value_builtin [nil, 'heading'], 'Important Note!', :string
155
+ x.value_builtin [nil, 'body'], 'Just kidding', :string
156
+ end
157
+
158
+ assert_equal <<XML, base.to_xml
159
+ <?xml version="1.0" encoding="UTF-8"?>
160
+ <note>
161
+ <to>to@example.org</to>
162
+ <from>from@example.org</from>
163
+ <date>2010-11-10T09:08:07+02:00</date>
164
+ <valid_for>20</valid_for>
165
+ <heading>Important Note!</heading>
166
+ <body>Just kidding</body>
167
+ </note>
168
+ XML
169
+ end
170
+
171
+ def test_simple_example_with_default_namespace
172
+ base = SerializerCore.new resolver: nil, default_namespace: 'urn:WsdlMapper'
173
+
174
+ base.complex [nil, 'noteType'], [nil, 'note'], [] do |x|
175
+ x.value_builtin ['urn:WsdlMapper', 'to'], 'to@example.org', :string
176
+ x.value_builtin ['urn:WsdlMapper', 'from'], 'from@example.org', :string
177
+ x.value_builtin ['urn:WsdlMapper', 'date'], DateTime.new(2010, 11, 10, 9, 8, 7, '+02:00'), :dateTime
178
+ x.value_builtin ['urn:WsdlMapper', 'valid_for'], TimeDuration.new(days: 20), :gDay
179
+ x.value_builtin ['urn:WsdlMapper', 'heading'], 'Important Note!', :string
180
+ x.value_builtin ['urn:WsdlMapper', 'body'], 'Just kidding', :string
181
+ end
182
+
183
+ assert_equal <<XML, base.to_xml
184
+ <?xml version="1.0" encoding="UTF-8"?>
185
+ <note xmlns="urn:WsdlMapper">
186
+ <to>to@example.org</to>
187
+ <from>from@example.org</from>
188
+ <date>2010-11-10T09:08:07+02:00</date>
189
+ <valid_for>20</valid_for>
190
+ <heading>Important Note!</heading>
191
+ <body>Just kidding</body>
192
+ </note>
193
+ XML
194
+ end
195
+
196
+ def test_nested_example
197
+ base = SerializerCore.new resolver: nil
198
+
199
+ base.complex [nil, 'noteType'], [nil, 'note'], [] do |x|
200
+ x.complex [nil, 'noteHeader'], [nil, 'header'], [] do |x|
201
+ x.value_builtin [nil, 'to'], 'to@example.org', :string
202
+ x.value_builtin [nil, 'from'], 'from@example.org', :string
203
+ x.value_builtin [nil, 'date'], DateTime.new(2010, 11, 10, 9, 8, 7, '+02:00'), :dateTime
204
+ x.value_builtin [nil, 'valid_for'], TimeDuration.new(days: 20), :gDay
205
+ x.value_builtin [nil, 'heading'], 'Important Note!', :string
206
+ end
207
+ x.value_builtin [nil, 'body'], 'Just kidding', :string
208
+ end
209
+
210
+ assert_equal <<XML, base.to_xml
211
+ <?xml version="1.0" encoding="UTF-8"?>
212
+ <note>
213
+ <header>
214
+ <to>to@example.org</to>
215
+ <from>from@example.org</from>
216
+ <date>2010-11-10T09:08:07+02:00</date>
217
+ <valid_for>20</valid_for>
218
+ <heading>Important Note!</heading>
219
+ </header>
220
+ <body>Just kidding</body>
221
+ </note>
222
+ XML
223
+ end
224
+
225
+ def test_soap_array
226
+ base = SerializerCore.new resolver: nil
227
+
228
+ attributes = [
229
+ [[base.soap_enc, 'arrayType'], 'attachment[2]', 'string']
230
+ ]
231
+ base.complex [nil, 'attachments'], [nil, 'attachments'], attributes do |x|
232
+ x.complex [nil, 'attachment'], [nil, 'attachment'], [] do |x|
233
+ x.value_builtin [nil, 'name'], 'This is an attachment', :string
234
+ end
235
+ x.complex [nil, 'attachment'], [nil, 'attachment'], [] do |x|
236
+ x.value_builtin [nil, 'name'], 'This is another attachment', :string
237
+ end
238
+ end
239
+
240
+ assert_equal <<XML, base.to_xml
241
+ <?xml version="1.0" encoding="UTF-8"?>
242
+ <attachments xmlns:ns0="http://schemas.xmlsoap.org/soap/encoding/" ns0:arrayType="attachment[2]">
243
+ <attachment>
244
+ <name>This is an attachment</name>
245
+ </attachment>
246
+ <attachment>
247
+ <name>This is another attachment</name>
248
+ </attachment>
249
+ </attachments>
250
+ XML
251
+ end
252
+
253
+ def test_nil_attribute
254
+ base = SerializerCore.new resolver: nil
255
+
256
+ attributes = [
257
+ [[nil, 'uuid'], nil, 'token']
258
+ ]
259
+ base.complex [nil, 'noteType'], [nil, 'note'], attributes do |x|
260
+ x.value_builtin [nil, 'to'], 'to@example.org', :string
261
+ x.value_builtin [nil, 'from'], 'from@example.org', :string
262
+ end
263
+
264
+ assert_equal <<XML, base.to_xml
265
+ <?xml version="1.0" encoding="UTF-8"?>
266
+ <note>
267
+ <to>to@example.org</to>
268
+ <from>from@example.org</from>
269
+ </note>
270
+ XML
271
+ end
272
+
273
+ def test_simple_example_with_attributes
274
+ base = SerializerCore.new resolver: nil
275
+
276
+ attributes = [
277
+ [[nil, 'uuid'], '12345', 'token']
278
+ ]
279
+ base.complex [nil, 'noteType'], [nil, 'note'], attributes do |x|
280
+ x.value_builtin [nil, 'to'], 'to@example.org', :string
281
+ x.value_builtin [nil, 'from'], 'from@example.org', :string
282
+ end
283
+
284
+ assert_equal <<XML, base.to_xml
285
+ <?xml version="1.0" encoding="UTF-8"?>
286
+ <note uuid="12345">
287
+ <to>to@example.org</to>
288
+ <from>from@example.org</from>
289
+ </note>
290
+ XML
291
+ end
292
+ end
293
+ end
@@ -0,0 +1,46 @@
1
+ require 'test_helper'
2
+
3
+ require 'wsdl_mapper/dom/name'
4
+ require 'wsdl_mapper/serializers/serializer_factory'
5
+ require 'wsdl_mapper/serializers/type_directory'
6
+
7
+ module SerializersTests
8
+ class SerializerFactoryTest < ::WsdlMapperTesting::Test
9
+ include WsdlMapper::Serializers
10
+ include WsdlMapper::Dom
11
+
12
+ class NoteTypeSerializer
13
+ def build(x, _obj, _name)
14
+ x.complex [nil, 'noteType'], [nil, 'note'], [] do |x|
15
+ x.value_builtin [nil, 'to'], 'to@example.org', :string
16
+ x.value_builtin [nil, 'from'], 'from@example.org', :string
17
+ end
18
+ end
19
+ end
20
+
21
+ class NoteType < Struct.new(:to, :from)
22
+ end
23
+
24
+ def test_simple
25
+ type_directory = ::WsdlMapper::Serializers::TypeDirectory.new do
26
+ register_type(NoteType.name, 'note_type_serializer', NoteTypeSerializer.name)
27
+ end
28
+ type_directory.register_serializer NoteTypeSerializer.name, NoteTypeSerializer.new
29
+ type_directory.register_element NoteType.name, [nil, 'note']
30
+
31
+ def type_directory.require(_path);
32
+ end
33
+
34
+ serializer_factory = WsdlMapper::Serializers::SerializerFactory.new type_directory
35
+
36
+ xml = serializer_factory.to_xml NoteType.new('to@example.org', 'from@example.org')
37
+ assert_equal <<XML, xml
38
+ <?xml version="1.0" encoding="UTF-8"?>
39
+ <note>
40
+ <to>to@example.org</to>
41
+ <from>from@example.org</from>
42
+ </note>
43
+ XML
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,31 @@
1
+ require 'test_helper'
2
+
3
+ require 'wsdl_mapper/dom/name'
4
+ require 'wsdl_mapper/serializers/type_directory'
5
+
6
+ module SerializersTests
7
+ class TypeDirectoryTest < ::WsdlMapperTesting::Test
8
+ include WsdlMapper::Serializers
9
+ include WsdlMapper::Dom
10
+
11
+ class NoteTypeSerializer
12
+ end
13
+ class NoteType
14
+ end
15
+
16
+ def test_simple
17
+ type_directory = ::WsdlMapper::Serializers::TypeDirectory.new do
18
+ register_type(NoteType.name, 'note_type_serializer', NoteTypeSerializer.name)
19
+ end
20
+ type_directory.register_serializer NoteTypeSerializer.name, NoteTypeSerializer.new
21
+ type_directory.register_element NoteType.name, [nil, 'note']
22
+
23
+ def type_directory.require(_path);
24
+ end
25
+
26
+ assert_kind_of NoteTypeSerializer, type_directory.resolve(NoteType.name)
27
+ assert_kind_of NoteTypeSerializer, type_directory.find(NoteType.new)
28
+ assert_equal Name.get(nil, 'note'), type_directory.get_element_name(NoteType.name)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,269 @@
1
+ require 'test_helper'
2
+
3
+ require 'wsdl_mapper/svc_desc_parsing/parser'
4
+
5
+ module SvcDescParsingTests
6
+ class ParserTest < WsdlMapperTesting::Test
7
+ include WsdlMapper::SvcDescParsing
8
+ include WsdlMapper::Dom
9
+
10
+ NS = 'http://example.org/schema'
11
+
12
+ def test_name
13
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
14
+
15
+ assert_equal 'MyWsdl', desc.name
16
+ end
17
+
18
+ def test_messages
19
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
20
+
21
+ msgs = desc.each_message.to_a
22
+ assert_equal 3, msgs.count
23
+
24
+ header_msg = msgs[0]
25
+ assert_equal Name.get(NS, 'HeaderMsg'), header_msg.name
26
+ in_msg = msgs[1]
27
+ assert_equal Name.get(NS, 'OperationInputMsg'), in_msg.name
28
+ out_msg = msgs[2]
29
+ assert_equal Name.get(NS, 'OperationOutputMsg'), out_msg.name
30
+ end
31
+
32
+ def test_message_part_with_element
33
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
34
+
35
+ msg = desc.each_message.first
36
+
37
+ assert_equal 1, msg.parts.count
38
+ part = msg.each_part.first
39
+
40
+ assert_equal Name.get(NS, 'HeaderPart'), part.name
41
+ assert_equal Name.get(NS, 'HeaderElement'), part.element_name
42
+ refute_nil part.element
43
+ assert_equal desc.get_element(Name.get(NS, 'HeaderElement')), part.element
44
+ end
45
+
46
+ def test_message_part_with_type
47
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
48
+
49
+ msg = desc.each_message.to_a[1]
50
+
51
+ assert_equal 1, msg.parts.count
52
+ part = msg.each_part.first
53
+
54
+ assert_equal Name.get(NS, 'OperationInputPart'), part.name
55
+ assert_equal Name.get(NS, 'OperationInputType'), part.type_name
56
+ refute_nil part.type
57
+ assert_equal desc.get_type(Name.get(NS, 'OperationInputType')), part.type
58
+ end
59
+
60
+ def test_port_types
61
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
62
+
63
+ port_types = desc.each_port_type.to_a
64
+ assert_equal 1, port_types.count
65
+ port_type = port_types.first
66
+
67
+ assert_equal Name.get(NS, 'MyPortType'), port_type.name
68
+ end
69
+
70
+ def test_port_type_operations
71
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
72
+
73
+ port_types = desc.each_port_type.to_a
74
+ assert_equal 1, port_types.count
75
+ port_type = port_types.first
76
+
77
+ operations = port_type.each_operation.to_a
78
+ assert_equal 1, operations.count
79
+
80
+ operation = operations.first
81
+ assert_equal Name.get(NS, 'SomeOperation'), operation.name
82
+
83
+ assert_equal Name.get(NS, 'OperationInputMsg'), operation.input.message_name
84
+ assert_equal Name.get(NS, 'OperationInputMsg'), operation.input.message.name
85
+
86
+ assert_equal Name.get(NS, 'OperationOutputMsg'), operation.output.message_name
87
+ assert_equal Name.get(NS, 'OperationOutputMsg'), operation.output.message.name
88
+ assert_equal Name.get(NS, 'OperationOutputType'), operation.output.message.each_part.first.type.name
89
+
90
+ assert_equal Name.get(NS, 'StandardFault'), operation.each_fault.first.name
91
+ assert_equal Name.get(NS, 'OperationOutputMsg'), operation.each_fault.first.message_name
92
+ assert_equal Name.get(NS, 'OperationOutputMsg'), operation.each_fault.first.message.name
93
+ end
94
+
95
+ def test_port_type_operation_overloads
96
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service_with_overload.wsdl'
97
+
98
+ port_types = desc.each_port_type.to_a
99
+ assert_equal 1, port_types.count
100
+ port_type = port_types.first
101
+
102
+ operations = port_type.each_operation.to_a
103
+ assert_equal 2, operations.count
104
+
105
+ operation = operations.last
106
+ assert_equal Name.get(NS, 'SomeOperation'), operation.name
107
+
108
+ assert_equal Name.get(NS, 'OperationInputMsg2'), operation.input.message.name
109
+
110
+ bindings = desc.each_binding.to_a
111
+ binding = bindings.first
112
+ operations = binding.each_operation.to_a
113
+
114
+ assert_equal 2, operations.count
115
+ binding_operation = operations.last
116
+
117
+ assert_equal operation, binding_operation.target
118
+ end
119
+
120
+ def test_services
121
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
122
+
123
+ services = desc.each_service.to_a
124
+ assert_equal 1, services.count
125
+
126
+ service = services.first
127
+ assert_equal Name.get(NS, 'MyService'), service.name
128
+ end
129
+
130
+ def test_service_ports
131
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
132
+
133
+ service = desc.each_service.first
134
+ ports = service.each_port.to_a
135
+ assert_equal 1, ports.count
136
+ port = ports.first
137
+
138
+ assert_equal Name.get(NS, 'MyPort'), port.name
139
+ assert_equal Name.get(NS, 'MyBinding'), port.binding_name
140
+ assert_equal 'http://example.org/api', port.address_location
141
+ assert_equal Name.get(NS, 'MyBinding'), port.binding.name
142
+ end
143
+
144
+ def test_bindings_document
145
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
146
+
147
+ bindings = desc.each_binding.to_a
148
+ assert_equal 2, bindings.count
149
+ binding = bindings.first
150
+
151
+ assert_equal Name.get(NS, 'MyBinding'), binding.name
152
+ assert_equal Name.get(NS, 'MyPortType'), binding.type_name
153
+ assert_equal 'document', binding.style
154
+ assert_equal SoapHttp::NS, binding.transport
155
+ assert_equal Name.get(NS, 'MyPortType'), binding.type.name
156
+ end
157
+
158
+ def test_binding_document_operations
159
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
160
+
161
+ bindings = desc.each_binding.to_a
162
+ binding = bindings.first
163
+
164
+ operations = binding.each_operation.to_a
165
+ assert_equal 1, operations.count
166
+ operation = operations.first
167
+
168
+ assert_equal Name.get(NS, 'SomeOperation'), operation.name
169
+ assert_equal 'MySoapAction', operation.soap_action
170
+
171
+ input = operation.input
172
+ refute_nil input.target
173
+ assert_equal Name.get(NS, 'HeaderMsg'), input.each_header.first.message_name
174
+ assert_equal Name.get(NS, 'HeaderMsg'), input.each_header.first.message.name
175
+ assert_equal Name.get(NS, 'HeaderPart'), input.each_header.first.part_name
176
+ assert_equal Name.get(NS, 'HeaderPart'), input.each_header.first.part.name
177
+ assert_equal false, input.each_header.first.encoded?
178
+ assert_equal false, input.body.encoded?
179
+
180
+ output = operation.output
181
+ refute_nil output.target
182
+ assert_equal Name.get(NS, 'HeaderMsg'), output.each_header.first.message_name
183
+ assert_equal Name.get(NS, 'HeaderMsg'), output.each_header.first.message.name
184
+ assert_equal Name.get(NS, 'HeaderPart'), output.each_header.first.part_name
185
+ assert_equal Name.get(NS, 'HeaderPart'), output.each_header.first.part.name
186
+ assert_equal Name.get(NS, 'HeaderElement'), output.each_header.first.part.element.name
187
+ assert_equal false, output.body.encoded?
188
+
189
+ fault = operation.each_fault.first
190
+ refute_nil fault.target
191
+ assert_equal Name.get(NS, 'StandardFault'), fault.name
192
+ assert_equal Name.get(NS, 'StandardFault'), fault.soap_fault.name
193
+ assert_equal false, fault.soap_fault.encoded?
194
+ assert_equal Name.get(NS, 'StandardFault'), fault.target.name
195
+
196
+ header_fault = input.each_header.first.each_header_fault.first
197
+ refute_nil header_fault
198
+ assert_equal Name.get(NS, 'OperationInputMsg'), header_fault.message_name
199
+ assert_equal Name.get(NS, 'OperationInputPart'), header_fault.part_name
200
+ assert_equal Name.get(NS, 'OperationInputMsg'), header_fault.message.name
201
+ assert_equal Name.get(NS, 'OperationInputPart'), header_fault.part.name
202
+ assert_equal false, header_fault.encoded?
203
+ end
204
+
205
+ def test_bindings_rpc
206
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
207
+
208
+ bindings = desc.each_binding.to_a
209
+ assert_equal 2, bindings.count
210
+ binding = bindings.last
211
+
212
+ assert_equal Name.get(NS, 'MyBindingRPC'), binding.name
213
+ assert_equal Name.get(NS, 'MyPortType'), binding.type_name
214
+ assert_equal 'rpc', binding.style
215
+ assert_equal SoapHttp::NS, binding.transport
216
+ assert_equal Name.get(NS, 'MyPortType'), binding.type.name
217
+ end
218
+
219
+ def test_binding_rpc_operations
220
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
221
+
222
+ bindings = desc.each_binding.to_a
223
+ binding = bindings.last
224
+
225
+ operations = binding.each_operation.to_a
226
+ assert_equal 1, operations.count
227
+ operation = operations.first
228
+
229
+ assert_equal Name.get(NS, 'SomeOperation'), operation.name
230
+ assert_equal 'MySoapAction', operation.soap_action
231
+ assert_equal desc.each_port_type.first.each_operation.first, operation.target
232
+
233
+ input = operation.input
234
+ assert_equal Name.get(NS, 'OperationInputMsg'), input.message.name
235
+ assert_equal Name.get(NS, 'HeaderMsg'), input.each_header.first.message_name
236
+ assert_equal Name.get(NS, 'HeaderMsg'), input.each_header.first.message.name
237
+ assert_equal Name.get(NS, 'HeaderPart'), input.each_header.first.part_name
238
+ assert_equal Name.get(NS, 'HeaderPart'), input.each_header.first.part.name
239
+ assert_equal true, input.each_header.first.encoded?
240
+ assert_equal true, input.body.encoded?
241
+ assert_equal 'http://schemas.xmlsoap.org/soap/encoding/', input.body.encoding_styles.first
242
+ assert_equal 'http://example.org/schema', input.body.namespace
243
+ assert_equal [Name.get(NS, 'OperationInputPart')], input.body.part_names
244
+ assert_equal Name.get(NS, 'OperationInputPart'), input.body.parts.first.name
245
+
246
+ output = operation.output
247
+ assert_equal Name.get(NS, 'OperationOutputMsg'), output.message.name
248
+ assert_equal Name.get(NS, 'HeaderMsg'), output.each_header.first.message_name
249
+ assert_equal Name.get(NS, 'HeaderMsg'), output.each_header.first.message.name
250
+ assert_equal Name.get(NS, 'HeaderPart'), output.each_header.first.part_name
251
+ assert_equal Name.get(NS, 'HeaderPart'), output.each_header.first.part.name
252
+ assert_equal Name.get(NS, 'HeaderElement'), output.each_header.first.part.element.name
253
+ assert_equal true, output.each_header.first.encoded?
254
+ assert_equal true, output.body.encoded?
255
+ assert_equal 'http://schemas.xmlsoap.org/soap/encoding/', output.body.encoding_styles.first
256
+ assert_equal 'http://example.org/schema', output.body.namespace
257
+ assert_equal [Name.get(NS, 'OperationOutputPart')], output.body.part_names
258
+ assert_equal Name.get(NS, 'OperationOutputPart'), output.body.parts.first.name
259
+ end
260
+
261
+ def test_embedded_schema
262
+ desc = TestHelper.parse_wsdl 'wsdls/simple_service.wsdl'
263
+ schema = desc.each_schema.first
264
+
265
+ assert_equal 3, schema.each_type.count
266
+ assert_equal 1, schema.each_element.count
267
+ end
268
+ end
269
+ end