ashikawa-core 0.3.0 → 0.4.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/CONTRIBUTING.md ADDED
@@ -0,0 +1,44 @@
1
+ # Contributing
2
+
3
+ When you want to write code for the project, please follow these guidelines:
4
+
5
+ 1. Claim the ticket: Tell us that you want to work on a certain ticket, we will assign it to you (We don't want two people to work on the same thing ;) )
6
+ 2. Write an Integration Test: Describe what you want to do (our integration tests touch the database)
7
+ 3. Implement it: Write a unit test, check that it fails, make the test pass – repeat (our unit tests don't touch the database)
8
+ 4. Write Documentation for it.
9
+ 5. Check with `rake` that everything is fine and send the Pull Request :)
10
+
11
+ ## How to get started developing
12
+
13
+ Getting started is easy, just follow these steps.
14
+
15
+ ### In a nutshell
16
+
17
+ * Clone the project.
18
+ * `cd` into the folder and run `bundle`
19
+ * `rake` and see all tests passing (you need to have ArangoDB installed for that)
20
+ * Happy coding!
21
+
22
+ ### Detailed description
23
+
24
+ Make sure you are running Ruby 1.9.x (or JRuby/Rubinius in 1.9 mode) and clone the latest snapshot into a directory of your choice. Also make sure ArangoDB is installed and accessible via `arangod` (for example by installing it via `brew install arangodb`).
25
+
26
+ We encourage you to use [rvm](https://rvm.io/). If you do so, a gemset for the project is created upon changing into the directory. If you do not use `rvm` nothing special will happen in this case. Don't worry about it.
27
+
28
+ Change into the project directory. Run `bundle` to get all dependencies (do a `gem install bundler` before if you don't have bundler installed).
29
+
30
+ Now you can run `rake` to see all tests passing (hopefully). Happy coding!
31
+
32
+ You can also start up yard for documentation: `rake yard:server`
33
+
34
+ ### Guard
35
+
36
+ Guard is a tool for comfortable development. If you want to use it for development, you have to first start an instance of ArangoDB and then start guard with `guard`. This will:
37
+
38
+ * Run a documentation server on `http://localhost:8808`
39
+ * Run `bundle` whenever you change the dependencies
40
+ * Run the integration and unit tests whenever you change a file in the lib or spec directory
41
+
42
+ ### Continuous Integration
43
+
44
+ Our tests are run on Travis CI, the build status is displayed above. **Please note** that it only runs the unit tests and not the integration tests, because that would require ArangoDB to be installed on the Travis CI boxes. *Therefore green doesn't neccessarily mean green* (which is unfortunate). Therefore it is important that you run the integration tests on your local machine before sending the pull requests.
data/Guardfile CHANGED
@@ -6,12 +6,12 @@ guard 'yard' do
6
6
  watch(%r{lib/.+\.rb})
7
7
  end
8
8
 
9
- guard 'rspec', :version => 2, :spec_paths => "spec/unit" do
9
+ guard 'rspec', :spec_paths => "spec/unit" do
10
10
  watch(%r{lib/.+\.rb})
11
11
  watch(%r{spec/.+\.rb})
12
12
  end
13
13
 
14
- guard 'rspec', :version => 2, :spec_paths => "spec/integration" do
14
+ guard 'rspec', :spec_paths => "spec/integration" do
15
15
  watch(%r{lib/.+\.rb})
16
16
  watch(%r{spec/.+\.rb})
17
17
  end
data/README.md CHANGED
@@ -18,47 +18,6 @@ database["my_collection"].name = "new_name"
18
18
  database["new_name"].delete
19
19
  ```
20
20
 
21
- ## How to get started developing
21
+ # Contributing
22
22
 
23
- Getting started is easy, just follow these steps.
24
-
25
- ### In a nutshell
26
-
27
- * Clone the project.
28
- * `cd` into the folder and run `bundle`
29
- * `rake` and see all tests passing (you need to have ArangoDB installed for that)
30
- * Happy coding!
31
-
32
- ### Detailed description
33
-
34
- Make sure you are running Ruby 1.9.x (or JRuby/Rubinius in 1.9 mode) and clone the latest snapshot into a directory of your choice. Also make sure ArangoDB is installed and accessible via `arangod` (for example by installing it via `brew install arangodb`).
35
-
36
- We encourage you to use [rvm](https://rvm.io/). If you do so, a gemset for the project is created upon changing into the directory. If you do not use `rvm` nothing special will happen in this case. Don't worry about it.
37
-
38
- Change into the project directory. Run `bundle` to get all dependencies (do a `gem install bundler` before if you don't have bundler installed).
39
-
40
- Now you can run `rake` to see all tests passing (hopefully). Happy coding!
41
-
42
- You can also start up yard for documentation: `rake yard:server`
43
-
44
- ### Guard
45
-
46
- Guard is a tool for comfortable development. If you want to use it for development, you have to first start an instance of ArangoDB and then start guard with `guard`. This will:
47
-
48
- * Run a documentation server on `http://localhost:8808`
49
- * Run `bundle` whenever you change the dependencies
50
- * Run the integration and unit tests whenever you change a file in the lib or spec directory
51
-
52
- ### Continuous Integration
53
-
54
- Our tests are run on Travis CI, the build status is displayed above. **Please note** that it only runs the unit tests and not the integration tests, because that would require ArangoDB to be installed on the Travis CI boxes. *Therefore green doesn't neccessarily mean green* (which is unfortunate).
55
-
56
- ## Contributing
57
-
58
- When you want to write code for the project, please follow these guidelines:
59
-
60
- 1. Claim the ticket: Tell us that you want to work on a certain ticket, we will assign it to you (We don't want two people to work on the same thing ;) )
61
- 2. Write an Integration Test: Describe what you want to do (our integration tests touch the database)
62
- 3. Implement it: Write a unit test, check that it fails, make the test pass – repeat (our unit tests don't touch the database)
63
- 4. Write Documentation for it.
64
- 5. Check with `rake` that everything is fine and send the Pull Request :)
23
+ If you want to contribute to the project, see CONTRIBUTING.md for details.
data/Rakefile CHANGED
@@ -12,12 +12,18 @@ namespace :spec do
12
12
  spec.rspec_opts = "--require integration/arango_helper.rb"
13
13
  spec.pattern = "spec/integration/*_spec.rb"
14
14
  end
15
-
15
+
16
+ desc "Run the authentication integration tests. Requires ArangoDB."
17
+ RSpec::Core::RakeTask.new(:integration_auth) do |spec|
18
+ spec.rspec_opts = "--require integration_auth/arango_helper.rb"
19
+ spec.pattern = "spec/integration_auth/*_spec.rb"
20
+ end
21
+
16
22
  desc "Run the unit tests"
17
23
  RSpec::Core::RakeTask.new(:unit) do |spec|
18
24
  spec.pattern = "spec/unit/*_spec.rb"
19
25
  end
20
-
26
+
21
27
  desc "Run all tests. Requires ArangoDB"
22
28
  task :all => [:integration, :unit]
23
29
  end
@@ -37,7 +43,7 @@ namespace :yard do
37
43
  # Yardstick::Rake::Measurement.new(:report) do |measurement|
38
44
  # measurement.output = 'report/measurement.txt'
39
45
  # end
40
-
46
+
41
47
  # Yardstick::Rake::Verify.new(:verify) do |verify|
42
48
  # verify.threshold = 100
43
49
  # end
@@ -46,12 +52,12 @@ namespace :yard do
46
52
  task :generate do
47
53
  `yard`
48
54
  end
49
-
55
+
50
56
  desc "start the documentation server on port 8808"
51
57
  task :server do
52
58
  `yard server --reload`
53
59
  end
54
-
60
+
55
61
  desc "get statistics on the yard documentation"
56
62
  task :stats do
57
63
  `yard stats`
@@ -31,18 +31,19 @@ Gem::Specification.new do |gem|
31
31
  else
32
32
  # RedCarpet is not compatible with JRuby
33
33
  # It is only needed to generate the YARD Documentation
34
- gem.add_development_dependency "redcarpet", "~> 2.1.1"
34
+ gem.add_development_dependency "redcarpet", "~> 2.2.1"
35
35
  end
36
36
 
37
37
  # Development Dependencies
38
38
  gem.add_development_dependency "rake", "~> 0.9.2.2"
39
39
  gem.add_development_dependency "rspec", "~> 2.11.0"
40
- gem.add_development_dependency "yard", "~> 0.8.2.1"
40
+ gem.add_development_dependency "yard", "~> 0.8.3"
41
41
  gem.add_development_dependency "webmock", "~> 1.8.9"
42
42
  # gem.add_development_dependency "yardstick", "~> 0.6.0"
43
43
 
44
- gem.add_development_dependency "guard", "~> 1.3.2"
45
- gem.add_development_dependency "guard-rspec", "~> 1.2.1"
44
+ gem.add_development_dependency "guard", "~> 1.4.0"
45
+ gem.add_development_dependency "guard-rspec", "~> 2.1.0"
46
46
  gem.add_development_dependency "guard-bundler", "~> 1.0.0"
47
47
  gem.add_development_dependency "guard-yard", "~> 2.0.0"
48
+ gem.add_development_dependency "rb-fsevent", "~> 0.9.1"
48
49
  end
@@ -5,14 +5,23 @@ module Ashikawa
5
5
  module Core
6
6
  # Represents a Connection via HTTP to a certain host
7
7
  class Connection
8
- # The IP of the connection
8
+ # The host part of the connection
9
9
  #
10
10
  # @return [String]
11
11
  # @api public
12
- # @example Get the IP of the connection
12
+ # @example Get the host part of the connection
13
13
  # connection = Connection.new "http://localhost:8529"
14
- # connection.ip # => "http://localhost"
15
- attr_reader :ip
14
+ # connection.host # => "localhost"
15
+ attr_reader :host
16
+
17
+ # The scheme of the connection
18
+ #
19
+ # @return [String]
20
+ # @api public
21
+ # @example Get the scheme of the connection
22
+ # connection = Connection.new "http://localhost:8529"
23
+ # connection.scheme # => "http"
24
+ attr_reader :scheme
16
25
 
17
26
  # The port of the connection
18
27
  #
@@ -23,16 +32,42 @@ module Ashikawa
23
32
  # connection.port # => 8529
24
33
  attr_reader :port
25
34
 
35
+ # Username and password of the connection
36
+ #
37
+ # Needed if the database is running with HTTP base authentication
38
+ # enabled. Username and password are sent with every request to
39
+ # authenticate against the database.
40
+ #
41
+ # You can set these properties with the `authenticate_with` method
42
+ #
43
+ # @api public
44
+ attr_reader :username, :password
45
+
26
46
  # Initialize a Connection with a given API String
27
47
  #
28
- # @param [String] api_string IP and Port as a String
48
+ # @param [String] api_string scheme, hostname and port as a String
29
49
  # @api public
30
50
  # @example Create a new Connection
31
51
  # connection = Connection.new "http://localhost:8529"
32
52
  def initialize(api_string="http://localhost:8529")
33
53
  @api_string = api_string
34
- @ip, @port = @api_string.scan(/(\S+):(\d+)/).first
35
- @port = @port.to_i
54
+
55
+ require 'uri'
56
+ uri = URI(@api_string)
57
+ @host = uri.host
58
+ @port = uri.port
59
+ @scheme = uri.scheme
60
+ end
61
+
62
+ def authenticate_with(options={})
63
+ if options.key? :username and options.key? :password
64
+ @username = options[:username]
65
+ @password = options[:password]
66
+ else
67
+ raise ArgumentError, 'missing username or password'
68
+ end
69
+
70
+ self
36
71
  end
37
72
 
38
73
  # Sends a request to a given path (Prepends the api_string automatically)
@@ -47,7 +82,7 @@ module Ashikawa
47
82
  # @return [Hash] parsed JSON response from the server
48
83
  # @api semipublic
49
84
  def send_request(path, method_params = {})
50
- path = "#{@api_string}/_api/#{path.gsub(/^\//, '')}"
85
+ path = "#{url}/_api/#{path.gsub(/^\//, '')}"
51
86
 
52
87
  answer = if method_params.has_key? :post
53
88
  RestClient.post path, method_params[:post].to_json
@@ -61,6 +96,21 @@ module Ashikawa
61
96
 
62
97
  JSON.parse answer
63
98
  end
99
+
100
+ def authentication?
101
+ !!@username
102
+ end
103
+
104
+ private
105
+
106
+ def url
107
+ if authentication?
108
+ "#{@scheme}://#{@username}:#{@password}@#{@host}:#{@port}"
109
+ else
110
+ @api_string
111
+ end
112
+ end
113
+
64
114
  end
65
115
  end
66
116
  end
@@ -9,10 +9,12 @@ module Ashikawa
9
9
  class Database
10
10
  extend Forwardable
11
11
 
12
- # Delegate sending requests and managing IP and port to the connection
12
+ # Delegate sending requests to the connection
13
13
  delegate send_request: :@connection
14
- delegate ip: :@connection
15
- delegate port: :@connection
14
+ delegate host: :@connection
15
+ delegate port: :@connection
16
+ delegate scheme: :@connection
17
+ delegate authenticate_with: :@connection
16
18
 
17
19
  # Initializes the connection to the database
18
20
  #
@@ -1,6 +1,6 @@
1
1
  module Ashikawa
2
2
  module Core
3
3
  # Current version of Ashikawa::Core
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.1"
5
5
  end
6
6
  end
@@ -0,0 +1,30 @@
1
+ RSpec.configure do |config|
2
+ raise "Could not find arangod. Please install it or check if it is in your path." if `which arangod` == ""
3
+
4
+ database_directory = "/tmp/ashikawa-integration-auth"
5
+ arango_process = false
6
+
7
+ config.before(:suite) do
8
+ puts "Generating user with password"
9
+ `arango-password --database #{database_directory} testuser testpassword`
10
+
11
+ puts "Starting ArangoDB with authentication enabled"
12
+ process_id = $$
13
+
14
+ Dir.mkdir database_directory unless Dir.exists? database_directory
15
+ arango_process = IO.popen("arangod #{database_directory} --server.http-auth yes --watch-process #{process_id}")
16
+
17
+ sleep 2 # Wait for Arango to start up
18
+ end
19
+
20
+ config.after(:suite) do
21
+ puts
22
+ puts "Shutting down ArangoDB"
23
+
24
+ Process.kill "INT", arango_process.pid
25
+ sleep 2 # Wait for Arango to shut down
26
+ arango_process.close
27
+
28
+ `rm -r #{database_directory}/*`
29
+ end
30
+ end
@@ -0,0 +1,40 @@
1
+ require 'integration/spec_helper'
2
+
3
+ describe "authenticated database" do
4
+ subject { ARANGO_HOST }
5
+
6
+ it "should have booted up an ArangoDB instance" do
7
+ expect { RestClient.get(subject) }.to raise_error RestClient::Unauthorized
8
+ end
9
+
10
+ context "authentication" do
11
+ subject { Ashikawa::Core::Database.new ARANGO_HOST }
12
+
13
+ context "without user and password" do
14
+ it "should not allow access to DB" do
15
+ expect do
16
+ subject["new_collection"]
17
+ end.to raise_error RestClient::Unauthorized
18
+ end
19
+ end
20
+
21
+ context "with user and password" do
22
+ it "should allow acces to DB" do
23
+ subject.authenticate_with username: 'testuser', password: 'testpassword'
24
+
25
+ expect do
26
+ subject["new_collection"]
27
+ subject["new_collection"].delete
28
+ end.to_not raise_error
29
+ end
30
+
31
+ it "should deny acces if username and password are wrong" do
32
+ subject.authenticate_with username: 'ruffy', password: 'three_headed_monkey'
33
+
34
+ expect do
35
+ subject["denied"]
36
+ end.to raise_error RestClient::Unauthorized
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,8 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+
4
+ require "rest-client"
5
+ require "json"
6
+ require "ashikawa-core"
7
+
8
+ ARANGO_HOST = "http://localhost:8529"
@@ -4,16 +4,19 @@ require 'ashikawa-core/connection'
4
4
  describe Ashikawa::Core::Connection do
5
5
  subject { Ashikawa::Core::Connection }
6
6
 
7
- it "should have an IP and port" do
7
+ it "should have a scheme, hostname and port" do
8
8
  connection = subject.new "http://localhost:8529"
9
9
 
10
- connection.ip.should == "http://localhost"
10
+ connection.scheme.should == "http"
11
+ connection.host.should == "localhost"
11
12
  connection.port.should == 8529
12
13
  end
13
14
 
14
- it "should default to localhost and ArangoDB port" do
15
+ it "should default to HTTP, localhost and ArangoDB port" do
15
16
  connection = subject.new
16
- connection.ip.should == "http://localhost"
17
+
18
+ connection.scheme.should == "http"
19
+ connection.host.should == "localhost"
17
20
  connection.port.should == 8529
18
21
  end
19
22
 
@@ -58,4 +61,48 @@ describe Ashikawa::Core::Connection do
58
61
  subject.send_request("/my/path").should == {"name" => "dude"}
59
62
  end
60
63
  end
64
+
65
+ describe "authentication" do
66
+ subject { Ashikawa::Core::Connection.new }
67
+
68
+ it "should authenticate with username and password" do
69
+ subject.authenticate_with username: "testuser", password: "testpassword"
70
+
71
+ subject.username.should == "testuser"
72
+ subject.password.should == "testpassword"
73
+ end
74
+
75
+ it "should have authentication turned off by default" do
76
+ subject.authentication?.should be_false
77
+ end
78
+
79
+ it "should tell if authentication is enabled" do
80
+ subject.authenticate_with username: "testuser", password: "testpassword"
81
+ subject.authentication?.should be_true
82
+ end
83
+
84
+ it "should only accept a username & password pairs" do
85
+ expect {
86
+ subject.authenticate_with username: "kitty"
87
+ }.to raise_error(ArgumentError)
88
+
89
+ expect {
90
+ subject.authenticate_with password: "cheezburger?"
91
+ }.to raise_error(ArgumentError)
92
+ end
93
+
94
+ it "should allow chaining" do
95
+ subject.authenticate_with(username: "a", password: "b").should == subject
96
+ end
97
+
98
+ it "should send the authentication data with every GET request" do
99
+ stub_request(:get, "http://user:pass@localhost:8529/_api/my/path").to_return body: '{ "name": "dude" }'
100
+
101
+ subject.authenticate_with username: "user", password: "pass"
102
+ subject.send_request "/my/path"
103
+
104
+ WebMock.should have_requested(:get, "http://user:pass@localhost:8529/_api/my/path")
105
+ end
106
+ end
107
+
61
108
  end
@@ -12,11 +12,11 @@ describe Ashikawa::Core::Database do
12
12
  end
13
13
 
14
14
  it "should initialize with a connection" do
15
- @connection.stub(:ip) { "http://localhost" }
15
+ @connection.stub(:host) { "localhost" }
16
16
  @connection.stub(:port) { 8529 }
17
17
 
18
18
  database = subject.new @connection
19
- database.ip.should == "http://localhost"
19
+ database.host.should == "localhost"
20
20
  database.port.should == 8529
21
21
  end
22
22
 
@@ -30,6 +30,12 @@ describe Ashikawa::Core::Database do
30
30
  describe "initialized database" do
31
31
  subject { Ashikawa::Core::Database.new @connection }
32
32
 
33
+ it "should delegate authentication to the connection" do
34
+ @connection.should_receive(:authenticate_with).with({ username: "user", password: "password" })
35
+
36
+ subject.authenticate_with username: "user", password: "password"
37
+ end
38
+
33
39
  it "should fetch all available collections" do
34
40
  @connection.stub(:send_request) {|path| server_response("collections/all") }
35
41
  @connection.should_receive(:send_request).with("/collection")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ashikawa-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-09-10 00:00:00.000000000 Z
13
+ date: 2012-10-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
@@ -35,7 +35,7 @@ dependencies:
35
35
  requirements:
36
36
  - - ~>
37
37
  - !ruby/object:Gem::Version
38
- version: 2.1.1
38
+ version: 2.2.1
39
39
  type: :development
40
40
  prerelease: false
41
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: 2.1.1
46
+ version: 2.2.1
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -83,7 +83,7 @@ dependencies:
83
83
  requirements:
84
84
  - - ~>
85
85
  - !ruby/object:Gem::Version
86
- version: 0.8.2.1
86
+ version: 0.8.3
87
87
  type: :development
88
88
  prerelease: false
89
89
  version_requirements: !ruby/object:Gem::Requirement
@@ -91,7 +91,7 @@ dependencies:
91
91
  requirements:
92
92
  - - ~>
93
93
  - !ruby/object:Gem::Version
94
- version: 0.8.2.1
94
+ version: 0.8.3
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: webmock
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -115,7 +115,7 @@ dependencies:
115
115
  requirements:
116
116
  - - ~>
117
117
  - !ruby/object:Gem::Version
118
- version: 1.3.2
118
+ version: 1.4.0
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
@@ -123,7 +123,7 @@ dependencies:
123
123
  requirements:
124
124
  - - ~>
125
125
  - !ruby/object:Gem::Version
126
- version: 1.3.2
126
+ version: 1.4.0
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: guard-rspec
129
129
  requirement: !ruby/object:Gem::Requirement
@@ -131,7 +131,7 @@ dependencies:
131
131
  requirements:
132
132
  - - ~>
133
133
  - !ruby/object:Gem::Version
134
- version: 1.2.1
134
+ version: 2.1.0
135
135
  type: :development
136
136
  prerelease: false
137
137
  version_requirements: !ruby/object:Gem::Requirement
@@ -139,7 +139,7 @@ dependencies:
139
139
  requirements:
140
140
  - - ~>
141
141
  - !ruby/object:Gem::Version
142
- version: 1.2.1
142
+ version: 2.1.0
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: guard-bundler
145
145
  requirement: !ruby/object:Gem::Requirement
@@ -172,6 +172,22 @@ dependencies:
172
172
  - - ~>
173
173
  - !ruby/object:Gem::Version
174
174
  version: 2.0.0
175
+ - !ruby/object:Gem::Dependency
176
+ name: rb-fsevent
177
+ requirement: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ~>
181
+ - !ruby/object:Gem::Version
182
+ version: 0.9.1
183
+ type: :development
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ~>
189
+ - !ruby/object:Gem::Version
190
+ version: 0.9.1
175
191
  description: Ashikawa Core is a wrapper around the ArangoDB REST API. It provides
176
192
  low level access and will be used in different ArangoDB ODMs.
177
193
  email:
@@ -184,6 +200,7 @@ files:
184
200
  - .gitignore
185
201
  - .rvmrc
186
202
  - .travis.yml
203
+ - CONTRIBUTING.md
187
204
  - Gemfile
188
205
  - Guardfile
189
206
  - LICENSE
@@ -226,6 +243,9 @@ files:
226
243
  - spec/integration/index_spec.rb
227
244
  - spec/integration/query_spec.rb
228
245
  - spec/integration/spec_helper.rb
246
+ - spec/integration_auth/arango_helper.rb
247
+ - spec/integration_auth/auth_spec.rb
248
+ - spec/integration_auth/spec_helper.rb
229
249
  - spec/unit/collection_spec.rb
230
250
  - spec/unit/connection_spec.rb
231
251
  - spec/unit/cursor_spec.rb
@@ -286,6 +306,9 @@ test_files:
286
306
  - spec/integration/index_spec.rb
287
307
  - spec/integration/query_spec.rb
288
308
  - spec/integration/spec_helper.rb
309
+ - spec/integration_auth/arango_helper.rb
310
+ - spec/integration_auth/auth_spec.rb
311
+ - spec/integration_auth/spec_helper.rb
289
312
  - spec/unit/collection_spec.rb
290
313
  - spec/unit/connection_spec.rb
291
314
  - spec/unit/cursor_spec.rb