Add fixtures to provide OAuth client, request and access models
This commit is contained in:
parent
128af9533f
commit
f751d346cf
@ -25,13 +25,16 @@ from webtest import TestApp
|
|||||||
|
|
||||||
from mediagoblin import mg_globals
|
from mediagoblin import mg_globals
|
||||||
from mediagoblin.db.models import User, MediaEntry, Collection, MediaComment, \
|
from mediagoblin.db.models import User, MediaEntry, Collection, MediaComment, \
|
||||||
CommentSubscription, CommentNotification, Privilege, CommentReport
|
CommentSubscription, CommentNotification, Privilege, CommentReport, Client, \
|
||||||
|
RequestToken, AccessToken
|
||||||
from mediagoblin.tools import testing
|
from mediagoblin.tools import testing
|
||||||
from mediagoblin.init.config import read_mediagoblin_config
|
from mediagoblin.init.config import read_mediagoblin_config
|
||||||
from mediagoblin.db.base import Session
|
from mediagoblin.db.base import Session
|
||||||
from mediagoblin.meddleware import BaseMeddleware
|
from mediagoblin.meddleware import BaseMeddleware
|
||||||
from mediagoblin.auth import gen_password_hash
|
from mediagoblin.auth import gen_password_hash
|
||||||
from mediagoblin.gmg_commands.dbupdate import run_dbupdate
|
from mediagoblin.gmg_commands.dbupdate import run_dbupdate
|
||||||
|
from mediagoblin.oauth.views import OAUTH_ALPHABET
|
||||||
|
from mediagoblin.tools.crypto import random_string
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@ -343,3 +346,62 @@ def fixture_add_comment_report(comment=None, reported_user=None,
|
|||||||
Session.expunge(comment_report)
|
Session.expunge(comment_report)
|
||||||
|
|
||||||
return comment_report
|
return comment_report
|
||||||
|
|
||||||
|
def fixture_add_oauth_client(client_name=None, client_type="native",
|
||||||
|
redirect_uri=None, contacts=None):
|
||||||
|
|
||||||
|
client_id = random_string(22, OAUTH_ALPHABET)
|
||||||
|
client_secret = random_string(43, OAUTH_ALPHABET)
|
||||||
|
|
||||||
|
client = Client(
|
||||||
|
id=client_id,
|
||||||
|
secret=client_secret,
|
||||||
|
expirey=None,
|
||||||
|
application_type=client_type,
|
||||||
|
application_name=client_name,
|
||||||
|
contacts=contacts,
|
||||||
|
redirect_uri=redirect_uri
|
||||||
|
)
|
||||||
|
client.save()
|
||||||
|
|
||||||
|
return client
|
||||||
|
|
||||||
|
def fixture_add_oauth_request_token(user, client=None):
|
||||||
|
if client is None:
|
||||||
|
client = fixture_add_oauth_client()
|
||||||
|
|
||||||
|
rt_token = random_string(22, OAUTH_ALPHABET)
|
||||||
|
rt_secret = random_string(43, OAUTH_ALPHABET)
|
||||||
|
rt_verifier = random_string(22, OAUTH_ALPHABET)
|
||||||
|
|
||||||
|
request_token = RequestToken(
|
||||||
|
token=rt_token,
|
||||||
|
secret=rt_secret,
|
||||||
|
user=user.id,
|
||||||
|
used=True,
|
||||||
|
authenticated=True,
|
||||||
|
verifier=rt_verifier,
|
||||||
|
)
|
||||||
|
request_token.save()
|
||||||
|
|
||||||
|
return request_token
|
||||||
|
|
||||||
|
def fixture_add_oauth_access_token(user, client=None, request_token=None):
|
||||||
|
if client is None:
|
||||||
|
client = fixture_add_oauth_client()
|
||||||
|
|
||||||
|
if request_token is None:
|
||||||
|
request_token = fixture_add_oauth_request_token(user)
|
||||||
|
|
||||||
|
at_token = random_string(22, OAUTH_ALPHABET)
|
||||||
|
at_secret = random_string(43, OAUTH_ALPHABET)
|
||||||
|
|
||||||
|
access_token = AccessToken(
|
||||||
|
token=at_token,
|
||||||
|
secret=at_secret,
|
||||||
|
user=user.id,
|
||||||
|
request_token=request_token.token
|
||||||
|
)
|
||||||
|
access_token.save()
|
||||||
|
|
||||||
|
return access_token
|
||||||
|
Loading…
x
Reference in New Issue
Block a user