Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add implicit connection/project support to Topic ctor.
  • Loading branch information
tseaver committed Mar 26, 2015
commit 96b5925dc3827a3aebd8b6ef70464cb274e4f510
12 changes: 9 additions & 3 deletions gcloud/pubsub/test_topic.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,17 @@ def _makeOne(self, *args, **kw):
return self._getTargetClass()(*args, **kw)

def test_ctor_wo_inferred_project_or_connection(self):
from gcloud._testing import _monkey_defaults as _monkey_base_defaults
from gcloud.pubsub._testing import _monkey_defaults
TOPIC_NAME = 'topic_name'
topic = self._makeOne(TOPIC_NAME)
PROJECT = 'PROJECT'
conn = _Connection()
with _monkey_base_defaults(project=PROJECT):
with _monkey_defaults(connection=conn):
topic = self._makeOne(TOPIC_NAME)
self.assertEqual(topic.name, TOPIC_NAME)
self.assertEqual(topic.project, None)
self.assertEqual(topic.connection, None)
self.assertEqual(topic.project, PROJECT)
self.assertTrue(topic.connection is conn)

def test_ctor_w_explicit_project_and_connection(self):
TOPIC_NAME = 'topic_name'
Expand Down
6 changes: 6 additions & 0 deletions gcloud/pubsub/topic.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

import base64

from gcloud._helpers import get_default_project
from gcloud.exceptions import NotFound
from gcloud.pubsub._implicit_environ import get_default_connection


class Topic(object):
Expand All @@ -40,6 +42,10 @@ class Topic(object):
environment.
"""
def __init__(self, name, project=None, connection=None):
if project is None:
project = get_default_project()
if connection is None:
connection = get_default_connection()
self.name = name
self.project = project
self.connection = connection
Expand Down