Advertisement
Guest User

Untitled

a guest
Jun 1st, 2017
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. $:.unshift File.join(File.dirname(__FILE__))
  2. require 'net/http'
  3. require 'net/https'
  4. require 'test/unit'
  5. require 'rubygems'
  6. require 'json'
  7. #require 'library'
  8.  
  9. @@user = 'foo@socialtext.com'
  10. @@pass = 'foo'
  11. @@host = 'foo.socialtext.net'
  12. @@port = '23406'
  13.  
  14. class TC_Test_Get_Page_JSON < Test::Unit::TestCase
  15.  
  16. #@@page_path = "/data/workspaces/admin/pages"
  17. @@page_path = "/data/workspaces/admin/pages"
  18. @@page_loc = "#{@@page_path}/viaREST2" #?verbose=1"
  19.  
  20.  
  21. def page_delete_json
  22. req = Net::HTTP::Delete.new(@@page_loc, initheader = {'Content-Type' => 'text/x.socialtext-wiki'})
  23. #req.use-ssl = true
  24. req.basic_auth @@user, @@pass
  25. response = Net::HTTP.new(@@host, @@port).start {|http| http.request(req) }
  26. #puts "Response #{response.code} #{response.message}:#{response.body}"
  27. #assert_equal('204', response.code)
  28. #assert_equal('No Content', response.message)
  29. end
  30.  
  31. def page_put_json
  32.  
  33. tags = ["tag1","tag2"]
  34. payload = {
  35. "content" => "page content",
  36. "date" => "Sun, 06 Nov 1994 08:49:37 GMT",
  37. "from" => "foo@bar.com",
  38. "tags" => tags,
  39. "edit_summary" => "",
  40. "signal_edit_summary" => 1
  41. }.to_json
  42.  
  43. req = Net::HTTP::Put.new(@@page_loc, initheader = {'Content-Type' => 'application/json'})
  44. req.basic_auth @@user, @@pass
  45. #req.use-ssl = true
  46. req.body = payload
  47. response = Net::HTTP.new(@@host, @@port).start {|http| http.request(req) }
  48. puts "Response #{response.code} #{response.message}:#{response.body}"
  49. assert_equal('201', response.code)
  50. assert_equal('Created', response.message)
  51. end
  52.  
  53. def test_page_get_json
  54. puts "starting test get page json"
  55. page_delete_json
  56. page_put_json
  57.  
  58. req = Net::HTTP::Get.new(@@page_loc,initheader = {'Accept' => 'application/json'})
  59. #req.use-ssl = true
  60. req.basic_auth @@user, @@pass
  61. response = Net::HTTP.new(@@host, @@port).start {|http| http.request(req) }
  62. puts response.body
  63. #puts ""
  64. parsed = JSON.parse(response.body)
  65. parsed.each { |key, value| puts "#{key} is #{value}" }
  66. #assert_equal(parsed.keys, ["last_editor", "name", "uri","revision_id", "last_edit_time","tags", "modified_time", "revision_count", "type", "page_id","workspace_name","page_uri"])
  67. #assert_equal(['devnull1@socialtext.com'],parsed.values_at("last_editor"))
  68. ##assert_equal(['TestGetPageJSON'],parsed.values_at("name"))
  69. #assert_equal(['testgetpagejson'],parsed.values_at("uri"))
  70. #assert_equal(['testgetpagejson'],parsed.values_at("page_id"))
  71. #NOTE: other key/value pairs are not checked because they are datetime or otherwise not reliable
  72. end
  73.  
  74. end #class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement