From b8ba4f27a82868e0b3338b4af761f7c44226e729 Mon Sep 17 00:00:00 2001 From: Azul Date: Mon, 15 Jan 2018 18:21:44 +0100 Subject: (WIP) first steps towards implementing keys API --- features/step_definitions/api_steps.rb | 4 ++-- features/step_definitions/key_steps.rb | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 features/step_definitions/key_steps.rb (limited to 'features/step_definitions') diff --git a/features/step_definitions/api_steps.rb b/features/step_definitions/api_steps.rb index 7188694..7b73272 100644 --- a/features/step_definitions/api_steps.rb +++ b/features/step_definitions/api_steps.rb @@ -37,7 +37,7 @@ When /^I digest\-authenticate as the user "(.*?)" with the password "(.*?)"$/ do digest_authorize user, pass end -When /^I (?:have sent|send) a (GET|POST|PUT|DELETE) request (?:for|to) "([^"]*)"(?: with the following:)?$/ do |*args| +When /^I (?:have sent|send) a (GET|POST|PUT|DELETE|PATCH) request (?:for|to) "([^"]*)"(?: with the following:)?$/ do |*args| request_type = args.shift path = args.shift input = args.shift @@ -45,7 +45,7 @@ When /^I (?:have sent|send) a (GET|POST|PUT|DELETE) request (?:for|to) "([^"]*)" request_opts = {method: request_type.downcase.to_sym} unless input.nil? - if input.class == Cucumber::Ast::Table + if input.class == Cucumber::MultilineArgument::DataTable request_opts[:params] = input.rows_hash else request_opts[:input] = input diff --git a/features/step_definitions/key_steps.rb b/features/step_definitions/key_steps.rb new file mode 100644 index 0000000..70a13bd --- /dev/null +++ b/features/step_definitions/key_steps.rb @@ -0,0 +1,20 @@ +Given /^I have published a "([^"]*)" key$/ do |type| + identity = Identity.for(@user) + keyring = Keyring.new(identity) + SecureRandom.stubs(urlsafe_base64: 'DUMMY_REV') + keyring.create type, 'DUMMY_KEY' +end + +Given /^I have published "([^"]*)" keys$/ do |type| + identity = Identity.for(@user) + keyring = Keyring.new(identity) + SecureRandom.stubs(urlsafe_base64: 'DUMMY_REV') + keyring.create type, one: 'DUMMY_KEY', two: 'DUMMY_KEY' +end + +Then /^I should have published an? "([^"]*)" key(?: with value "([^"]*)")?$/ do |type, value| + identity = Identity.for(@user) + keys = identity.keys + assert_includes keys.keys, type + assert_equal value, JSON.parse(keys[type])['value'] if value +end -- cgit v1.2.3