simcha-mappum 0.1.0

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.
@@ -0,0 +1,62 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+ #TODO fix imports
3
+ require 'mappum/xml_transform'
4
+ require 'test/unit'
5
+ require 'rubygems'
6
+ gem 'soap4r'
7
+ gem 'facets'
8
+ require 'facets/equatable'
9
+ require 'soap/marshal'
10
+ require 'sample/example_notypes'
11
+
12
+ NsXMLSchema = "http://www.w3.org/2001/XMLSchema"
13
+ class TestXmlAny < Test::Unit::TestCase
14
+
15
+ def test_xml_any
16
+ catalogue = Mappum.catalogue("NOTYPE-CRM-ERP")
17
+ rt = Mappum::XmlTransform.new(catalogue)
18
+ xml = IO.read("sample/person_fixture_any.xml")
19
+ client_xml = rt.transform(xml)
20
+
21
+ reg = ::SOAP::Mapping::LiteralRegistry.new()
22
+
23
+ cli = XSD::Mapping::Mapper.new(reg).xml2obj(client_xml)
24
+
25
+ assert_equal("sir", cli.title)
26
+ assert_equal("ASDDSA", cli.id)
27
+ assert_equal("2", cli.sex_id)
28
+ assert_equal("Skoryski", cli.surname)
29
+ assert_equal("Victoria", cli.address.street)
30
+ assert_equal(["j@j.com", "k@k.com", "l@l.com"], cli.emails)
31
+ assert_equal(["21311231", "21311232"], cli.phones)
32
+ assert_equal("09876567", cli.main_phone)
33
+ assert_equal({XSD::QName.new(nil,"ident") => "123212"}, cli.__xmlattr)
34
+
35
+ person2_xml = rt.transform(client_xml)
36
+ person = XSD::Mapping::Mapper.new(reg).xml2obj(xml)
37
+ person2 = XSD::Mapping::Mapper.new(reg).xml2obj(person2_xml)
38
+
39
+ assert_equal(person, person2)
40
+
41
+ end
42
+ def test_xml_any_map_name
43
+ catalogue = Mappum.catalogue("NOTYPE-CRM-ERP")
44
+ rt = Mappum::XmlTransform.new(catalogue)
45
+ xml = IO.read("sample/person_fixture_any.xml")
46
+ client_xml = rt.transform(xml, :person)
47
+
48
+ reg = ::SOAP::Mapping::LiteralRegistry.new()
49
+
50
+ cli = XSD::Mapping::Mapper.new(reg).xml2obj(client_xml)
51
+
52
+ assert_equal("sir", cli.title)
53
+ assert_equal("ASDDSA", cli.id)
54
+ assert_equal("2", cli.sex_id)
55
+ assert_equal("Skoryski", cli.surname)
56
+ assert_equal("Victoria", cli.address.street)
57
+ assert_equal(["j@j.com", "k@k.com", "l@l.com"], cli.emails)
58
+ assert_equal(["21311231", "21311232"], cli.phones)
59
+ assert_equal("09876567", cli.main_phone)
60
+
61
+ end
62
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simcha-mappum
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - "Jan Topi\xC5\x84ski"
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-06-29 00:00:00 -07:00
13
+ default_executable: mapserver.rb
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: facets
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.5.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: soap4r
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.5.8
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: sinatra
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.9.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: thin
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.2.2
54
+ version:
55
+ description: ""
56
+ email: jtopinski@chatka.org
57
+ executables:
58
+ - mapserver.rb
59
+ extensions: []
60
+
61
+ extra_rdoc_files:
62
+ - LICENSE
63
+ - README
64
+ files:
65
+ - .gitignore
66
+ - LICENSE
67
+ - README
68
+ - Rakefile
69
+ - VERSION
70
+ - bin/mapserver.rb
71
+ - lib/mappum.rb
72
+ - lib/mappum/dsl.rb
73
+ - lib/mappum/map.rb
74
+ - lib/mappum/mapserver/mapgraph.rb
75
+ - lib/mappum/mapserver/mapserver.rb
76
+ - lib/mappum/mapserver/views/transform-ws.wsdl.erb
77
+ - lib/mappum/mapserver/views/ws-error.erb
78
+ - lib/mappum/open_xml_object.rb
79
+ - lib/mappum/ruby_transform.rb
80
+ - lib/mappum/xml_transform.rb
81
+ - mappum.gemspec
82
+ - sample/address_fixture.xml
83
+ - sample/crm.rb
84
+ - sample/crm_client.xsd
85
+ - sample/erp.rb
86
+ - sample/erp_person.xsd
87
+ - sample/example_map.rb
88
+ - sample/example_notypes.rb
89
+ - sample/person_fixture.xml
90
+ - sample/person_fixture_any.xml
91
+ - sample/server/map/example_any.rb
92
+ - sample/server/map/example_soap4r.rb
93
+ - sample/server/mapserver.sh
94
+ - sample/server/schema/crm_client.xsd
95
+ - sample/server/schema/erp/erp_person.xsd
96
+ - test/test_example.rb
97
+ - test/test_openstruct.rb
98
+ - test/test_soap4r.rb
99
+ - test/test_xml_any.rb
100
+ has_rdoc: true
101
+ homepage: http://wiki.github.com/simcha/mappum
102
+ post_install_message:
103
+ rdoc_options:
104
+ - --charset=UTF-8
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ version:
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: "0"
118
+ version:
119
+ requirements: []
120
+
121
+ rubyforge_project:
122
+ rubygems_version: 1.2.0
123
+ signing_key:
124
+ specification_version: 2
125
+ summary: Mappum is the tree to tree (object, bean etc.) mapping DSL.
126
+ test_files:
127
+ - test/test_example.rb
128
+ - test/test_openstruct.rb
129
+ - test/test_xml_any.rb
130
+ - test/test_soap4r.rb