bintje 0.4.0

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