diff options
| author | mo <mo@mokhan.ca> | 2018-05-07 14:29:04 -0600 |
|---|---|---|
| committer | mo <mo@mokhan.ca> | 2018-05-07 14:29:04 -0600 |
| commit | 2c5b1698b2d3cbed1df2bd17c67622f4e415286d (patch) | |
| tree | d39a0a60debabde5a13a8f982cfc162893e2a14a | |
| parent | 14ea3230db9f0cff4d976cceace10072fa185bd8 (diff) | |
add spec for post and put.
| -rw-r--r-- | test/fixtures/post_breaches.yml | 24 | ||||
| -rw-r--r-- | test/fixtures/put_breaches.yml | 24 | ||||
| -rw-r--r-- | test/net/client_test.rb | 42 |
3 files changed, 90 insertions, 0 deletions
diff --git a/test/fixtures/post_breaches.yml b/test/fixtures/post_breaches.yml new file mode 100644 index 0000000..936b7dd --- /dev/null +++ b/test/fixtures/post_breaches.yml @@ -0,0 +1,24 @@ +--- +http_interactions: +- request: + method: post + uri: https://haveibeenpwned.com/api/breaches + body: + encoding: UTF-8 + string: "{}" + headers: + Accept: + - application/vnd.haveibeenpwned.v2+json + response: + status: + code: 201 + message: Created + headers: + Content-Type: + - application/json; charset=utf-8 + body: + encoding: UTF-8 + string: '{"Message":"Congratulations!"}' + http_version: + recorded_at: Mon, 07 May 2018 20:21:13 GMT +recorded_with: VCR 4.0.0 diff --git a/test/fixtures/put_breaches.yml b/test/fixtures/put_breaches.yml new file mode 100644 index 0000000..3c8224a --- /dev/null +++ b/test/fixtures/put_breaches.yml @@ -0,0 +1,24 @@ +--- +http_interactions: +- request: + method: put + uri: https://haveibeenpwned.com/api/breaches + body: + encoding: UTF-8 + string: "{\"command\":\"echo hello\"}" + headers: + Accept: + - application/vnd.haveibeenpwned.v2+json + response: + status: + code: 201 + message: Created + headers: + Content-Type: + - application/json; charset=utf-8 + body: + encoding: UTF-8 + string: '{"Message":"Congratulations!"}' + http_version: + recorded_at: Mon, 07 May 2018 20:21:13 GMT +recorded_with: VCR 4.0.0 diff --git a/test/net/client_test.rb b/test/net/client_test.rb index 406eab0..7a99ad9 100644 --- a/test/net/client_test.rb +++ b/test/net/client_test.rb @@ -29,4 +29,46 @@ class Net::Hippie::ClientTest < Minitest::Test assert_equal(283, JSON.parse(@response.body).count) end end + + def test_post + VCR.use_cassette("post_breaches") do + uri = URI.parse('https://haveibeenpwned.com/api/breaches') + response = subject.post(uri) + refute_nil response + assert_equal "Congratulations!", JSON.parse(response.body)["Message"] + end + end + + def test_post_with_block_syntax + VCR.use_cassette("post_breaches") do + uri = URI.parse('https://haveibeenpwned.com/api/breaches') + subject.post(uri) do |request, response| + @response = response + end + refute_nil @response + assert_equal "Congratulations!", JSON.parse(@response.body)["Message"] + end + end + + def test_put + VCR.use_cassette("put_breaches") do + uri = URI.parse('https://haveibeenpwned.com/api/breaches') + body = { command: 'echo hello' }.to_json + response = subject.put(uri, body: body) + refute_nil response + assert_equal "Congratulations!", JSON.parse(response.body)["Message"] + end + end + + def test_put_with_block_syntax + VCR.use_cassette("put_breaches") do + uri = URI.parse('https://haveibeenpwned.com/api/breaches') + body = { command: 'echo hello' }.to_json + subject.put(uri, body: body) do |request, response| + @response = response + end + refute_nil @response + assert_equal "Congratulations!", JSON.parse(@response.body)["Message"] + end + end end |
