simcha-mappum 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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