partigi-partigirb 0.2.1
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.
- data/.gitignore +5 -0
- data/LICENSE +20 -0
- data/README.rdoc +9 -0
- data/Rakefile +56 -0
- data/VERSION +1 -0
- data/lib/partigirb/client.rb +190 -0
- data/lib/partigirb/core_ext.rb +78 -0
- data/lib/partigirb/handlers/atom_handler.rb +24 -0
- data/lib/partigirb/handlers/json_handler.rb +10 -0
- data/lib/partigirb/handlers/string_handler.rb +9 -0
- data/lib/partigirb/handlers/xml_handler.rb +51 -0
- data/lib/partigirb/transport.rb +160 -0
- data/lib/partigirb.rb +25 -0
- data/partigirb.gemspec +69 -0
- data/test/atom_handler_test.rb +61 -0
- data/test/client_test.rb +198 -0
- data/test/fixtures/alvaro_friends.atom.xml +80 -0
- data/test/fixtures/pulp_fiction.atom.xml +99 -0
- data/test/json_handler_test.rb +7 -0
- data/test/mocks/net_http_mock.rb +12 -0
- data/test/mocks/response_mock.rb +12 -0
- data/test/mocks/transport_mock.rb +15 -0
- data/test/test_helper.rb +47 -0
- data/test/transport_test.rb +8 -0
- data/test/xml_handler_test.rb +65 -0
- metadata +89 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class XMLHandlerTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@handler = Partigirb::Handlers::XMLHandler.new
|
6
|
+
end
|
7
|
+
|
8
|
+
should "extract root nodes" do
|
9
|
+
xmls = build_xml_string do |xml|
|
10
|
+
xml.instruct!
|
11
|
+
xml.user do
|
12
|
+
xml.id 12
|
13
|
+
xml.name 'Wadus'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
res = @handler.decode_response(xmls)
|
18
|
+
assert res.is_a?(Partigirb::PartigiStruct)
|
19
|
+
assert_equal 12, res.id
|
20
|
+
assert_equal 'Wadus', res.name
|
21
|
+
end
|
22
|
+
|
23
|
+
should "extract nested nodes" do
|
24
|
+
xmls = build_xml_string do |xml|
|
25
|
+
xml.instruct!
|
26
|
+
xml.user do
|
27
|
+
xml.id 1
|
28
|
+
xml.friends :type => 'collection' do
|
29
|
+
xml.friend do
|
30
|
+
xml.id 2
|
31
|
+
xml.name 'Wadus'
|
32
|
+
end
|
33
|
+
xml.friend do
|
34
|
+
xml.id 3
|
35
|
+
xml.name 'Gradus'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
res = @handler.decode_response(xmls)
|
42
|
+
assert res.is_a?(Partigirb::PartigiStruct)
|
43
|
+
assert_equal 1, res.id
|
44
|
+
assert res.friends.is_a?(Array)
|
45
|
+
assert_equal 2, res.friends[0].id
|
46
|
+
assert_equal 3, res.friends[1].id
|
47
|
+
assert_equal 'Wadus', res.friends[0].name
|
48
|
+
assert_equal 'Gradus', res.friends[1].name
|
49
|
+
end
|
50
|
+
|
51
|
+
should "extract nodes using namespaces" do
|
52
|
+
xmls = build_xml_string do |xml|
|
53
|
+
xml.instruct!
|
54
|
+
xml.user({"xmlns:nameSpace" => 'http://schemas.overtheworld.com/v200/nameSpace'}) do
|
55
|
+
xml.nameSpace :id, 123
|
56
|
+
xml.nameSpace :name, 'Bob'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
res = @handler.decode_response(xmls)
|
61
|
+
assert res.is_a?(Partigirb::PartigiStruct)
|
62
|
+
assert_equal 123, res.nameSpace_id
|
63
|
+
assert_equal 'Bob', res.nameSpace_name
|
64
|
+
end
|
65
|
+
end
|
metadata
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: partigi-partigirb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Alvaro Bautista
|
8
|
+
- Fernando Blat
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2009-07-24 00:00:00 -07:00
|
14
|
+
default_executable:
|
15
|
+
dependencies: []
|
16
|
+
|
17
|
+
description:
|
18
|
+
email:
|
19
|
+
- alvarobp@gmail.com
|
20
|
+
- ferblape@gmail.com
|
21
|
+
executables: []
|
22
|
+
|
23
|
+
extensions: []
|
24
|
+
|
25
|
+
extra_rdoc_files:
|
26
|
+
- LICENSE
|
27
|
+
- README.rdoc
|
28
|
+
files:
|
29
|
+
- .gitignore
|
30
|
+
- LICENSE
|
31
|
+
- README.rdoc
|
32
|
+
- Rakefile
|
33
|
+
- VERSION
|
34
|
+
- lib/partigirb.rb
|
35
|
+
- lib/partigirb/client.rb
|
36
|
+
- lib/partigirb/core_ext.rb
|
37
|
+
- lib/partigirb/handlers/atom_handler.rb
|
38
|
+
- lib/partigirb/handlers/json_handler.rb
|
39
|
+
- lib/partigirb/handlers/string_handler.rb
|
40
|
+
- lib/partigirb/handlers/xml_handler.rb
|
41
|
+
- lib/partigirb/transport.rb
|
42
|
+
- partigirb.gemspec
|
43
|
+
- test/atom_handler_test.rb
|
44
|
+
- test/client_test.rb
|
45
|
+
- test/fixtures/alvaro_friends.atom.xml
|
46
|
+
- test/fixtures/pulp_fiction.atom.xml
|
47
|
+
- test/json_handler_test.rb
|
48
|
+
- test/mocks/net_http_mock.rb
|
49
|
+
- test/mocks/response_mock.rb
|
50
|
+
- test/mocks/transport_mock.rb
|
51
|
+
- test/test_helper.rb
|
52
|
+
- test/transport_test.rb
|
53
|
+
- test/xml_handler_test.rb
|
54
|
+
has_rdoc: true
|
55
|
+
homepage: http://github.com/partigi/partigirb
|
56
|
+
post_install_message:
|
57
|
+
rdoc_options:
|
58
|
+
- --charset=UTF-8
|
59
|
+
require_paths:
|
60
|
+
- lib
|
61
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: "0"
|
66
|
+
version:
|
67
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: "0"
|
72
|
+
version:
|
73
|
+
requirements: []
|
74
|
+
|
75
|
+
rubyforge_project:
|
76
|
+
rubygems_version: 1.2.0
|
77
|
+
signing_key:
|
78
|
+
specification_version: 2
|
79
|
+
summary: TODO
|
80
|
+
test_files:
|
81
|
+
- test/atom_handler_test.rb
|
82
|
+
- test/client_test.rb
|
83
|
+
- test/json_handler_test.rb
|
84
|
+
- test/mocks/net_http_mock.rb
|
85
|
+
- test/mocks/response_mock.rb
|
86
|
+
- test/mocks/transport_mock.rb
|
87
|
+
- test/test_helper.rb
|
88
|
+
- test/transport_test.rb
|
89
|
+
- test/xml_handler_test.rb
|