From d0af90fc7d28cdde2d7f57404da1006576406d21 Mon Sep 17 00:00:00 2001 From: Joe Keen Date: Mon, 17 Aug 2015 10:59:44 -0600 Subject: [PATCH] Fixing keystone singleton problem Change-Id: I15adbf83b8445e5c952fda846c9e2e5b3f975d35 --- .gitignore | 1 + monasca_agent/common/keystone.py | 6 +++--- tests/test_keystone.py | 17 +++++++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 tests/test_keystone.py diff --git a/.gitignore b/.gitignore index 821d2e03..ef5047af 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ root AUTHORS ChangeLog *.egg* +.*.sw* diff --git a/monasca_agent/common/keystone.py b/monasca_agent/common/keystone.py index 8251eb4d..8ddf0a50 100644 --- a/monasca_agent/common/keystone.py +++ b/monasca_agent/common/keystone.py @@ -8,10 +8,10 @@ import monasca_agent.common.singleton as singleton log = logging.getLogger(__name__) +# Make this a singleton class so we don't get the token every time +# the class is created +@six.add_metaclass(singleton.Singleton) class Keystone(object): - # Make this a singleton class so we don't get the token every time - # the class is created - six.add_metaclass(singleton.Singleton) def __init__(self, config): self.config = config diff --git a/tests/test_keystone.py b/tests/test_keystone.py new file mode 100644 index 00000000..9afd8567 --- /dev/null +++ b/tests/test_keystone.py @@ -0,0 +1,17 @@ +import os.path +import tempfile +import unittest + +from monasca_agent.common.keystone import Keystone +from monasca_agent.common.util import is_valid_hostname +from monasca_agent.common.util import PidFile + + +class TestConfig(unittest.TestCase): + def testKeyStoneIsSingleton(self): + keystone_1 = Keystone({}) + keystone_2 = Keystone({}) + keystone_3 = Keystone({}) + + self.assertTrue(keystone_1 is keystone_2) + self.assertTrue(keystone_1 is keystone_3)