react / wstein / node_modules / jest-cli / node_modules / jsdom / node_modules / request / node_modules / oauth-sign / test.js
81145 viewsvar oauth = require('./index')1, hmacsign = oauth.hmacsign2, assert = require('assert')3, qs = require('querystring')4;56// Tests from Twitter documentation https://dev.twitter.com/docs/auth/oauth78var reqsign = hmacsign('POST', 'https://api.twitter.com/oauth/request_token',9{ oauth_callback: 'http://localhost:3005/the_dance/process_callback?service_provider_id=11'10, oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g'11, oauth_nonce: 'QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJcn4XlZJqk'12, oauth_signature_method: 'HMAC-SHA1'13, oauth_timestamp: '1272323042'14, oauth_version: '1.0'15}, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98")1617console.log(reqsign)18console.log('8wUi7m5HFQy76nowoCThusfgB+Q=')19assert.equal(reqsign, '8wUi7m5HFQy76nowoCThusfgB+Q=')2021var accsign = hmacsign('POST', 'https://api.twitter.com/oauth/access_token',22{ oauth_consumer_key: 'GDdmIQH6jhtmLUypg82g'23, oauth_nonce: '9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8'24, oauth_signature_method: 'HMAC-SHA1'25, oauth_token: '8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc'26, oauth_timestamp: '1272323047'27, oauth_verifier: 'pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY'28, oauth_version: '1.0'29}, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "x6qpRnlEmW9JbQn4PQVVeVG8ZLPEx6A0TOebgwcuA")3031console.log(accsign)32console.log('PUw/dHA4fnlJYM6RhXk5IU/0fCc=')33assert.equal(accsign, 'PUw/dHA4fnlJYM6RhXk5IU/0fCc=')3435var upsign = hmacsign('POST', 'http://api.twitter.com/1/statuses/update.json',36{ oauth_consumer_key: "GDdmIQH6jhtmLUypg82g"37, oauth_nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y"38, oauth_signature_method: "HMAC-SHA1"39, oauth_token: "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw"40, oauth_timestamp: "1272325550"41, oauth_version: "1.0"42, status: 'setting up my twitter 私のさえずりを設定する'43}, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBA")4445console.log(upsign)46console.log('yOahq5m0YjDDjfjxHaXEsW9D+X0=')47assert.equal(upsign, 'yOahq5m0YjDDjfjxHaXEsW9D+X0=')4849// handle objects in params (useful for Wordpress REST API)50var upsign = hmacsign('POST', 'http://wordpress.com/wp-json',51{ oauth_consumer_key: "GDdmIQH6jhtmLUypg82g"52, oauth_nonce: "oElnnMTQIZvqvlfXM56aBLAf5noGD0AQR3Fmi7Q6Y"53, oauth_signature_method: "HMAC-SHA1"54, oauth_token: "819797-Jxq8aYUDRmykzVKrgoLhXSq67TEa5ruc4GJC2rWimw"55, oauth_timestamp: "1272325550"56, oauth_version: "1.0"57, filter: { number: "-1" }58}, "MCD8BKwGdgPHvAuvgvz4EQpqDAtx89grbuNMRd7Eh98", "J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBA")5960console.log(upsign)61console.log('YrJFBdwnjuIitGpKrxLUplcuuUQ=')62assert.equal(upsign, 'YrJFBdwnjuIitGpKrxLUplcuuUQ=')6364// example in rfc584965var params = qs.parse('b5=%3D%253D&a3=a&c%40=&a2=r%20b' + '&' + 'c2&a3=2+q')66params.oauth_consumer_key = '9djdj82h48djs9d2'67params.oauth_token = 'kkk9d7dh3k39sjv7'68params.oauth_nonce = '7d8f3e4a'69params.oauth_signature_method = 'HMAC-SHA1'70params.oauth_timestamp = '137131201'7172var rfc5849sign = hmacsign('POST', 'http://example.com/request',73params, "j49sk3j29djd", "dh893hdasih9")7475console.log(rfc5849sign)76console.log('r6/TJjbCOr97/+UU0NsvSne7s5g=')77assert.equal(rfc5849sign, 'r6/TJjbCOr97/+UU0NsvSne7s5g=')787980// PLAINTEXT8182var plainSign = oauth.sign('PLAINTEXT', 'GET', 'http://dummy.com', {}, 'consumer_secret', 'token_secret')83console.log(plainSign)84assert.equal(plainSign, 'consumer_secret&token_secret')8586plainSign = oauth.plaintext('consumer_secret', 'token_secret')87console.log(plainSign)88assert.equal(plainSign, 'consumer_secret&token_secret')899091