Class: Skooma::Matchers::ConformRequestSchema

Inherits:
Object
  • Object
show all
Defined in:
lib/skooma/matchers/conform_request_schema.rb

Direct Known Subclasses

ConformResponseSchema

Instance Method Summary collapse

Constructor Details

#initialize(skooma, mapped_response) ⇒ ConformRequestSchema

Returns a new instance of ConformRequestSchema.



8
9
10
11
12
# File 'lib/skooma/matchers/conform_request_schema.rb', line 8

def initialize(skooma, mapped_response)
  @skooma = skooma
  @schema = skooma.schema
  @mapped_response = mapped_response
end

Instance Method Details

#descriptionObject



22
23
24
# File 'lib/skooma/matchers/conform_request_schema.rb', line 22

def description
  "conform request schema"
end

#failure_messageObject



26
27
28
29
30
31
32
33
34
# File 'lib/skooma/matchers/conform_request_schema.rb', line 26

def failure_message
  <<~MSG
    ENV:
    #{pretty(@mapped_response)}

    Validation Result:
    #{pretty(@result.output(:skooma))}
  MSG
end

#matches?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
# File 'lib/skooma/matchers/conform_request_schema.rb', line 14

def matches?(*)
  @result = @schema.evaluate(@mapped_response)

  @skooma.coverage.track_request(@result) if @mapped_response["response"]

  @result.valid?
end