1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- -module(oauth_unit).
- -include_lib("eunit/include/eunit.hrl").
- -include("oauth_test_macros.hrl").
- params_from_string_test_() ->
- % cf. http://oauth.net/core/1.0/#response_parameters (5.3)
- Params = oauth_params:from_string("oauth_token=ab3cd9j4ks73hf7g&oauth_token_secret=xyz4992k83j47x0b"), [
- ?_assertEqual("ab3cd9j4ks73hf7g", proplists:get_value("oauth_token", Params)),
- ?_assertEqual("xyz4992k83j47x0b", proplists:get_value("oauth_token_secret", Params))
- ].
- params_to_header_string_test_() ->
- % cf. http://oauth.net/core/1.0/#auth_header_authorization (5.4.1)
- Params = [{oauth_consumer_key, "0685bd9184jfhq22"}, {oauth_token, "ad180jjd733klru7"}],
- String = "oauth_consumer_key=\"0685bd9184jfhq22\",oauth_token=\"ad180jjd733klru7\"", [
- ?_assertEqual(String, oauth_params:to_header_string(Params))
- ].
- plaintext_signature_test_() -> [
- % cf. http://oauth.net/core/1.0/#rfc.section.9.4.1
- ?plaintext_signature_test("djr9rjt0jd78jf88", "jjd999tj88uiths3", "djr9rjt0jd78jf88%26jjd999tj88uiths3"),
- ?plaintext_signature_test("djr9rjt0jd78jf88", "jjd99$tj88uiths3", "djr9rjt0jd78jf88%26jjd99%2524tj88uiths3"),
- ?plaintext_signature_test("djr9rjt0jd78jf88", "", "djr9rjt0jd78jf88%26")
- ].
- hmac_normalize_test_() -> [
- % cf. http://wiki.oauth.net/TestCases
- ?hmac_normalize_test("name=", [{name,undefined}]),
- ?hmac_normalize_test("a=b", [{a,b}]),
- ?hmac_normalize_test("a=b&c=d", [{a,b},{c,d}]),
- ?hmac_normalize_test("a=x%20y&a=x%21y", [{a,"x!y"},{a,"x y"}]),
- ?hmac_normalize_test("x=a&x%21y=a", [{"x!y",a},{x,a}])
- ].
- hmac_base_string_test_() -> [
- % cf. http://wiki.oauth.net/TestCases
- ?hmac_base_string_test("GET", "http://example.com/", [{n,v}], ["GET&http%3A%2F%2Fexample.com%2F&n%3Dv"]),
- ?hmac_base_string_test("GET", "http://example.com", [{n,v}], ["GET&http%3A%2F%2Fexample.com%2F&n%3Dv"]),
- ?hmac_base_string_test("POST", "https://photos.example.net/request_token", [
- {oauth_version, "1.0"},
- {oauth_consumer_key, "dpf43f3p2l4k3l03"},
- {oauth_timestamp, "1191242090"},
- {oauth_nonce, "hsu94j3884jdopsl"},
- {oauth_signature_method, "PLAINTEXT"}
- ], [
- "POST&https%3A%2F%2Fphotos.example.net%2Frequest_token&oauth_consumer_key",
- "%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dhsu94j3884jdopsl%26oauth_signature_method",
- "%3DPLAINTEXT%26oauth_timestamp%3D1191242090%26oauth_version%3D1.0"
- ]),
- ?hmac_base_string_test("GET", "http://photos.example.net/photos", [
- {file, "vacation.jpg"},
- {size, "original"},
- {oauth_version, "1.0"},
- {oauth_consumer_key, "dpf43f3p2l4k3l03"},
- {oauth_token, "nnch734d00sl2jdk"},
- {oauth_timestamp, "1191242096"},
- {oauth_nonce, "kllo9940pd9333jh"},
- {oauth_signature_method, "HMAC-SHA1"}
- ], [
- "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26",
- "oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26",
- "oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26",
- "oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"
- ])
- ].
- hmac_signature_test_() -> [
- % cf. http://wiki.oauth.net/TestCases
- ?hmac_signature_test("egQqG5AJep5sJ7anhXju1unge2I=", "cs", "", ["bs"]),
- ?hmac_signature_test("VZVjXceV7JgPq/dOTnNmEfO0Fv8=", "cs", "ts", ["bs"]),
- ?hmac_signature_test("tR3+Ty81lMeYAr/Fid0kMTYa/WM=", "kd94hf93k423kf44", "pfkkdhi9sl3r4s00", [
- "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26",
- "oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26",
- "oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26",
- "oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"
- ])
- ].
|