node-oauth/tests/oauth.js

99 lines
6.4 KiB
JavaScript

/*describe 'node-oauth'
before_each
OAuth= require('oauth').OAuth
end
describe 'Auth'
describe 'OAuth'
it 'should generate the signature base string described in http://oauth.net/core/1.0/#sig_base_example'
oa= new OAuth(null, null, null, null, null, null, "HMAC-SHA1");
var result= oa._createSignatureBase("GET", "http://photos.example.net/photos",
"file=vacation.jpg&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_nonce=kllo9940pd9333jh&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1191242096&oauth_token=nnch734d00sl2jdk&oauth_version=1.0&size=original")
result.should.eql "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacation.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3Dnnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal"
end
describe 'Url normalisation'
before_each
oa= new OAuth(null, null, null, null, null, null, "HMAC-SHA1");
end
it 'should strip default ports from urls for use in signature generation'
oa._normalizeUrl("https://somehost.com:443/foo/bar").should_be "https://somehost.com/foo/bar"
end
it 'should leave in non-default ports from urls for use in signature generation'
oa._normalizeUrl("https://somehost.com:446/foo/bar").should_be "https://somehost.com:446/foo/bar"
oa._normalizeUrl("http://somehost.com:81/foo/bar").should_be "http://somehost.com:81/foo/bar"
end
it 'should ensure that there exists a trailing slash when no path at all is present'
oa._normalizeUrl("http://somehost.com").should_be "http://somehost.com/"
end
end
describe 'Url signing'
it 'should provide a valid signature when no token present'
oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1");
oa.stub('_getTimestamp').and_return("1272399856")
oa.stub('_getNonce').and_return("ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp")
oa.signUrl("http://somehost.com:3323/foo/poop?bar=foo").should_be ("http://somehost.com:3323/foo/poop?bar=foo&oauth_consumer_key=consumerkey&oauth_nonce=ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1272399856&oauth_version=1.0&oauth_signature=7ytO8vPSLut2GzHjU9pn1SV9xjc%3D")
end
it 'should provide a valid signature when a token is present'
oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1");
oa.stub('_getTimestamp').and_return("1272399856")
oa.stub('_getNonce').and_return("ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp")
oa.signUrl("http://somehost.com:3323/foo/poop?bar=foo", "token").should_be ("http://somehost.com:3323/foo/poop?bar=foo&oauth_consumer_key=consumerkey&oauth_nonce=ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1272399856&oauth_token=token&oauth_version=1.0&oauth_signature=9LwCuCWw5sURtpMroIolU3YwsdI%3D")
end
it 'should provide a valid signature when a token and a token secret is present'
oa= new OAuth(null, null, "consumerkey", "consumersecret", "1.0", null, "HMAC-SHA1");
oa.stub('_getTimestamp').and_return("1272399856")
oa.stub('_getNonce').and_return("ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp")
oa.signUrl("http://somehost.com:3323/foo/poop?bar=foo", "token", "tokensecret").should_be ("http://somehost.com:3323/foo/poop?bar=foo&oauth_consumer_key=consumerkey&oauth_nonce=ybHPeOEkAUJ3k2wJT9Xb43MjtSgTvKqp&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1272399856&oauth_token=token&oauth_version=1.0&oauth_signature=zeOR0Wsm6EG6XSg0Vw%2FsbpoSib8%3D")
end
end
describe 'host headers for non default ports should contain the port'
describe 'when getProtectedResource is called'
it 'should set the correct Host header when provided with an unusual port'
oa2= new OAuth(null, null, null, null, null, null, "HMAC-SHA1");
var mockProvider= {},
mockRequest= {addListener:function(){},
end:function(){}};
stub(mockProvider, 'request').and_return(mockRequest)
mockProvider.should.receive('request', 'once').with_args('GET', an_instance_of(String), {Host:"somehost.com:8080"})
stub(oa2, '_createClient').and_return(mockProvider)
oa2.should.receive('_createClient', 'once') .with_args('8080', 'somehost.com')
oa2.getProtectedResource("http://somehost.com:8080", "GET", "oauth_token", null, function(){require('sys').p('dddd')})
end
end
describe 'when getOAuthRequestToken is called'
it 'should set the correct Host header when provided with an unusual port'
oa2= new OAuth(null, null, null, null, null, null, "HMAC-SHA1");
var mockProvider= {},
mockRequest= {addListener:function(){},
end:function(){}};
stub(mockProvider, 'request').and_return(mockRequest)
mockProvider.should.receive('request', 'once').with_args('GET', an_instance_of(String), {Host:"somehost.com:8080"})
stub(oa2, '_createClient').and_return(mockProvider)
oa2.should.receive('_createClient', 'once').with_args('8080', 'somehost.com')
oa2.getProtectedResource("http://somehost.com:8080", "GET", "oauth_token", null, function(){})
end
end
describe 'when getOauthAccessToken is called'
it 'should set the correct Host header when provided with an unusual port'
oa2= new OAuth(null, null, null, null, null, null, "HMAC-SHA1");
var mockProvider= {},
mockRequest= {addListener:function(){},
end:function(){}};
stub(mockProvider, 'request').and_return(mockRequest)
mockProvider.should.receive('request', 'once').with_args('GET', an_instance_of(String), {Host:"somehost.com:8080"})
stub(oa2, '_createClient').and_return(mockProvider)
oa2.should.receive('_createClient', 'once').with_args('8080', 'somehost.com')
oa2.getProtectedResource("http://somehost.com:8080", "GET", "oauth_token", null, function(){})
end
end
end
end
end
end*/