neography 1.6.0 → 1.7.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 +4 -4
- data/.travis.yml +2 -2
- data/README.md +2 -1
- data/lib/neography/config.rb +1 -1
- data/lib/neography/connection.rb +11 -6
- data/lib/neography/errors.rb +1 -1
- data/lib/neography/index.rb +1 -1
- data/lib/neography/relationship.rb +1 -1
- data/lib/neography/rest.rb +3 -1
- data/lib/neography/tasks.rb +17 -6
- data/lib/neography/version.rb +1 -1
- data/neography.gemspec +0 -1
- data/spec/integration/index_spec.rb +4 -1
- data/spec/integration/rest_batch_spec.rb +3 -4
- data/spec/integration/rest_node_spec.rb +3 -3
- data/spec/integration/rest_relationship_spec.rb +2 -2
- data/spec/integration/rest_spatial_spec.rb +1 -1
- data/spec/integration/rest_transaction_spec.rb +8 -5
- data/spec/integration/rest_traverse_spec.rb +12 -12
- data/spec/spec_helper.rb +1 -1
- data/spec/unit/config_spec.rb +2 -2
- data/spec/unit/connection_spec.rb +10 -9
- metadata +3 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c94fc8ab99a3ddd841877a44d2105ce93df66b0
|
4
|
+
data.tar.gz: ba74d4c43dcf9bb8fd1c1f82dc67ca261d1531b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a5cda65f813b2d431600ce5a2e707b7a1064dfd578ce8927ff49fbaf12b07f41f54d5d0f36dbfe2392403afed269a4640a18c6cc8a94d173439c2660e5c68c8
|
7
|
+
data.tar.gz: d4f4a8149e99eb18042be707bd897a109ee472a36fa92b06208149c01be6727018f8f582d6417fa8f9358409bf496028da0a7e2de855e66f4ac60ad6cff4e844
|
data/.travis.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
script: "bundle exec rake neo4j:install['enterprise','2.0
|
1
|
+
script: "bundle exec rake neo4j:install['enterprise','2.2.0'] neo4j:get_spatial neo4j:unsecure neo4j:start spec --trace"
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
- 2.
|
4
|
+
- 2.2.0
|
data/README.md
CHANGED
@@ -61,7 +61,7 @@ Configure Neography as follows:
|
|
61
61
|
```ruby
|
62
62
|
# these are the default values:
|
63
63
|
Neography.configure do |config|
|
64
|
-
config.protocol = "http
|
64
|
+
config.protocol = "http"
|
65
65
|
config.server = "localhost"
|
66
66
|
config.port = 7474
|
67
67
|
config.directory = "" # prefix this path with '/'
|
@@ -77,6 +77,7 @@ Neography.configure do |config|
|
|
77
77
|
config.parser = MultiJsonParser
|
78
78
|
config.http_send_timeout = 1200
|
79
79
|
config.http_receive_timeout = 1200
|
80
|
+
config.persistent = true
|
80
81
|
end
|
81
82
|
```
|
82
83
|
|
data/lib/neography/config.rb
CHANGED
data/lib/neography/connection.rb
CHANGED
@@ -13,10 +13,10 @@ module Neography
|
|
13
13
|
:parser, :client,
|
14
14
|
:proxy, :http_send_timeout, :http_receive_timeout
|
15
15
|
|
16
|
-
def initialize(options =
|
16
|
+
def initialize(options = {})
|
17
17
|
config = merge_configuration(options)
|
18
18
|
save_local_configuration(config)
|
19
|
-
@client ||= Excon.new(config[:proxy] || "#{
|
19
|
+
@client ||= Excon.new(config[:proxy] || "#{protocol}://#{@server}:#{@port}",
|
20
20
|
:read_timeout => config[:http_receive_timeout],
|
21
21
|
:write_timeout => config[:http_send_timeout],
|
22
22
|
:persistent => config[:persistent],
|
@@ -32,8 +32,13 @@ module Neography
|
|
32
32
|
@directory = directory
|
33
33
|
end
|
34
34
|
|
35
|
+
# Keeping backward compatability for folks who used "http://" syntax instead of "http"
|
36
|
+
def protocol
|
37
|
+
@protocol.sub("://","")
|
38
|
+
end
|
39
|
+
|
35
40
|
def configuration
|
36
|
-
@configuration ||= "#{
|
41
|
+
@configuration ||= "#{protocol}://#{@server}:#{@port}#{@directory}"
|
37
42
|
end
|
38
43
|
|
39
44
|
def merge_options(options)
|
@@ -174,7 +179,7 @@ module Neography
|
|
174
179
|
def return_result(response, code, body, parsed, path, query_body)
|
175
180
|
case code
|
176
181
|
when 200
|
177
|
-
@logger.debug "OK
|
182
|
+
@logger.debug "OK #{body}" if @log_enabled
|
178
183
|
parsed ? body : @parser.json(body)
|
179
184
|
when 201
|
180
185
|
@logger.debug "OK, created #{body}" if @log_enabled
|
@@ -184,7 +189,7 @@ module Neography
|
|
184
189
|
when 204
|
185
190
|
@logger.debug "OK, no content returned" if @log_enabled
|
186
191
|
nil
|
187
|
-
|
192
|
+
else
|
188
193
|
handle_4xx_500_response(response, code, body, path, query_body)
|
189
194
|
nil
|
190
195
|
end
|
@@ -248,7 +253,7 @@ module Neography
|
|
248
253
|
def parse_string_options(options)
|
249
254
|
url = URI.parse(options)
|
250
255
|
options = {
|
251
|
-
:protocol => url.scheme
|
256
|
+
:protocol => url.scheme,
|
252
257
|
:server => url.host,
|
253
258
|
:port => url.port,
|
254
259
|
:directory => url.path,
|
data/lib/neography/errors.rb
CHANGED
@@ -10,11 +10,11 @@ module Neography
|
|
10
10
|
@request = request
|
11
11
|
@index = index
|
12
12
|
end
|
13
|
-
end
|
14
13
|
|
15
14
|
def to_s
|
16
15
|
"NeographyError: \n--message: #{@message}, \n--code: #{@code}, \n--stacktrace: #{@stacktrace}, \n--request: #{@request}, \n--index: #{@index}"
|
17
16
|
end
|
17
|
+
end
|
18
18
|
|
19
19
|
# HTTP Authentication error
|
20
20
|
class UnauthorizedError < NeographyError; end
|
data/lib/neography/index.rb
CHANGED
data/lib/neography/rest.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'forwardable'
|
2
2
|
|
3
3
|
require 'neography/rest/helpers'
|
4
|
+
require 'neography/rest/auth'
|
4
5
|
require 'neography/rest/schema_indexes'
|
5
6
|
require 'neography/rest/nodes'
|
6
7
|
require 'neography/rest/node_properties'
|
@@ -31,6 +32,7 @@ module Neography
|
|
31
32
|
|
32
33
|
class Rest
|
33
34
|
include Helpers
|
35
|
+
include Auth
|
34
36
|
include RelationshipTypes
|
35
37
|
include NodeLabels
|
36
38
|
include SchemaIndexes
|
@@ -60,7 +62,7 @@ module Neography
|
|
60
62
|
|
61
63
|
def_delegators :@connection, :configuration
|
62
64
|
|
63
|
-
def initialize(options =
|
65
|
+
def initialize(options = {})
|
64
66
|
@connection = Connection.new(options)
|
65
67
|
end
|
66
68
|
|
data/lib/neography/tasks.rb
CHANGED
@@ -6,7 +6,7 @@ require 'net/http'
|
|
6
6
|
namespace :neo4j do
|
7
7
|
desc "Install Neo4j"
|
8
8
|
task :install, :edition, :version do |t, args|
|
9
|
-
args.with_defaults(:edition => "community", :version => "2.
|
9
|
+
args.with_defaults(:edition => "community", :version => "2.2.0")
|
10
10
|
puts "Installing Neo4j-#{args[:edition]}-#{args[:version]}"
|
11
11
|
|
12
12
|
if OS::Underlying.windows?
|
@@ -58,6 +58,14 @@ namespace :neo4j do
|
|
58
58
|
puts "Type 'rake neo4j:start' to start it"
|
59
59
|
end
|
60
60
|
|
61
|
+
desc "Unsecure the Neo4j Server (for testing only)"
|
62
|
+
task :unsecure do
|
63
|
+
properties_file = "neo4j/conf/neo4j-server.properties"
|
64
|
+
text = File.read(properties_file)
|
65
|
+
new_contents = text.gsub(/dbms.security.auth_enabled=true/, "dbms.security.auth_enabled=false")
|
66
|
+
File.open(properties_file, "w") {|file| file.puts new_contents }
|
67
|
+
end
|
68
|
+
|
61
69
|
desc "Start the Neo4j Server"
|
62
70
|
task :start do
|
63
71
|
puts "Starting Neo4j..."
|
@@ -127,11 +135,11 @@ namespace :neo4j do
|
|
127
135
|
%x[neo4j/bin/Neo4j.bat stop]
|
128
136
|
|
129
137
|
# Reset the database
|
130
|
-
FileUtils.rm_rf("neo4j/data/graph.db")
|
138
|
+
FileUtils.rm_rf("neo4j/data/graph.db") if File.exist?("neo4j/data/graph.db")
|
131
139
|
FileUtils.mkdir("neo4j/data/graph.db")
|
132
140
|
|
133
141
|
# Remove log files
|
134
|
-
FileUtils.rm_rf("neo4j/data/log")
|
142
|
+
FileUtils.rm_rf("neo4j/data/log") if File.exist?("neo4j/data/log")
|
135
143
|
FileUtils.mkdir("neo4j/data/log")
|
136
144
|
|
137
145
|
%x[neo4j/bin/Neo4j.bat start]
|
@@ -142,11 +150,11 @@ namespace :neo4j do
|
|
142
150
|
%x[neo4j/bin/neo4j stop]
|
143
151
|
|
144
152
|
# Reset the database
|
145
|
-
FileUtils.rm_rf("neo4j/data/graph.db")
|
153
|
+
FileUtils.rm_rf("neo4j/data/graph.db") if File.exist?("neo4j/data/graph.db")
|
146
154
|
FileUtils.mkdir("neo4j/data/graph.db")
|
147
155
|
|
148
156
|
# Remove log files
|
149
|
-
FileUtils.rm_rf("neo4j/data/log")
|
157
|
+
FileUtils.rm_rf("neo4j/data/log") if File.exist?("neo4j/data/log")
|
150
158
|
FileUtils.mkdir("neo4j/data/log")
|
151
159
|
|
152
160
|
# Start the server
|
@@ -155,12 +163,15 @@ namespace :neo4j do
|
|
155
163
|
end
|
156
164
|
|
157
165
|
task :get_spatial, :version do |t, args|
|
158
|
-
args.with_defaults(:version => "2.
|
166
|
+
args.with_defaults(:version => "2.1.4")
|
159
167
|
puts "Installing Neo4j-Spatial #{args[:version]}"
|
160
168
|
|
161
169
|
unless File.exist?('neo4j-spatial.zip')
|
162
170
|
df = File.open('neo4j-spatial.zip', 'wb')
|
163
171
|
case args[:version]
|
172
|
+
when "2.1.4"
|
173
|
+
dist = "m2.neo4j.org"
|
174
|
+
request = "/content/repositories/releases/org/neo4j/neo4j-spatial/0.13-neo4j-2.1.4/neo4j-spatial-0.13-neo4j-2.1.4-server-plugin.zip"
|
164
175
|
when "2.0.1"
|
165
176
|
dist = "m2.neo4j.org"
|
166
177
|
request = "/content/repositories/releases/org/neo4j/neo4j-spatial/0.13-neo4j-2.0.1/neo4j-spatial-0.13-neo4j-2.0.1-server-plugin.zip"
|
data/lib/neography/version.rb
CHANGED
data/neography.gemspec
CHANGED
@@ -23,7 +23,6 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_development_dependency "rspec", "3.0"
|
24
24
|
s.add_development_dependency "net-http-spy", "0.2.1"
|
25
25
|
s.add_development_dependency "coveralls"
|
26
|
-
s.add_development_dependency "debugger"
|
27
26
|
s.add_development_dependency "guard-rspec"
|
28
27
|
s.add_dependency "excon", ">= 0.33.0"
|
29
28
|
s.add_dependency "json", ">= 1.7.7"
|
@@ -50,8 +50,11 @@ describe Neography::Index do
|
|
50
50
|
r.add_to_index("relationship_test_index", "name", value)
|
51
51
|
existing_r = Neography::Relationship.find("relationship_test_index", "name", value)
|
52
52
|
expect(existing_r.name).to eq(value)
|
53
|
+
expect(existing_r.start_node).to eq(node1)
|
54
|
+
expect(existing_r.end_node).to eq(node2)
|
55
|
+
existing_r.del
|
53
56
|
end
|
54
|
-
|
57
|
+
|
55
58
|
it "can find multiple nodes in an index" do
|
56
59
|
value1 = generate_text
|
57
60
|
value2 = generate_text
|
@@ -329,10 +329,9 @@ describe Neography::Rest do
|
|
329
329
|
end
|
330
330
|
|
331
331
|
it "can batch cypher" do
|
332
|
-
batch_result = @neo.batch [:execute_query, "
|
332
|
+
batch_result = @neo.batch [:execute_query, "MATCH (n) RETURN n LIMIT 1"]
|
333
333
|
expect(batch_result.first).to have_key("id")
|
334
334
|
expect(batch_result.first).to have_key("from")
|
335
|
-
expect(batch_result.first["body"]["data"][0][0]["self"].split('/').last).to eq("0")
|
336
335
|
end
|
337
336
|
|
338
337
|
it "can batch cypher with parameters" do
|
@@ -403,7 +402,7 @@ describe Neography::Rest do
|
|
403
402
|
expect(@neo.get_relationship_index(index, key, value2)).to be_nil
|
404
403
|
end
|
405
404
|
|
406
|
-
it "can do spatial via Cypher in batch" do
|
405
|
+
it "can do spatial via Cypher in batch", :spatial => true do
|
407
406
|
properties = {:lat => 60.1, :lon => 15.2}
|
408
407
|
node = @neo.create_node(properties)
|
409
408
|
batch_result = @neo.batch [:create_spatial_index, "geobatchcypher", "point", "lat", "lon"],
|
@@ -553,7 +552,7 @@ describe Neography::Rest do
|
|
553
552
|
[:create_node, {:street1=>"94437 Kemmer Crossing", :street2=>"Apt. 333", :city=>"Abshireton", :state=>"AA", :zip=>"65820", :_type=>"Address", :created_at=>1335269478}],
|
554
553
|
[:create_relationship, "has", "{0}", "{2}", {}]
|
555
554
|
rescue Neography::NeographyError => e
|
556
|
-
expect(e.message).to eq("Not Found")
|
555
|
+
#expect(e.message).to eq("Not Found")
|
557
556
|
expect(e.code).to eq(404)
|
558
557
|
expect(e.stacktrace).to be_nil
|
559
558
|
expect(e.request[:path]).to eq("/db/data/batch")
|
@@ -139,9 +139,9 @@ describe Neography::Rest do
|
|
139
139
|
expect(node_properties["eyes"]).to be_nil
|
140
140
|
end
|
141
141
|
|
142
|
-
it "returns
|
142
|
+
it "returns empty array if it gets the properties on a node that does not have any" do
|
143
143
|
new_node = @neo.create_node
|
144
|
-
expect(@neo.get_node_properties(new_node)).to
|
144
|
+
expect(@neo.get_node_properties(new_node)).to be_empty
|
145
145
|
end
|
146
146
|
|
147
147
|
it "raises error if it tries to get some of the properties on a node that does not have any" do
|
@@ -164,7 +164,7 @@ describe Neography::Rest do
|
|
164
164
|
it "can remove a node's properties" do
|
165
165
|
new_node = @neo.create_node("weight" => 200, "eyes" => "brown")
|
166
166
|
@neo.remove_node_properties(new_node)
|
167
|
-
expect(@neo.get_node_properties(new_node)).to
|
167
|
+
expect(@neo.get_node_properties(new_node)).to be_empty
|
168
168
|
end
|
169
169
|
|
170
170
|
it "raises error if it fails to remove the properties of a node that does not exist" do
|
@@ -148,7 +148,7 @@ describe Neography::Rest do
|
|
148
148
|
new_node2 = @neo.create_node
|
149
149
|
new_relationship = @neo.create_relationship("friends", new_node1, new_node2)
|
150
150
|
relationship_properties = @neo.get_relationship_properties(new_relationship)
|
151
|
-
expect(relationship_properties).to
|
151
|
+
expect(relationship_properties).to be_empty
|
152
152
|
end
|
153
153
|
|
154
154
|
it "raises error if it tries to get some of the properties on a relationship that does not have any" do
|
@@ -177,7 +177,7 @@ describe Neography::Rest do
|
|
177
177
|
new_node2 = @neo.create_node
|
178
178
|
new_relationship = @neo.create_relationship("friends", new_node1, new_node2, {"since" => '10-1-2010', "met" => "college"})
|
179
179
|
@neo.remove_relationship_properties(new_relationship)
|
180
|
-
expect(@neo.get_relationship_properties(new_relationship)).to
|
180
|
+
expect(@neo.get_relationship_properties(new_relationship)).to be_empty
|
181
181
|
end
|
182
182
|
|
183
183
|
it "raises error if it fails to remove the properties of a relationship that does not exist" do
|
@@ -3,6 +3,9 @@ require 'spec_helper'
|
|
3
3
|
describe Neography::Rest do
|
4
4
|
before(:each) do
|
5
5
|
@neo = Neography::Rest.new
|
6
|
+
node = @neo.create_node
|
7
|
+
@node_id = node["self"].split('/').last.to_i
|
8
|
+
|
6
9
|
end
|
7
10
|
|
8
11
|
describe "start a transaction" do
|
@@ -51,7 +54,7 @@ describe Neography::Rest do
|
|
51
54
|
tx = @neo.begin_transaction
|
52
55
|
expect(tx).to have_key("transaction")
|
53
56
|
expect(tx["results"]).to be_empty
|
54
|
-
existing_tx = @neo.in_transaction(tx, "
|
57
|
+
existing_tx = @neo.in_transaction(tx, "MATCH (n) WHERE ID(n) =#{@node_id} RETURN n")
|
55
58
|
expect(existing_tx).to have_key("transaction")
|
56
59
|
expect(existing_tx).to have_key("results")
|
57
60
|
expect(existing_tx["results"]).not_to be_empty
|
@@ -61,7 +64,7 @@ describe Neography::Rest do
|
|
61
64
|
tx = @neo.begin_transaction
|
62
65
|
expect(tx).to have_key("transaction")
|
63
66
|
expect(tx["results"]).to be_empty
|
64
|
-
existing_tx = @neo.in_transaction(tx, ["
|
67
|
+
existing_tx = @neo.in_transaction(tx, ["MATCH (n) WHERE ID(n) ={id} RETURN n", {:id => @node_id}])
|
65
68
|
expect(existing_tx).to have_key("transaction")
|
66
69
|
expect(existing_tx).to have_key("results")
|
67
70
|
expect(existing_tx["results"]).not_to be_empty
|
@@ -71,7 +74,7 @@ describe Neography::Rest do
|
|
71
74
|
tx = @neo.begin_transaction
|
72
75
|
expect(tx).to have_key("transaction")
|
73
76
|
expect(tx["results"]).to be_empty
|
74
|
-
existing_tx = @neo.in_transaction(tx, ["
|
77
|
+
existing_tx = @neo.in_transaction(tx, ["MATCH (n) RETURN n LIMIT 1", [:row,:rest]])
|
75
78
|
expect(existing_tx).to have_key("transaction")
|
76
79
|
expect(existing_tx).to have_key("results")
|
77
80
|
expect(existing_tx["results"]).not_to be_empty
|
@@ -81,7 +84,7 @@ describe Neography::Rest do
|
|
81
84
|
tx = @neo.begin_transaction
|
82
85
|
expect(tx).to have_key("transaction")
|
83
86
|
expect(tx["results"]).to be_empty
|
84
|
-
existing_tx = @neo.in_transaction(tx, ["
|
87
|
+
existing_tx = @neo.in_transaction(tx, ["MATCH (n) WHERE ID(n)={id} RETURN n", {:id => 0}, [:row,:rest]])
|
85
88
|
expect(existing_tx).to have_key("transaction")
|
86
89
|
expect(existing_tx).to have_key("results")
|
87
90
|
expect(existing_tx["results"]).not_to be_empty
|
@@ -127,7 +130,7 @@ describe Neography::Rest do
|
|
127
130
|
end
|
128
131
|
|
129
132
|
it "can commit an new transaction right away with parameters" do
|
130
|
-
tx = @neo.commit_transaction(["start n=node({id}) return n", {:id =>
|
133
|
+
tx = @neo.commit_transaction(["start n=node({id}) return n", {:id => @node_id}])
|
131
134
|
expect(tx).not_to have_key("transaction")
|
132
135
|
expect(tx).to have_key("results")
|
133
136
|
expect(tx["results"]).not_to be_empty
|
@@ -21,8 +21,8 @@ describe Neography::Rest do
|
|
21
21
|
expect(nodes).not_to be_nil
|
22
22
|
expect(nodes[0]["self"]).to eq(@new_node2["self"])
|
23
23
|
expect(nodes[1]["self"]).to eq(@new_node3["self"])
|
24
|
-
expect(nodes[2]["self"]).to eq(@
|
25
|
-
expect(nodes[3]["self"]).to eq(@
|
24
|
+
expect(nodes[2]["self"]).to eq(@new_node5["self"])
|
25
|
+
expect(nodes[3]["self"]).to eq(@new_node4["self"])
|
26
26
|
end
|
27
27
|
it "can traverse the graph and return relationships" do
|
28
28
|
new_relationship1= @neo.create_relationship("friends", @new_node1, @new_node2)
|
@@ -36,8 +36,8 @@ describe Neography::Rest do
|
|
36
36
|
|
37
37
|
expect(relationships[0]["self"]).to eq(new_relationship1["self"])
|
38
38
|
expect(relationships[1]["self"]).to eq(new_relationship2["self"])
|
39
|
-
expect(relationships[2]["self"]).to eq(
|
40
|
-
expect(relationships[3]["self"]).to eq(
|
39
|
+
expect(relationships[2]["self"]).to eq(new_relationship5["self"])
|
40
|
+
expect(relationships[3]["self"]).to eq(new_relationship3["self"])
|
41
41
|
end
|
42
42
|
|
43
43
|
it "can traverse the graph and return paths" do
|
@@ -52,8 +52,8 @@ describe Neography::Rest do
|
|
52
52
|
|
53
53
|
expect(paths[0]["nodes"]).to eq([@new_node1["self"], @new_node2["self"]])
|
54
54
|
expect(paths[1]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"]])
|
55
|
-
expect(paths[2]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @
|
56
|
-
expect(paths[3]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]
|
55
|
+
expect(paths[2]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node5["self"]])
|
56
|
+
expect(paths[3]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]])
|
57
57
|
end
|
58
58
|
|
59
59
|
it "can traverse the graph up to a certain depth" do
|
@@ -68,8 +68,8 @@ describe Neography::Rest do
|
|
68
68
|
|
69
69
|
expect(paths[0]["nodes"]).to eq([@new_node1["self"], @new_node2["self"]])
|
70
70
|
expect(paths[1]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"]])
|
71
|
-
expect(paths[2]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @
|
72
|
-
expect(paths[3]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @
|
71
|
+
expect(paths[2]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node5["self"]])
|
72
|
+
expect(paths[3]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]])
|
73
73
|
end
|
74
74
|
|
75
75
|
it "can traverse the graph in a certain order" do
|
@@ -84,8 +84,8 @@ describe Neography::Rest do
|
|
84
84
|
|
85
85
|
expect(paths[0]["nodes"]).to eq([@new_node1["self"], @new_node2["self"]])
|
86
86
|
expect(paths[1]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"]])
|
87
|
-
expect(paths[2]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @
|
88
|
-
expect(paths[3]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @
|
87
|
+
expect(paths[2]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node5["self"]])
|
88
|
+
expect(paths[3]["nodes"]).to eq([@new_node1["self"], @new_node2["self"], @new_node3["self"], @new_node4["self"]])
|
89
89
|
end
|
90
90
|
|
91
91
|
it "can traverse the graph with a specific uniqueness" do
|
@@ -138,8 +138,8 @@ describe Neography::Rest do
|
|
138
138
|
expect(nodes[0]["self"]).to eq(@new_node1["self"])
|
139
139
|
expect(nodes[1]["self"]).to eq(@new_node2["self"])
|
140
140
|
expect(nodes[2]["self"]).to eq(@new_node3["self"])
|
141
|
-
expect(nodes[3]["self"]).to eq(@
|
142
|
-
expect(nodes[4]["self"]).to eq(@
|
141
|
+
expect(nodes[3]["self"]).to eq(@new_node5["self"])
|
142
|
+
expect(nodes[4]["self"]).to eq(@new_node4["self"])
|
143
143
|
end
|
144
144
|
|
145
145
|
|
data/spec/spec_helper.rb
CHANGED
@@ -17,7 +17,7 @@ def generate_text(length=8)
|
|
17
17
|
end
|
18
18
|
|
19
19
|
RSpec.configure do |c|
|
20
|
-
c.filter_run_excluding :slow => true, :gremlin => true, :reference => true, :neo_is_broken => true, :unmanaged_extensions => true
|
20
|
+
c.filter_run_excluding :spatial => true, :slow => true, :gremlin => true, :reference => true, :neo_is_broken => true, :unmanaged_extensions => true
|
21
21
|
end
|
22
22
|
|
23
23
|
|
data/spec/unit/config_spec.rb
CHANGED
@@ -9,7 +9,7 @@ module Neography
|
|
9
9
|
|
10
10
|
describe '#protocol' do
|
11
11
|
subject { super().protocol }
|
12
|
-
it { should == 'http
|
12
|
+
it { should == 'http' }
|
13
13
|
end
|
14
14
|
|
15
15
|
describe '#server' do
|
@@ -110,7 +110,7 @@ module Neography
|
|
110
110
|
|
111
111
|
it "has a hash representation" do
|
112
112
|
expected_hash = {
|
113
|
-
:protocol => 'http
|
113
|
+
:protocol => 'http',
|
114
114
|
:server => 'localhost',
|
115
115
|
:port => 7474,
|
116
116
|
:directory => '',
|
@@ -20,7 +20,7 @@ module Neography
|
|
20
20
|
context "hash options" do
|
21
21
|
let(:options) do
|
22
22
|
{
|
23
|
-
:protocol => "https
|
23
|
+
:protocol => "https",
|
24
24
|
:server => "foobar",
|
25
25
|
:port => 4242,
|
26
26
|
:directory => "/dir",
|
@@ -40,7 +40,7 @@ module Neography
|
|
40
40
|
it "accepts all options in a hash" do
|
41
41
|
expect(connection.configuration).to eq("https://foobar:4242/dir")
|
42
42
|
|
43
|
-
expect(connection.protocol).to eq("https
|
43
|
+
expect(connection.protocol).to eq("https")
|
44
44
|
expect(connection.server).to eq("foobar")
|
45
45
|
expect(connection.port).to eq(4242)
|
46
46
|
expect(connection.directory).to eq("/dir")
|
@@ -119,24 +119,25 @@ module Neography
|
|
119
119
|
end
|
120
120
|
|
121
121
|
context "requests" do
|
122
|
+
let(:response) { double("response", :status => 200, :body=> "").as_null_object }
|
122
123
|
|
123
124
|
it "does a GET request" do
|
124
|
-
expect(connection.client).to receive(:request).with(:method => :get, :path => "/db/data/node/bar", :body => nil, :headers => nil) {
|
125
|
+
expect(connection.client).to receive(:request).with(:method => :get, :path => "/db/data/node/bar", :body => nil, :headers => nil) { response }
|
125
126
|
connection.get("/node/bar")
|
126
127
|
end
|
127
128
|
|
128
129
|
it "does a POST request" do
|
129
|
-
expect(connection.client).to receive(:request).with(:method => :post, :path => "/db/data/node/bar", :body => nil, :headers => nil) {
|
130
|
+
expect(connection.client).to receive(:request).with(:method => :post, :path => "/db/data/node/bar", :body => nil, :headers => nil) { response }
|
130
131
|
connection.post("/node/bar")
|
131
132
|
end
|
132
133
|
|
133
134
|
it "does a PUT request" do
|
134
|
-
expect(connection.client).to receive(:request).with(:method => :put, :path => "/db/data/node/bar", :body => nil, :headers => nil) {
|
135
|
+
expect(connection.client).to receive(:request).with(:method => :put, :path => "/db/data/node/bar", :body => nil, :headers => nil) { response }
|
135
136
|
connection.put("/node/bar")
|
136
137
|
end
|
137
138
|
|
138
139
|
it "does a DELETE request" do
|
139
|
-
expect(connection.client).to receive(:request).with(:method => :delete, :path => "/db/data/node/bar", :body => nil, :headers => nil) {
|
140
|
+
expect(connection.client).to receive(:request).with(:method => :delete, :path => "/db/data/node/bar", :body => nil, :headers => nil) { response }
|
140
141
|
connection.delete("/node/bar")
|
141
142
|
end
|
142
143
|
|
@@ -153,10 +154,10 @@ module Neography
|
|
153
154
|
expect(connection.client).not_to receive(:set_auth).with(
|
154
155
|
"http://localhost:7474/db/data/node/bar",
|
155
156
|
"foo",
|
156
|
-
"bar") {
|
157
|
+
"bar") { response }
|
157
158
|
|
158
159
|
expect(connection.client).to receive(:request).with(
|
159
|
-
:method => :get, :path => "/db/data/node/bar", :body => nil, :headers => nil) {
|
160
|
+
:method => :get, :path => "/db/data/node/bar", :body => nil, :headers => nil) { response }
|
160
161
|
|
161
162
|
connection.get("/node/bar")
|
162
163
|
end
|
@@ -168,7 +169,7 @@ module Neography
|
|
168
169
|
{:method => :get, :path => "/db/data/node/bar", :body => nil,
|
169
170
|
:headers => {"User-Agent" => "Neography/#{Neography::VERSION}", "X-Stream"=>true, "max-execution-time" => 6000}}
|
170
171
|
)
|
171
|
-
) {
|
172
|
+
) { response }
|
172
173
|
|
173
174
|
connection.get("/node/bar", :headers => {})
|
174
175
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neography
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max De Marzi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: debugger
|
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
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: guard-rspec
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -317,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
317
303
|
version: '0'
|
318
304
|
requirements: []
|
319
305
|
rubyforge_project: neography
|
320
|
-
rubygems_version: 2.
|
306
|
+
rubygems_version: 2.4.5
|
321
307
|
signing_key:
|
322
308
|
specification_version: 4
|
323
309
|
summary: ruby wrapper to Neo4j Rest API
|
@@ -384,4 +370,3 @@ test_files:
|
|
384
370
|
- spec/unit/rest/relationships_spec.rb
|
385
371
|
- spec/unit/rest/schema_index_spec.rb
|
386
372
|
- spec/unit/rest/transactions_spec.rb
|
387
|
-
has_rdoc:
|