File: test-request.R

package info (click to toggle)
r-cran-crul 1.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,620 kB
  • sloc: sh: 13; makefile: 2
file content (104 lines) | stat: -rw-r--r-- 2,746 bytes parent folder | download | duplicates (3)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
context("HttpRequest")

test_that("HttpRequest works", {
  expect_is(HttpRequest, "R6ClassGenerator")

  aa <- HttpRequest$new(url = hb())

  expect_is(aa, "HttpRequest")
  expect_null(aa$handle)
  expect_length(aa$opts, 0)
  expect_is(aa$url, "character")
  expect_is(aa$headers, "list")
  expect_is(aa$post, "function")
  expect_is(aa$get, "function")

  expect_is(aa$print, "function")
  expect_output(aa$print(), "<crul http request> ")
})

test_that("HttpRequest - get", {
  aa <- HttpRequest$new(url = hb())$get()

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "get")
  expect_equal(aa$url, hb())
})

test_that("HttpRequest - post", {
  aa <- HttpRequest$new(url = hb())$post()

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "post")
  expect_equal(aa$url, hb())
})

test_that("HttpRequest - put", {
  aa <- HttpRequest$new(url = hb())$put()

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "put")
  expect_equal(aa$url, hb())
})

test_that("HttpRequest - patch", {
  aa <- HttpRequest$new(url = hb())$patch()

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "patch")
  expect_equal(aa$url, hb())
})

test_that("HttpRequest - delete", {
  aa <- HttpRequest$new(url = hb())$delete()

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "delete")
  expect_equal(aa$url, hb())
})

test_that("HttpRequest - head", {
  aa <- HttpRequest$new(url = hb())$head()

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "head")
  expect_equal(aa$url, hb())
})

test_that("HttpRequest - verb", {
  aa <- HttpRequest$new(url = hb())$verb('get')

  expect_is(aa, "HttpRequest")
  expect_equal(aa$method(), "get")
  expect_equal(aa$url, hb())

  bb <- HttpRequest$new(url = hb())$verb('post')
  expect_equal(bb$method(), "post")

  # fails well
  expect_error(HttpRequest$new(url = hb())$verb(), "missing")
  expect_error(HttpRequest$new(url = hb())$verb('verb'), "must be one of")
  expect_error(HttpRequest$new(url = hb())$verb(5), "is not TRUE")
})

test_that("HttpRequest - prints new url after being modified", {
  # query modifies url
  aa <- HttpRequest$new(url = hb())
  bb <- aa$get(query = list(foo = "bar", a = 5))
  expect_output(print(aa), hb())
  expect_output(print(bb), paste0(hb(), "\\?foo=bar&a=5"))

  # handle passed in instead of a url
  aa <- HttpRequest$new(handle = handle(file.path(hb(), "foobar")))
  expect_output(print(aa), file.path(hb(), "foobar"))

  # handle + query
  aa <- HttpRequest$new(handle = handle(hb()))
  bb <- aa$get(query = list(foo = "bar", a = 5))
  expect_output(print(aa), hb())
  expect_output(print(bb), paste0(hb(), "\\?foo=bar&a=5"))
})

test_that("HttpRequest fails well", {
  expect_error(HttpRequest$new(), "need one of url or handle")
})