diff options
author | Zach Copley <zach@status.net> | 2010-01-27 14:27:22 -0800 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-01-27 14:27:22 -0800 |
commit | 78079f34e273357d03ceee13269f9a388e66c4e3 (patch) | |
tree | 8f29f6fb7de5b6b6627a7eba3e16b86fa9b2ae1f /tests/oauth/statusupdate.php | |
parent | 656d95418c6d7f8b884c4c8af14ad6952032ace6 (diff) | |
parent | 2494d3fa25a44b3cacf85c594683675ae9e6d0cb (diff) |
Merge branch 'testing' into -1.9.x
* testing: (130 commits)
HTTP auth provided is evaluated even if it's not required
Rename rc3to09.sql to rc3torc4.sql to avoid confusion if we add a last-minute change after this!
Add new oauth tables and modifications to 'consumer' table for rc4
Centred leaderboard ad
camelcase the uap param names
move leaderboard to after the header
Moved rectangle ad into aside and leaderboard to the right in header.
Aligning wide skyscraper to the right instead of left
CSS ids and classes fixed in UAPPlugin
wrong height for rectangle in BlankAd
Add the moved BlankAdPlugin
make BlankAd dir and change to use a 1x1 image
move BlankAdPlugin to its own dir
Add BlankAdPlugin to test ad layout in different themes
make uapplugin an abstract class
move UAP plugin to core
Lowercased switch cases in UAP Plugin
Plugin for Universal Ad Package. Outputs four most widely used ad types.
Add persistent:true property to Stomp messages so ActiveMQ doesn't decide to discard them even though persistence is enabled on the broker. :) (Thanks Aric!)
quick fix: use common_path() on realtime update JS so it works with the new JS path code (will pull from main server for now)
...
Conflicts:
actions/apioauthaccesstoken.php
actions/apioauthauthorize.php
actions/apioauthrequesttoken.php
actions/editapplication.php
actions/newapplication.php
lib/apiauth.php
lib/queuemanager.php
lib/router.php
Diffstat (limited to 'tests/oauth/statusupdate.php')
-rw-r--r-- | tests/oauth/statusupdate.php | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/tests/oauth/statusupdate.php b/tests/oauth/statusupdate.php new file mode 100644 index 000000000..4aa230e28 --- /dev/null +++ b/tests/oauth/statusupdate.php @@ -0,0 +1,115 @@ +#!/usr/bin/env php +<?php +/* + * StatusNet - a distributed open-source microblogging tool + * Copyright (C) 2010, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + **/ + +define('INSTALLDIR', realpath(dirname(__FILE__) . '/../..')); + +require_once INSTALLDIR . '/extlib/OAuth.php'; + +$shortoptions = 'o:s:u:'; +$longoptions = array('oauth_token=', 'token_secret=', 'update='); + +$helptext = <<<END_OF_VERIFY_HELP + statusupdate.php [options] + Update your status using OAuth + + -o --oauth_token access token + -s --token_secret access token secret + -u --update status update + + +END_OF_VERIFY_HELP; + +$token = null; +$token_secret = null; +$update = null; + +require_once INSTALLDIR . '/scripts/commandline.inc'; + +if (have_option('o', 'oauth_token')) { + $token = get_option_value('oauth_token'); +} + +if (have_option('s', 'token_secret')) { + $token_secret = get_option_value('s', 'token_secret'); +} + +if (have_option('u', 'update')) { + $update = get_option_value('u', 'update'); +} + +if (empty($token)) { + print "Please specify an access token.\n"; + exit(1); +} + +if (empty($token_secret)) { + print "Please specify an access token secret.\n"; + exit(1); +} + +if (empty($update)) { + print "You forgot to update your status!\n"; + exit(1); +} + +$ini = parse_ini_file("oauth.ini"); + +$test_consumer = new OAuthConsumer($ini['consumer_key'], $ini['consumer_secret']); + +$endpoint = $ini['apiroot'] . '/statuses/update.xml'; + +print "$endpoint\n"; + +$at = new OAuthToken($token, $token_secret); + +$parsed = parse_url($endpoint); +$params = array(); +parse_str($parsed['query'], $params); + +$params['status'] = $update; + +$hmac_method = new OAuthSignatureMethod_HMAC_SHA1(); + +$req_req = OAuthRequest::from_consumer_and_token($test_consumer, $at, 'POST', $endpoint, $params); +$req_req->sign_request($hmac_method, $test_consumer, $at); + +$r = httpRequest($req_req->to_url()); + +$body = $r->getBody(); + +print "$body\n"; + +//print $req_req->to_url() . "\n\n"; + +function httpRequest($url) +{ + $request = HTTPClient::start(); + + $request->setConfig(array( + 'follow_redirects' => true, + 'connect_timeout' => 120, + 'timeout' => 120, + 'ssl_verify_peer' => false, + 'ssl_verify_host' => false + )); + + return $request->post($url); +} + |