summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authormo <mo@mokhan.ca>2018-05-07 14:29:04 -0600
committermo <mo@mokhan.ca>2018-05-07 14:29:04 -0600
commit2c5b1698b2d3cbed1df2bd17c67622f4e415286d (patch)
treed39a0a60debabde5a13a8f982cfc162893e2a14a /test
parent14ea3230db9f0cff4d976cceace10072fa185bd8 (diff)
add spec for post and put.
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/post_breaches.yml24
-rw-r--r--test/fixtures/put_breaches.yml24
-rw-r--r--test/net/client_test.rb42
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