예제 #1
0
    def test_client(self):
        os.environ["DOCKER_HOSTS"] = '["http://host1.com:4243", \
            "http://localhost:4243"]'

        self.addCleanup(self.remove_env, "DOCKER_HOSTS")
        from redisapi.managers import DockerManager
        manager = DockerManager()
        client = manager.client()
        hosts = ["http://host1.com:4243", "http://localhost:4243"]
        self.assertIn(client.base_url, hosts)
예제 #2
0
 def test_running_without_the_REDIS_IMAGE_variable(self):
     del os.environ["REDIS_IMAGE"]
     with self.assertRaises(Exception) as cm:
         from redisapi.managers import DockerManager
         DockerManager()
     exc = cm.exception
     self.assertEqual(
         (u"You must define the REDIS_IMAGE environment variable.", ),
         exc.args,
     )
예제 #3
0
 def test_hc_zabbix(self, zabix_mock):
     os.environ["ZABBIX_URL"] = "url"
     os.environ["ZABBIX_USER"] = "******"
     os.environ["ZABBIX_PASSWORD"] = "******"
     os.environ["HEALTH_CHECKER"] = "zabbix"
     self.addCleanup(self.remove_env, "HEALTH_CHECKER")
     os.environ["ZABBIX_HOST"] = "2"
     os.environ["ZABBIX_INTERFACE"] = "1"
     from redisapi.hc import ZabbixHealthCheck
     from redisapi.managers import DockerManager
     manager = DockerManager()
     self.assertIsInstance(manager.health_checker(), ZabbixHealthCheck)
예제 #4
0
    def setUp(self):
        os.environ["SENTINEL_HOSTS"] = '["http://host1.com:4243", \
            "http://localhost:4243", "http://host2.com:4243"]'

        self.addCleanup(self.remove_env, "SENTINEL_HOSTS")
        os.environ["REDIS_SERVER_HOST"] = "localhost"
        self.addCleanup(self.remove_env, "REDIS_SERVER_HOST")
        os.environ["REDIS_IMAGE"] = "redisapi"
        self.addCleanup(self.remove_env, "REDIS_IMAGE")
        os.environ["DOCKER_HOSTS"] = '["http://host1.com:4243", \
            "http://localhost:4243"]'

        self.addCleanup(self.remove_env, "DOCKER_HOSTS")
        from redisapi.managers import DockerManager
        self.manager = DockerManager()
        client_mock = mock.Mock()
        client_mock.return_value = mock.Mock()
        self.manager.client = client_mock
        self.manager.health_checker = mock.Mock()
        self.storage = MongoStorage()
예제 #5
0
 def test_hc(self):
     from redisapi.hc import FakeHealthCheck
     from redisapi.managers import DockerManager
     manager = DockerManager()
     self.assertIsInstance(manager.health_checker(), FakeHealthCheck)
예제 #6
0
 def test_client_with_value(self):
     from redisapi.managers import DockerManager
     manager = DockerManager()
     host = "http://myhost.com"
     client = manager.client(host=host)
     self.assertEqual(client.base_url, host)
예제 #7
0
 def test_docker_host_from_hostname(self):
     from redisapi.managers import DockerManager
     manager = DockerManager()
     url = manager.docker_url_from_hostname("host.com")
     self.assertEqual(url, "http://host.com:4243")