@consuming @consume Feature: Consuming configuration data

In order to access configuration data
As a consumer 
I want to request access to configuration data

Scenario: Metadata-free hit
  Given the specified configuration exists
  And I am allowed to request configuration
  When I request configuration data
  Then the specified configuration should be returned

Scenario: Resolved configuration
  Given existing configuration data containing references 
  And the referenced configuration exists
  And I am allowed to request configuration
  And I have specified configuration should be resolved
  When I request configuration data
  Then the specified configuration should be returned
  And the references should be replaced with the referenced configuration data

Scenario: Metadata-free miss
  Given I am allowed to request configuration
  And the specified configuration does not exist
  When I request configuration data
  Then I should receive a 'not found' indication

Scenario: Identifier-free metadata filter single hit
  Given a metadata filter
  And only one entry of configuration data matching the meta data filter is present
  When I request configuration data
  Then the configuration data should be returned for the index and meta data filter as the only item

Scenario: Identifier-free metadata filter multiple hits
  Given a metadata filter
  And multiple entries of configuration data matching the meta data filter are present
  When I request configuration data
  Then all matching configuration data should be returned

Scenario: Identifier-free metadata filter miss
  Given a metadata filter
  And no entry matching the meta data filter is present
  When I request configuration data
  Then I should receive a 'no match' indication

Scenario: CS request failure
  Given the specified configuration exists
  And I am allowed to request configuration
  And a CS request failure
  When I request configuration data
  Then I should receive a 'request failure' notification