def test_connect_fail_on_retrieve(self):
     self.memcached = memcached.MemcachedDriver(port=9743)
     self.memcached.setUp()
     self.app = Application(("localhost", self.memcached.port))
     self.app.store_settings(b"foobar")
     self.memcached.cleanUp()
     self.assertRaises(AppException, self.app.retrieve_settings)
 def test_memcached_restarted(self):
     self.memcached = memcached.MemcachedDriver(port=9744)
     self.memcached.setUp()
     self.app = Application(("localhost", self.memcached.port))
     self.app.store_settings(b"foobar")
     self.memcached.reset()
     self.addCleanup(self.memcached.cleanUp)
     self.assertRaises(AppException, self.app.retrieve_settings)
Example #3
0
 def test_memcached(self):
     port = 11213
     self.useFixture(memcached.MemcachedDriver(port=port))
     self.assertEqual("memcached://localhost:%d" % port,
                      os.getenv("PIFPAF_URL"))
     self.assertEqual(str(port), os.getenv("PIFPAF_MEMCACHED_PORT"))
Example #4
0
    def _setUp(self):
        super(SwiftDriver, self)._setUp()

        self._ensure_xattr_support()

        if LOG.isEnabledFor(logging.DEBUG):
            s = _FakeSyslog(os.path.join(self.tempdir, "log"))
            s.start()
            self.addCleanup(s.stop)

        template_env = {
            "TMP_DIR": self.tempdir,
            "PORT": self.port,
            "ACCOUNT_PORT": self.account_port,
            "CONTAINER_PORT": self.container_port,
            "OBJECT_PORT": self.object_port,
            "MEMCACHED_PORT": self.memcached_port,
            "USER": getpass.getuser(),
        }

        for name in [
                "swift.conf", "proxy.conf", "account.conf", "container.conf",
                "object.conf", "container-sync-realms.conf", "sitecustomize.py"
        ]:
            self.template(name, template_env, os.path.join(self.tempdir, name))

        # swift requires data directory to exist: swift/commit/30fd4e
        disk = 'fakedisk'
        os.mkdir(os.path.join(self.tempdir, 'data'))
        os.mkdir(os.path.join(self.tempdir, 'data', disk))

        self.useFixture(memcached.MemcachedDriver(self.memcached_port))
        for name in ["object", "container", "account"]:
            path = os.path.join(self.tempdir, "%s.builder" % name)
            port = getattr(self, "%s_port" % name)
            self._exec(["swift-ring-builder", path, "create", "10", "1", "1"])
            self._exec([
                "swift-ring-builder", path, "add",
                "r1z1-127.0.0.1:%s/%s" % (port, disk), "1"
            ])
            self._exec(["swift-ring-builder", path, "rebalance"])

        # NOTE(sileht): to use sitecustomize.py that monkeypatch swift to be
        # able to start it in a virtualenv
        env = {'PYTHONPATH': self.tempdir}

        for name in ["object", "container", "account", "proxy"]:
            c, _ = self._exec([
                "swift-%s-server" % name,
                os.path.join(self.tempdir, "%s.conf" % name)
            ],
                              env=env,
                              wait_for_line="started")

        # NOTE(sileht): we have no log, so ensure it work before returning
        # swiftclient retries 3 times before give up
        testfile = os.path.join(self.tempdir, "pifpaf_test_file")
        self._touch(testfile)
        self._exec([
            "swift", "-A", "http://*****:*****@localhost:%d/auth/v1.0" %
            self.port)
        self.putenv(
            "URL", "swift://test%%3Atester:testing@localhost:%d/auth/v1.0" %
            self.port)
Example #5
0
 def test_store_and_retrieve_settings(self):
     self.memcached = self.useFixture(memcached.MemcachedDriver(port=9742))
     self.app = Application(("localhost", self.memcached.port))
     self.app.store_settings(b"foobar")
     self.assertEqual(b"foobar", self.app.retrieve_settings())
Example #6
0
 def setUp(self):
     super(TestWithMemcached, self).setUp()
     self.memcached = self.useFixture(memcached.MemcachedDriver(port=9742))