def test_announcer_provider_with_acl(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset zk_auth = ZkAuth(auth=[Auth(scheme='s', credential='ca')], acl=[ Access(scheme='s', credential='cl', permissions=Permissions(create=True)) ]) dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', '', False, None, zk_auth) job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={}) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) dap.from_assigned_task(assigned_task, None) mock_client_provider.assert_called_once_with( 'zookeeper.example.com', connection_retry=dap.DEFAULT_RETRY_POLICY, auth_data=[('s', 'ca')], default_acl=[ACL(KazooPermissions.CREATE, Id('s', 'cl'))])
def test_announcer_provider_with_hostname(endpoint_mock_provider, mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', '/aurora', False, '10.2.3.4') job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={}) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) dap.from_assigned_task(assigned_task, None) assert endpoint_mock_provider.mock_calls == [call('10.2.3.4', 12345), call('10.2.3.4', 12345)]
def test_announcer_provider_with_hostname(endpoint_mock_provider, mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', '/aurora', False, '10.2.3.4') job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={}) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) dap.from_assigned_task(assigned_task, None) assert endpoint_mock_provider.mock_calls == [call('10.2.3.4', 12345), call('10.2.3.4', 12345)]
def test_default_announcer_provider(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', root='/aurora') job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={ 'http': 80, 'admin': 'primary' }) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) checker = dap.from_assigned_task(assigned_task, None) mock_client.start_async.assert_called_once_with() mock_serverset_provider.assert_called_once_with( mock_client, '/aurora/aurora/prod/proxy') assert checker.name() == 'announcer' assert checker.status is None
def test_announcer_provider_with_timeout(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client client_connect_event = threading.Event() mock_client.start_async.return_value = client_connect_event mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', root='/aurora') job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={ 'http': 80, 'admin': 'primary' }) health_check_config = HealthCheckConfig(initial_interval_secs=0.1, interval_secs=0.1) job = job(health_check_config=health_check_config) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) checker = dap.from_assigned_task(assigned_task, None) mock_client.start_async.assert_called_once_with() mock_serverset_provider.assert_called_once_with( mock_client, '/aurora/aurora/prod/proxy') checker.start() checker.start_event.wait() assert checker.status is not None
def test_announcer_provider_with_acl(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset zk_auth = ZkAuth(auth=[Auth(scheme='s', credential='ca')], acl=[Access(scheme='s', credential='cl', permissions=Permissions(create=True))]) dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', '', False, None, zk_auth) job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={}) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) dap.from_assigned_task(assigned_task, None) mock_client_provider.assert_called_once_with('zookeeper.example.com', connection_retry=dap.DEFAULT_RETRY_POLICY, auth_data=[('s', 'ca')], default_acl=[ACL(KazooPermissions.CREATE, Id('s', 'cl'))])
def test_default_announcer_provider(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', root='/aurora') job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={'http': 80, 'admin': 'primary'}) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) checker = dap.from_assigned_task(assigned_task, None) mock_client.start_async.assert_called_once_with() mock_serverset_provider.assert_called_once_with(mock_client, '/aurora/aurora/prod/proxy') assert checker.name() == 'announcer' assert checker.status is None
def test_default_announcer_provider(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider("zookeeper.example.com", root="/aurora") job = make_job("aurora", "prod", "proxy", "primary", portmap={"http": 80, "admin": "primary"}) assigned_task = make_assigned_task(job, assigned_ports={"primary": 12345}) checker = dap.from_assigned_task(assigned_task, None) mock_client.start_async.assert_called_once_with() mock_serverset_provider.assert_called_once_with(mock_client, "/aurora/aurora/prod/proxy") assert checker.name() == "announcer" assert checker.status is None
def test_announcer_provider_with_timeout(mock_client_provider, mock_serverset_provider): mock_client = create_autospec(spec=KazooClient, instance=True) mock_client_provider.return_value = mock_client client_connect_event = threading.Event() mock_client.start_async.return_value = client_connect_event mock_serverset = create_autospec(spec=ServerSet, instance=True) mock_serverset_provider.return_value = mock_serverset dap = DefaultAnnouncerCheckerProvider('zookeeper.example.com', root='/aurora') job = make_job('aurora', 'prod', 'proxy', 'primary', portmap={'http': 80, 'admin': 'primary'}) health_check_config = HealthCheckConfig(initial_interval_secs=0.1, interval_secs=0.1) job = job(health_check_config=health_check_config) assigned_task = make_assigned_task(job, assigned_ports={'primary': 12345}) checker = dap.from_assigned_task(assigned_task, None) mock_client.start_async.assert_called_once_with() mock_serverset_provider.assert_called_once_with(mock_client, '/aurora/aurora/prod/proxy') checker.start() checker.start_event.wait() assert checker.status is not None