1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require "minitest/autorun"
require "rack/test"

require "roda/plugins/dav_verbs"

class DavVerbsTest < Minitest::Test
  include Rack::Test::Methods

  class App < Roda
    plugin :dav_verbs

    route do |r|
      r.propfind do
        "propfind"
      end

      r.report do
        "report"
      end
    end
  end

  def app
    App
  end

  def test_propfind
    request "/", method: "PROPFIND"

    assert_equal 200, last_response.status
    assert_equal "propfind", last_response.body
  end

  def test_report
    request "/", method: "REPORT"

    assert_equal 200, last_response.status
    assert_equal "report", last_response.body
  end
end