bintje 0.4.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.
- checksums.yaml +7 -0
- data/.gitignore +21 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/COPYRIGHT.txt +162 -0
- data/Gemfile +4 -0
- data/README.md +51 -0
- data/Rakefile +3 -0
- data/bintje.gemspec +27 -0
- data/copyright_script.sh +8 -0
- data/lib/bintje.rb +29 -0
- data/lib/bintje/version.rb +25 -0
- data/lib/helpers.rb +22 -0
- data/lib/open_object.rb +210 -0
- data/lib/xmlrpc/parser_patch.rb +50 -0
- data/license_header.txt +22 -0
- data/spec/data/faultCode.txt +1 -0
- data/spec/data/faultString.txt +5 -0
- data/spec/openerp_common_spec.rb +77 -0
- data/spec/reciever_model_spec.rb +270 -0
- data/spec/request_shared_examples.rb +42 -0
- data/spec/server_stub.rb +155 -0
- data/spec/spec_helper.rb +16 -0
- metadata +131 -0
data/spec/server_stub.rb
ADDED
@@ -0,0 +1,155 @@
|
|
1
|
+
module ServerStub
|
2
|
+
|
3
|
+
# Load fake faultCode
|
4
|
+
def self.faultCode
|
5
|
+
File.read('spec/data/faultCode.txt')
|
6
|
+
end
|
7
|
+
|
8
|
+
# Load fake faultString
|
9
|
+
def self.faultString
|
10
|
+
File.read('spec/data/faultString.txt')
|
11
|
+
end
|
12
|
+
|
13
|
+
module Common
|
14
|
+
module Login
|
15
|
+
|
16
|
+
# Common to all login stubs
|
17
|
+
def self.prologue
|
18
|
+
XMLRPC::Client::Proxy.any_instance
|
19
|
+
.stub(:login).with('dbname', 'user','password')
|
20
|
+
end
|
21
|
+
|
22
|
+
# faultCode for wrong database name
|
23
|
+
def self.wrong_database_name_fault_code
|
24
|
+
%q(FATAL: database "dbname" does not exist)
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
# Fake UID for success
|
29
|
+
def self.uid
|
30
|
+
2
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
# Simulate wrong database name response
|
35
|
+
def self.wrong_data_base_name
|
36
|
+
self.prologue
|
37
|
+
.and_raise(XMLRPC::FaultException.new(self.wrong_database_name_fault_code, 'bla'))
|
38
|
+
end
|
39
|
+
|
40
|
+
# Simulate wrong user name
|
41
|
+
def self.wrong_user_name
|
42
|
+
self.prologue.and_return(false)
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
# Simulate success
|
47
|
+
def self.successful
|
48
|
+
self.prologue.and_return(self.uid)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
54
|
+
module Object
|
55
|
+
|
56
|
+
# Embed connection stubbing reused in specific modules
|
57
|
+
module Connection
|
58
|
+
def self.prologue
|
59
|
+
XMLRPC::Client.stub(:new).with(OpenObject.host, OpenObject.object, OpenObject.port)
|
60
|
+
.and_return().stub(:proxy).with(nil,'dbname',2,'pwd').and_return()
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
module Search
|
65
|
+
# Initialise stub request with default args
|
66
|
+
def self.prologue
|
67
|
+
Connection.prologue.stub(:execute)
|
68
|
+
.with('receiver_model','search', [['field', 'operator', 'value' ]],0,0)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Stub success result
|
72
|
+
def self.successful
|
73
|
+
self.prologue.and_return([1,2])
|
74
|
+
end
|
75
|
+
|
76
|
+
# Stub failure result
|
77
|
+
def self.failure
|
78
|
+
self.prologue.and_raise(XMLRPC::FaultException.new(ServerStub.faultCode, ServerStub.faultString))
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
module Read
|
84
|
+
# Initialise stub request with default args
|
85
|
+
def self.prologue
|
86
|
+
Connection.prologue.stub(:execute)
|
87
|
+
.with('receiver_model','read',[1,2],['fields'])
|
88
|
+
end
|
89
|
+
|
90
|
+
# Standard response shortcut
|
91
|
+
def self.standard_response
|
92
|
+
[{id:1,name:'un'},{id:2,name:'two'}]
|
93
|
+
end
|
94
|
+
|
95
|
+
# Stub success result
|
96
|
+
def self.successful
|
97
|
+
self.prologue.and_return(self.standard_response)
|
98
|
+
end
|
99
|
+
|
100
|
+
# Stub failure result
|
101
|
+
def self.failure
|
102
|
+
self.prologue.and_raise(XMLRPC::FaultException.new(ServerStub.faultCode, ServerStub.faultString))
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
module Write
|
107
|
+
# Initialise stub request with default args
|
108
|
+
def self.prologue
|
109
|
+
Connection.prologue.stub(:execute)
|
110
|
+
.with('receiver_model','write',[1,2],{field:'value'})
|
111
|
+
end
|
112
|
+
|
113
|
+
# Standard response shortcut
|
114
|
+
def self.standard_response
|
115
|
+
true
|
116
|
+
end
|
117
|
+
|
118
|
+
# Stub success result
|
119
|
+
def self.successful
|
120
|
+
self.prologue.and_return(self.standard_response)
|
121
|
+
end
|
122
|
+
|
123
|
+
# Stub failure result
|
124
|
+
def self.failure
|
125
|
+
self.prologue.and_raise(XMLRPC::FaultException.new(ServerStub.faultCode, ServerStub.faultString))
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
module Create
|
130
|
+
# Initialise stub request with default args
|
131
|
+
def self.prologue
|
132
|
+
Connection.prologue.stub(:execute)
|
133
|
+
.with('receiver_model','create',{field:'value'})
|
134
|
+
end
|
135
|
+
|
136
|
+
# Standard response shortcut
|
137
|
+
def self.standard_response
|
138
|
+
1
|
139
|
+
end
|
140
|
+
|
141
|
+
# Stub success result
|
142
|
+
def self.successful
|
143
|
+
self.prologue.and_return(self.standard_response)
|
144
|
+
end
|
145
|
+
|
146
|
+
# Stub failure result
|
147
|
+
def self.failure
|
148
|
+
self.prologue.and_raise(XMLRPC::FaultException.new(ServerStub.faultCode, ServerStub.faultString))
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
|
153
|
+
end
|
154
|
+
|
155
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bintje'
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
end
|
6
|
+
|
7
|
+
require 'server_stub'
|
8
|
+
require 'logger'
|
9
|
+
|
10
|
+
def open_object_settings
|
11
|
+
OpenObject.host = 'localhost'
|
12
|
+
OpenObject.port = '8069'
|
13
|
+
OpenObject.common = '/xmlrpc/common'
|
14
|
+
OpenObject.object = '/xmlrpc/object'
|
15
|
+
OpenObject.logger = Logger.new('spec/logs/bintje.log')
|
16
|
+
end
|
metadata
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bintje
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.4.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Cedric Brancourt
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-03-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activesupport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 4.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 4.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.14'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.14'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: OpenObject xmlrpc interface
|
70
|
+
email:
|
71
|
+
- cedric.brancourt@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- .rspec
|
78
|
+
- .ruby-gemset
|
79
|
+
- .ruby-version
|
80
|
+
- COPYRIGHT.txt
|
81
|
+
- Gemfile
|
82
|
+
- README.md
|
83
|
+
- Rakefile
|
84
|
+
- bintje.gemspec
|
85
|
+
- copyright_script.sh
|
86
|
+
- lib/bintje.rb
|
87
|
+
- lib/bintje/version.rb
|
88
|
+
- lib/helpers.rb
|
89
|
+
- lib/open_object.rb
|
90
|
+
- lib/xmlrpc/parser_patch.rb
|
91
|
+
- license_header.txt
|
92
|
+
- spec/data/faultCode.txt
|
93
|
+
- spec/data/faultString.txt
|
94
|
+
- spec/openerp_common_spec.rb
|
95
|
+
- spec/reciever_model_spec.rb
|
96
|
+
- spec/request_shared_examples.rb
|
97
|
+
- spec/server_stub.rb
|
98
|
+
- spec/spec_helper.rb
|
99
|
+
homepage: http://support.siclic.fr/projects/bintje
|
100
|
+
licenses:
|
101
|
+
- MIT
|
102
|
+
metadata: {}
|
103
|
+
post_install_message:
|
104
|
+
rdoc_options: []
|
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
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - '>='
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
requirements: []
|
118
|
+
rubyforge_project:
|
119
|
+
rubygems_version: 2.0.3
|
120
|
+
signing_key:
|
121
|
+
specification_version: 4
|
122
|
+
summary: Access your OpenObject's model from ruby
|
123
|
+
test_files:
|
124
|
+
- spec/data/faultCode.txt
|
125
|
+
- spec/data/faultString.txt
|
126
|
+
- spec/openerp_common_spec.rb
|
127
|
+
- spec/reciever_model_spec.rb
|
128
|
+
- spec/request_shared_examples.rb
|
129
|
+
- spec/server_stub.rb
|
130
|
+
- spec/spec_helper.rb
|
131
|
+
has_rdoc:
|