Class: PactBroker::Api::Resources::Verifications

Inherits:
BaseResource
  • Object
show all
Includes:
MetadataResourceMethods, WebhookExecutionMethods
Defined in:
lib/pact_broker/api/resources/verifications.rb

Instance Method Summary collapse

Methods included from MetadataResourceMethods

#consumer_versions_from_metadata, #maybe_consumer_version_number_param, #metadata, #metadata_consumer_version_numbers, #pact_params

Methods included from WebhookExecutionMethods

#finish_request, #handle_webhook_events, #schedule_triggered_webhooks

Instance Method Details

#allowed_methodsObject



24
25
26
# File 'lib/pact_broker/api/resources/verifications.rb', line 24

def allowed_methods
  ["POST", "OPTIONS"]
end

#content_types_acceptedObject



16
17
18
# File 'lib/pact_broker/api/resources/verifications.rb', line 16

def content_types_accepted
  [["application/json", :from_json]]
end

#content_types_providedObject



20
21
22
# File 'lib/pact_broker/api/resources/verifications.rb', line 20

def content_types_provided
  [["application/hal+json", :to_json]]
end

#create_pathObject



48
49
50
# File 'lib/pact_broker/api/resources/verifications.rb', line 48

def create_path
  new_verification_url(pact, next_verification_number, base_url)
end

#from_jsonObject



52
53
54
55
56
57
58
59
# File 'lib/pact_broker/api/resources/verifications.rb', line 52

def from_json
  handle_webhook_events(build_url: verification_params["buildUrl"]) do
    verified_pacts = pact_service.find_for_verification_publication(pact_params, event_context[:consumer_version_selectors])
    verification = verification_service.create(next_verification_number, verification_params, verified_pacts, event_context)
    response.body = decorator_for(verification).to_json(decorator_options)
  end
  true
end

#malformed_request?Boolean

Returns:

  • (Boolean)


36
37
38
39
40
41
42
43
44
45
46
# File 'lib/pact_broker/api/resources/verifications.rb', line 36

def malformed_request?
  if request.post?
    return true if invalid_json?
    errors = verification_service.errors(params)
    if !errors.empty?
      set_json_validation_error_messages(errors.messages)
      return true
    end
  end
  false
end

#policy_nameObject



61
62
63
# File 'lib/pact_broker/api/resources/verifications.rb', line 61

def policy_name
  :'verifications::verifications'
end

#policy_pacticipantObject



65
66
67
# File 'lib/pact_broker/api/resources/verifications.rb', line 65

def policy_pacticipant
  provider
end

#post_is_create?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/pact_broker/api/resources/verifications.rb', line 28

def post_is_create?
  true
end

#resource_exists?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/pact_broker/api/resources/verifications.rb', line 32

def resource_exists?
  !!pact
end