58 lines
2.2 KiB
Python
58 lines
2.2 KiB
Python
|
# Copyright 2015 Google Inc. All rights reserved.
|
||
|
#
|
||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
# you may not use this file except in compliance with the License.
|
||
|
# You may obtain a copy of the License at
|
||
|
#
|
||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
#
|
||
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
# See the License for the specific language governing permissions and
|
||
|
# limitations under the License.
|
||
|
|
||
|
import unittest2
|
||
|
|
||
|
|
||
|
class Test_topic_name_from_path(unittest2.TestCase):
|
||
|
|
||
|
def _callFUT(self, path, project):
|
||
|
from gcloud.pubsub._helpers import topic_name_from_path
|
||
|
return topic_name_from_path(path, project)
|
||
|
|
||
|
def test_w_simple_name(self):
|
||
|
TOPIC_NAME = 'TOPIC_NAME'
|
||
|
PROJECT = 'my-project-1234'
|
||
|
PATH = 'projects/%s/topics/%s' % (PROJECT, TOPIC_NAME)
|
||
|
topic_name = self._callFUT(PATH, PROJECT)
|
||
|
self.assertEqual(topic_name, TOPIC_NAME)
|
||
|
|
||
|
def test_w_name_w_all_extras(self):
|
||
|
TOPIC_NAME = 'TOPIC_NAME-part.one~part.two%part-three'
|
||
|
PROJECT = 'my-project-1234'
|
||
|
PATH = 'projects/%s/topics/%s' % (PROJECT, TOPIC_NAME)
|
||
|
topic_name = self._callFUT(PATH, PROJECT)
|
||
|
self.assertEqual(topic_name, TOPIC_NAME)
|
||
|
|
||
|
|
||
|
class Test_subscription_name_from_path(unittest2.TestCase):
|
||
|
|
||
|
def _callFUT(self, path, project):
|
||
|
from gcloud.pubsub._helpers import subscription_name_from_path
|
||
|
return subscription_name_from_path(path, project)
|
||
|
|
||
|
def test_w_simple_name(self):
|
||
|
SUBSCRIPTION_NAME = 'SUBSCRIPTION_NAME'
|
||
|
PROJECT = 'my-project-1234'
|
||
|
PATH = 'projects/%s/subscriptions/%s' % (PROJECT, SUBSCRIPTION_NAME)
|
||
|
subscription_name = self._callFUT(PATH, PROJECT)
|
||
|
self.assertEqual(subscription_name, SUBSCRIPTION_NAME)
|
||
|
|
||
|
def test_w_name_w_all_extras(self):
|
||
|
SUBSCRIPTION_NAME = 'SUBSCRIPTION_NAME-part.one~part.two%part-three'
|
||
|
PROJECT = 'my-project-1234'
|
||
|
PATH = 'projects/%s/subscriptions/%s' % (PROJECT, SUBSCRIPTION_NAME)
|
||
|
topic_name = self._callFUT(PATH, PROJECT)
|
||
|
self.assertEqual(topic_name, SUBSCRIPTION_NAME)
|