Rename config to auth

This commit is contained in:
sneakypete81 2013-08-14 08:24:18 +01:00
parent 32965c716e
commit d7b74dc1da
4 changed files with 42 additions and 42 deletions

View file

@ -10,7 +10,7 @@ from trovebox import Trovebox
CONFIG_HOME_PATH = os.path.join("tests", "config") CONFIG_HOME_PATH = os.path.join("tests", "config")
CONFIG_PATH = os.path.join(CONFIG_HOME_PATH, "trovebox") CONFIG_PATH = os.path.join(CONFIG_HOME_PATH, "trovebox")
class TestConfig(unittest.TestCase): class TestAuth(unittest.TestCase):
def setUp(self): def setUp(self):
""" Override XDG_CONFIG_HOME env var, to use test configs """ """ Override XDG_CONFIG_HOME env var, to use test configs """
try: try:
@ -42,47 +42,47 @@ class TestConfig(unittest.TestCase):
""" Ensure the default config is loaded """ """ Ensure the default config is loaded """
self.create_config("default", "Test Default Host") self.create_config("default", "Test Default Host")
client = Trovebox() client = Trovebox()
config = client.config auth = client.auth
self.assertEqual(client.host, "Test Default Host") self.assertEqual(client.host, "Test Default Host")
self.assertEqual(config.consumer_key, "default_consumer_key") self.assertEqual(auth.consumer_key, "default_consumer_key")
self.assertEqual(config.consumer_secret, "default_consumer_secret") self.assertEqual(auth.consumer_secret, "default_consumer_secret")
self.assertEqual(config.token, "default_token") self.assertEqual(auth.token, "default_token")
self.assertEqual(config.token_secret, "default_token_secret") self.assertEqual(auth.token_secret, "default_token_secret")
def test_custom_config(self): def test_custom_config(self):
""" Ensure a custom config can be loaded """ """ Ensure a custom config can be loaded """
self.create_config("default", "Test Default Host") self.create_config("default", "Test Default Host")
self.create_config("custom", "Test Custom Host") self.create_config("custom", "Test Custom Host")
client = Trovebox(config_file="custom") client = Trovebox(config_file="custom")
config = client.config auth = client.auth
self.assertEqual(client.host, "Test Custom Host") self.assertEqual(client.host, "Test Custom Host")
self.assertEqual(config.consumer_key, "custom_consumer_key") self.assertEqual(auth.consumer_key, "custom_consumer_key")
self.assertEqual(config.consumer_secret, "custom_consumer_secret") self.assertEqual(auth.consumer_secret, "custom_consumer_secret")
self.assertEqual(config.token, "custom_token") self.assertEqual(auth.token, "custom_token")
self.assertEqual(config.token_secret, "custom_token_secret") self.assertEqual(auth.token_secret, "custom_token_secret")
def test_full_config_path(self): def test_full_config_path(self):
""" Ensure a full custom config path can be loaded """ """ Ensure a full custom config path can be loaded """
self.create_config("path", "Test Path Host") self.create_config("path", "Test Path Host")
full_path = os.path.abspath(CONFIG_PATH) full_path = os.path.abspath(CONFIG_PATH)
client = Trovebox(config_file=os.path.join(full_path, "path")) client = Trovebox(config_file=os.path.join(full_path, "path"))
config = client.config auth = client.auth
self.assertEqual(client.host, "Test Path Host") self.assertEqual(client.host, "Test Path Host")
self.assertEqual(config.consumer_key, "path_consumer_key") self.assertEqual(auth.consumer_key, "path_consumer_key")
self.assertEqual(config.consumer_secret, "path_consumer_secret") self.assertEqual(auth.consumer_secret, "path_consumer_secret")
self.assertEqual(config.token, "path_token") self.assertEqual(auth.token, "path_token")
self.assertEqual(config.token_secret, "path_token_secret") self.assertEqual(auth.token_secret, "path_token_secret")
def test_host_override(self): def test_host_override(self):
""" Ensure that specifying a host overrides the default config """ """ Ensure that specifying a host overrides the default config """
self.create_config("default", "Test Default Host") self.create_config("default", "Test Default Host")
client = Trovebox(host="host_override") client = Trovebox(host="host_override")
config = client.config auth = client.auth
self.assertEqual(config.host, "host_override") self.assertEqual(auth.host, "host_override")
self.assertEqual(config.consumer_key, "") self.assertEqual(auth.consumer_key, "")
self.assertEqual(config.consumer_secret, "") self.assertEqual(auth.consumer_secret, "")
self.assertEqual(config.token, "") self.assertEqual(auth.token, "")
self.assertEqual(config.token_secret, "") self.assertEqual(auth.token_secret, "")
def test_missing_config_files(self): def test_missing_config_files(self):
""" Ensure that missing config files raise exceptions """ """ Ensure that missing config files raise exceptions """

View file

@ -44,7 +44,7 @@ class TestHttp(unittest.TestCase):
def test_attributes(self): def test_attributes(self):
"""Check that the host attribute has been set correctly""" """Check that the host attribute has been set correctly"""
self.assertEqual(self.client.host, self.test_host) self.assertEqual(self.client.host, self.test_host)
self.assertEqual(self.client.config.host, self.test_host) self.assertEqual(self.client.auth.host, self.test_host)
@httpretty.activate @httpretty.activate
def test_get_with_http_scheme(self): def test_get_with_http_scheme(self):

View file

@ -1,5 +1,5 @@
""" """
config.py : OAuth Config File Parser auth.py : OAuth Config File Parser
""" """
from __future__ import unicode_literals from __future__ import unicode_literals
import os import os
@ -12,7 +12,7 @@ try:
except ImportError: except ImportError:
import StringIO as io # Python2 import StringIO as io # Python2
class Config(object): class Auth(object):
def __init__(self, config_file, host, def __init__(self, config_file, host,
consumer_key, consumer_secret, consumer_key, consumer_secret,
token, token_secret): token, token_secret):

View file

@ -13,7 +13,7 @@ except ImportError:
from .objects import TroveboxObject from .objects import TroveboxObject
from .errors import * from .errors import *
from .config import Config from .auth import Auth
if sys.version < '3': if sys.version < '3':
TEXT_TYPE = unicode TEXT_TYPE = unicode
@ -26,8 +26,8 @@ DUPLICATE_RESPONSE = {"code": 409,
class Http(object): class Http(object):
""" """
Base class to handle HTTP requests to an Trovebox server. Base class to handle HTTP requests to an Trovebox server.
If no parameters are specified, config is loaded from the default If no parameters are specified, auth config is loaded from the
location (~/.config/trovebox/default). default location (~/.config/trovebox/default).
The config_file parameter is used to specify an alternate config file. The config_file parameter is used to specify an alternate config file.
If the host parameter is specified, no config file is loaded and If the host parameter is specified, no config file is loaded and
OAuth tokens (consumer*, token*) can optionally be specified. OAuth tokens (consumer*, token*) can optionally be specified.
@ -42,11 +42,11 @@ class Http(object):
self._logger = logging.getLogger("trovebox") self._logger = logging.getLogger("trovebox")
self.config = Config(config_file, host, self.auth = Auth(config_file, host,
consumer_key, consumer_secret, consumer_key, consumer_secret,
token, token_secret) token, token_secret)
self.host = self.config.host self.host = self.auth.host
# Remember the most recent HTTP request and response # Remember the most recent HTTP request and response
self.last_url = None self.last_url = None
@ -67,11 +67,11 @@ class Http(object):
params = self._process_params(params) params = self._process_params(params)
url = self._construct_url(endpoint) url = self._construct_url(endpoint)
if self.config.consumer_key: if self.auth.consumer_key:
auth = requests_oauthlib.OAuth1(self.config.consumer_key, auth = requests_oauthlib.OAuth1(self.auth.consumer_key,
self.config.consumer_secret, self.auth.consumer_secret,
self.config.token, self.auth.token,
self.config.token_secret) self.auth.token_secret)
else: else:
auth = None auth = None
@ -106,13 +106,13 @@ class Http(object):
params = self._process_params(params) params = self._process_params(params)
url = self._construct_url(endpoint) url = self._construct_url(endpoint)
if not self.config.consumer_key: if not self.auth.consumer_key:
raise TroveboxError("Cannot issue POST without OAuth tokens") raise TroveboxError("Cannot issue POST without OAuth tokens")
auth = requests_oauthlib.OAuth1(self.config.consumer_key, auth = requests_oauthlib.OAuth1(self.auth.consumer_key,
self.config.consumer_secret, self.auth.consumer_secret,
self.config.token, self.auth.token,
self.config.token_secret) self.auth.token_secret)
with requests.Session() as session: with requests.Session() as session:
if files: if files:
# Need to pass parameters as URL query, so they get OAuth signed # Need to pass parameters as URL query, so they get OAuth signed