Skip to content

Instantly share code, notes, and snippets.

@stormsilver
Created November 30, 2009 20:17
Show Gist options
  • Select an option

  • Save stormsilver/245703 to your computer and use it in GitHub Desktop.

Select an option

Save stormsilver/245703 to your computer and use it in GitHub Desktop.
@api @data @api_search @api_search_show
Feature: Search data via the REST API
In order to know about objects in the system
As a Developer
I want to search the objects
Scenario: Search for objects when none have been created # features/api/search/show_search.feature:7
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users' # features/steps/request_steps.rb:1
Then the inflated responses key 'rows' should be '0' items long # features/steps/response_steps.rb:48
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '0' # features/steps/response_steps.rb:9
Scenario: Search for objects when one has been created # features/api/search/show_search.feature:16
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'francis' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::DataBagItem (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:23:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem''
And the inflated responses key 'rows' item '0' key 'id' should be 'francis' # features/steps/response_steps.rb:44
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '1' # features/steps/response_steps.rb:9
Scenario: Search for objects when two have been created # features/api/search/show_search.feature:28
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'francis' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'axl_rose' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::DataBagItem (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:36:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem''
And the inflated responses key 'rows' item '0' key 'id' should be 'francis' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' item '1' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
And the inflated responses key 'rows' item '1' key 'id' should be 'axl_rose' # features/steps/response_steps.rb:44
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '2' # features/steps/response_steps.rb:9
Scenario: Search for objects with a manual ascending sort order # features/api/search/show_search.feature:43
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'francis' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'axl_rose' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users?sort=id+asc' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::DataBagItem (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:51:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem''
And the inflated responses key 'rows' item '0' key 'id' should be 'axl_rose' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' item '1' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
And the inflated responses key 'rows' item '1' key 'id' should be 'francis' # features/steps/response_steps.rb:44
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '2' # features/steps/response_steps.rb:9
Scenario: Search for objects with a manual descending sort order # features/api/search/show_search.feature:58
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'francis' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'axl_rose' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users?sort=id+desc' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::DataBagItem (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:66:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem''
And the inflated responses key 'rows' item '0' key 'id' should be 'francis' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' item '1' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
And the inflated responses key 'rows' item '1' key 'id' should be 'axl_rose' # features/steps/response_steps.rb:44
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '2' # features/steps/response_steps.rb:9
Scenario: Search for objects and page through the results # features/api/search/show_search.feature:73
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'francis' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'axl_rose' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users?rows=1&sort=id+asc' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::DataBagItem (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:81:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem''
And the inflated responses key 'rows' item '0' key 'id' should be 'axl_rose' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' should be '1' items long # features/steps/response_steps.rb:48
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '2' # features/steps/response_steps.rb:9
When I 'GET' the path '/search/users?rows=1&start=1&sort=id+asc' # features/steps/request_steps.rb:1
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
And the inflated responses key 'rows' item '0' key 'id' should be 'francis' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' should be '1' items long # features/steps/response_steps.rb:48
And the inflated responses key 'start' should be the integer '1' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '2' # features/steps/response_steps.rb:9
Scenario: Search for a subset of objects # features/api/search/show_search.feature:93
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'data_bag' named 'users' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'francis' exists # features/steps/fixture_steps.rb:162
And a 'data_bag_item' named 'axl_rose' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/users?q=id:axl_rose' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::DataBagItem (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:101:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::DataBagItem''
And the inflated responses key 'rows' item '0' key 'id' should be 'axl_rose' # features/steps/response_steps.rb:44
And the inflated responses key 'start' should be the integer '0' # features/steps/response_steps.rb:9
And the inflated responses key 'total' should be the integer '1' # features/steps/response_steps.rb:9
Scenario: Search for a node # features/api/search/show_search.feature:106
Given a 'registration' named 'bobo' exists # features/steps/fixture_steps.rb:162
And a 'node' named 'searchman' exists # features/steps/fixture_steps.rb:162
And I wait for '10' seconds # features/steps/fixture_steps.rb:212
When I authenticate as 'bobo' # features/steps/request_steps.rb:53
And I 'GET' the path '/search/node?q=recipe:oracle' # features/steps/request_steps.rb:1
/usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:17: warning: multiple values for a block parameter (0 for 1)
from /usr/local/lib/ruby/gems/1.8/gems/rspec-1.2.9/lib/spec/matchers/matcher.rb:74
Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::Node' # features/steps/response_steps.rb:40
expected nil to be a kind of Chef::Node (Spec::Expectations::ExpectationNotMetError)
./features/steps/response_steps.rb:41:in `/^the inflated responses key '(.+)' item '(\d+)' should be a kind of '(.+)'$/'
features/api/search/show_search.feature:112:in `Then the inflated responses key 'rows' item '0' should be a kind of 'Chef::Node''
And the inflated responses key 'rows' item '0' key 'one' should be 'five' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' item '0' key 'three' should be 'four' # features/steps/response_steps.rb:44
And the inflated responses key 'rows' item '0' key 'walking' should be 'tall' # features/steps/response_steps.rb:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment