couchbase-jruby-model 0.1.0-java → 0.1.1-java
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 +4 -4
- data/couchbase-jruby-model.gemspec +4 -3
- data/lib/couchbase/model/version.rb +1 -1
- data/tasks/test.rake +1 -1
- data/test/setup.rb +18 -39
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8e2345b2e7a2ccbf80591d61f657c9f177ab1e3f
|
4
|
+
data.tar.gz: 5fd51b30461a58bef0e65b16fad0882d8e436246
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d3cf894a10e755286545346a532fe3a237932b7cc499b9113fe1a145d1eed27d85e8e4bab2014b2a66cc96854aeddd4733007ae3be18748668a582fb6a4df231
|
7
|
+
data.tar.gz: 3524ce4467da9db06adca8d32e739ed1809f920edbb7dc02520da217225516ea1c72d17640b4d2c61564cc874e0c9feb9e1c6b14cd14fdfdf8bd6672132d01df
|
@@ -18,10 +18,11 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ['lib']
|
20
20
|
|
21
|
-
s.add_runtime_dependency 'couchbase-jruby-client', '~> 0.1.
|
21
|
+
s.add_runtime_dependency 'couchbase-jruby-client', '~> 0.1.8'
|
22
22
|
|
23
23
|
s.add_development_dependency 'rake'
|
24
24
|
s.add_development_dependency 'minitest'
|
25
|
-
s.add_development_dependency 'activesupport'
|
26
|
-
s.add_development_dependency 'activemodel'
|
25
|
+
s.add_development_dependency 'activesupport', '>= 4.0.2'
|
26
|
+
s.add_development_dependency 'activemodel', '>= 4.0.2'
|
27
|
+
s.add_development_dependency 'pry'
|
27
28
|
end
|
data/tasks/test.rake
CHANGED
@@ -19,7 +19,7 @@ require 'rake/testtask'
|
|
19
19
|
require 'rake/clean'
|
20
20
|
|
21
21
|
rule 'test/CouchbaseMock.jar' do |task|
|
22
|
-
jar_path = "0.
|
22
|
+
jar_path = "0.6-SNAPSHOT/CouchbaseMock-0.6-20130903.160518-3.jar"
|
23
23
|
sh %{wget -q -O test/CouchbaseMock.jar http://files.couchbase.com/maven2/org/couchbase/mock/CouchbaseMock/#{jar_path}}
|
24
24
|
end
|
25
25
|
|
data/test/setup.rb
CHANGED
@@ -21,6 +21,7 @@ require 'couchbase/model'
|
|
21
21
|
|
22
22
|
require 'socket'
|
23
23
|
require 'open-uri'
|
24
|
+
require 'pry'
|
24
25
|
|
25
26
|
class CouchbaseServer
|
26
27
|
attr_accessor :host, :port, :num_nodes, :buckets_spec
|
@@ -30,7 +31,7 @@ class CouchbaseServer
|
|
30
31
|
end
|
31
32
|
|
32
33
|
def initialize(params = {})
|
33
|
-
@host, @port =
|
34
|
+
@host, @port = ENV['COUCHBASE_SERVER'].split(':')
|
34
35
|
@port = @port.to_i
|
35
36
|
|
36
37
|
if @host.nil? || @host.empty? || @port == 0
|
@@ -57,7 +58,11 @@ class CouchbaseServer
|
|
57
58
|
def stop; end
|
58
59
|
end
|
59
60
|
|
61
|
+
require 'java'
|
62
|
+
require "#{File.dirname(__FILE__)}/CouchbaseMock.jar"
|
63
|
+
|
60
64
|
class CouchbaseMock
|
65
|
+
|
61
66
|
Monitor = Struct.new(:pid, :client, :socket, :port)
|
62
67
|
|
63
68
|
attr_accessor :host, :port, :buckets_spec, :num_nodes, :num_vbuckets
|
@@ -67,9 +72,9 @@ class CouchbaseMock
|
|
67
72
|
end
|
68
73
|
|
69
74
|
def initialize(params = {})
|
70
|
-
@host = '
|
71
|
-
@port =
|
72
|
-
@num_nodes =
|
75
|
+
@host = 'localhost'
|
76
|
+
@port = 8091
|
77
|
+
@num_nodes = 1
|
73
78
|
@num_vbuckets = 4096
|
74
79
|
@buckets_spec = 'default:' # "default:,protected:secret,cache::memcache"
|
75
80
|
params.each do |key, value|
|
@@ -82,29 +87,13 @@ class CouchbaseMock
|
|
82
87
|
end
|
83
88
|
|
84
89
|
def start
|
85
|
-
@
|
86
|
-
@
|
87
|
-
@
|
88
|
-
_, @monitor.port, _, _ = @monitor.socket.addr
|
89
|
-
trap('CLD') do
|
90
|
-
puts 'CouchbaseMock.jar died unexpectedly during startup'
|
91
|
-
exit(1)
|
92
|
-
end
|
93
|
-
@monitor.pid = fork
|
94
|
-
if @monitor.pid.nil?
|
95
|
-
rc = exec(command_line("--harakiri-monitor=:#{@monitor.port}"))
|
96
|
-
else
|
97
|
-
trap('CLD', 'SIG_DFL')
|
98
|
-
@monitor.client, _ = @monitor.socket.accept
|
99
|
-
@port = @monitor.client.recv(100).to_i
|
100
|
-
end
|
90
|
+
@mock = Java::OrgCouchbaseMock::CouchbaseMock.new(@host, @port, @num_nodes, @num_vbuckets, @buckets_spec)
|
91
|
+
@mock.start
|
92
|
+
@mock.waitForStartup
|
101
93
|
end
|
102
94
|
|
103
95
|
def stop
|
104
|
-
@
|
105
|
-
@monitor.socket.close
|
106
|
-
Process.kill('TERM', @monitor.pid)
|
107
|
-
Process.wait(@monitor.pid)
|
96
|
+
@mock.stop
|
108
97
|
end
|
109
98
|
|
110
99
|
def failover_node(index, bucket = 'default')
|
@@ -114,26 +103,13 @@ class CouchbaseMock
|
|
114
103
|
def respawn_node(index, bucket = 'default')
|
115
104
|
@monitor.client.send("respawn,#{index},#{bucket}", 0)
|
116
105
|
end
|
117
|
-
|
118
|
-
protected
|
119
|
-
|
120
|
-
def command_line(extra = nil)
|
121
|
-
cmd = "java -jar #{File.dirname(__FILE__)}/CouchbaseMock.jar"
|
122
|
-
cmd << " --host #{@host}" if @host
|
123
|
-
cmd << " --port #{@port}" if @port
|
124
|
-
cmd << " --nodes #{@num_nodes}" if @num_nodes
|
125
|
-
cmd << " --vbuckets #{@num_vbuckets}" if @num_vbuckets
|
126
|
-
cmd << " --buckets #{@buckets_spec}" if @buckets_spec
|
127
|
-
cmd << " #{extra}"
|
128
|
-
cmd
|
129
|
-
end
|
130
106
|
end
|
131
107
|
|
132
108
|
class MiniTest::Unit::TestCase
|
133
109
|
|
134
110
|
def start_mock(params = {})
|
135
111
|
mock = nil
|
136
|
-
if
|
112
|
+
if ENV['COUCHBASE_SERVER']
|
137
113
|
mock = CouchbaseServer.new(params)
|
138
114
|
if (params[:port] && mock.port != params[:port]) ||
|
139
115
|
(params[:host] && mock.host != params[:host]) ||
|
@@ -163,6 +139,9 @@ class MiniTest::Unit::TestCase
|
|
163
139
|
end
|
164
140
|
|
165
141
|
def uniq_id(*suffixes)
|
166
|
-
[caller.first[/.*[` ](.*)'/, 1], suffixes].join('_')
|
142
|
+
test_id = [caller.first[/.*[` ](.*)'/, 1], suffixes].compact.join('_')
|
143
|
+
@ids ||= {}
|
144
|
+
@ids[test_id] ||= Time.now.to_f
|
145
|
+
[test_id, @ids[test_id]].join('_')
|
167
146
|
end
|
168
147
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchbase-jruby-model
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Couchbase
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-12-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: couchbase-jruby-client
|
@@ -17,12 +17,12 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.1.
|
20
|
+
version: 0.1.8
|
21
21
|
requirement: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - ~>
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version: 0.1.
|
25
|
+
version: 0.1.8
|
26
26
|
prerelease: false
|
27
27
|
type: :runtime
|
28
28
|
- !ruby/object:Gem::Dependency
|
@@ -59,16 +59,30 @@ dependencies:
|
|
59
59
|
requirements:
|
60
60
|
- - '>='
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 4.0.2
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - '>='
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
67
|
+
version: 4.0.2
|
68
68
|
prerelease: false
|
69
69
|
type: :development
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: activemodel
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 4.0.2
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 4.0.2
|
82
|
+
prerelease: false
|
83
|
+
type: :development
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: pry
|
72
86
|
version_requirements: !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
88
|
- - '>='
|